export type PartnerCompanyNameOptionDto = {id?: string | undefined, name: string, entityTypeEnding: string, position?: number | undefined}; export type PartnerAddressDto = {id?: string | undefined, line1: string, line2?: string | undefined, city: string, state: string, postalCode: string, country: string, phone?: string | undefined}; export type PartnerResponsiblePartyDto = {id?: string | undefined, legalFirstName: string, legalLastName: string, ssn?: string | undefined, email: string, address?: PartnerAddressDto | undefined}; export type PartnerCompanyAddressDto = {provider: 'customer' | 'registeredAgent', type: 'mailing' | 'business', address?: PartnerAddressDto | undefined}; export type PartnerCompanyMemberDto = {id?: string | undefined, legalFirstName?: string | undefined, legalLastName?: string | undefined, contactFullName?: string | undefined, isNaturalPerson: boolean, address: PartnerAddressDto, ownershipPercent: number, ssn?: string | undefined}; export type PartnerCompanyManagerDto = {id?: string | undefined, legalFirstName: string, legalLastName: string, ssn?: string | undefined, email: string, address?: PartnerAddressDto | undefined}; export type PartnerCCorpExecMemberDto = {id?: string | undefined, type: 'President' | 'Secretary' | 'Treasurer' | 'Director', legalFirstName: string, legalLastName: string, ssn?: string | undefined, address: PartnerAddressDto}; export type PartnerCcorpValuationDto = {noOfShares: number, shareValue: number}; export type PartnerRegisteredAgentDto = {name: string, address: PartnerAddressDto}; export type ImportCompanyRequest = {doolaCustomerId: string, entityType: 'LLC' | 'CCorp', managementType?: ('MEMBER_MANAGED' | 'MANAGER_MANAGED') | undefined, state: string, nameOptions: Array, formationFilingDate: string, formationFilingNumber: string, ein?: string | undefined, industry: string, description: string, responsibleParty: PartnerResponsiblePartyDto, addresses: Array, members?: Array | undefined, managers?: Array | undefined, executiveMembers?: Array | undefined, ccorpValuation?: PartnerCcorpValuationDto | undefined, registeredAgent: PartnerRegisteredAgentDto}; export type CreateApiV1PartnerCompaniesImportArgs = {'Idempotency-Key': string, body: ImportCompanyRequest}; export type CreateApiV1PartnerCompaniesImportOptions = {baseUrl?: string | undefined, PartnerApiKey?: string | undefined, fetch?: typeof fetch | undefined}; /** * Import a company * * POST /v1/partner/companies/import */ export const createApiV1PartnerCompaniesImport = async (args: CreateApiV1PartnerCompaniesImportArgs, options?: CreateApiV1PartnerCompaniesImportOptions) => { const {baseUrl = "https://api.test.doola.com", fetch: fetchFn = fetch, PartnerApiKey} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") headers.set('accept', "*/*") if (args['Idempotency-Key'] != null) headers.set("Idempotency-Key", String(args['Idempotency-Key'])) if (PartnerApiKey !== undefined) headers.set("Authorization", PartnerApiKey) const url = `${baseUrl.replace(/\/+$/, '')}/v1/partner/companies/import${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "POST", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return res.blob() };