export type ConnectEventData = {format?: string | undefined, includeData?: Array | undefined, version?: string | undefined}; export type ConnectOAuthConfig = {authorizationServerUrl?: string | undefined, clientId?: string | undefined, clientSecret?: string | undefined, customParameters?: {[key: string]: string} | undefined, scope?: string | undefined}; export type ConnectSalesforceField = {dsAttribute?: string | undefined, dsLink?: string | undefined, dsNode?: string | undefined, id?: string | undefined, sfField?: string | undefined, sfFieldName?: string | undefined, sfFolder?: string | undefined, sfLockedValue?: string | undefined}; export type ConnectSalesforceObject = {active?: string | undefined, description?: string | undefined, id?: string | undefined, insert?: string | undefined, onCompleteOnly?: string | undefined, selectFields?: Array | undefined, sfObject?: string | undefined, sfObjectName?: string | undefined, updateFields?: Array | undefined}; export type ConnectCustomConfiguration = {allowEnvelopePublish?: string | undefined, allowSalesforcePublish?: string | undefined, allUsers?: string | undefined, allUsersExcept?: string | undefined, configurationType?: string | undefined, connectId?: string | undefined, deliveryMode?: string | undefined, disabledBy?: string | undefined, enableLog?: string | undefined, enableOAuthPerConfiguration?: string | undefined, envelopeEvents?: Array | undefined, eventData?: ConnectEventData | undefined, events?: Array | undefined, externalFolderId?: string | undefined, externalFolderLabel?: string | undefined, groupIds?: Array | undefined, includeCertificateOfCompletion?: string | undefined, includeCertSoapHeader?: string | undefined, includeDocumentFields?: string | undefined, includeDocuments?: string | undefined, includeEnvelopeVoidReason?: string | undefined, includeHMAC?: string | undefined, includeOAuth?: string | undefined, includeSenderAccountasCustomField?: string | undefined, includeTimeZoneInformation?: string | undefined, integratorManaged?: string | undefined, name?: string | undefined, oAuthConfiguration?: ConnectOAuthConfig | undefined, password?: string | undefined, pausePublish?: string | undefined, recipientEvents?: Array | undefined, requireMutualTls?: string | undefined, requiresAcknowledgement?: string | undefined, salesforceApiVersion?: string | undefined, salesforceAuthcode?: string | undefined, salesforceCallBackUrl?: string | undefined, salesforceDocumentsAsContentFiles?: string | undefined, senderOverride?: string | undefined, senderSelectableItems?: Array | undefined, sfObjects?: Array | undefined, signMessageWithX509Certificate?: string | undefined, soapNamespace?: string | undefined, urlToPublishTo?: string | undefined, userIds?: Array | undefined, userName?: string | undefined, useSoapInterface?: string | undefined}; export type UpdateApiV21AccountsAccountIdConnectArgs = {accountId: string, body: ConnectCustomConfiguration}; export type UpdateApiV21AccountsAccountIdConnectOptions = {baseUrl?: string | undefined, fetch?: typeof fetch | undefined}; /** * Updates a specified Connect configuration. * * PUT /v2.1/accounts/{accountId}/connect */ export const updateApiV21AccountsAccountIdConnect = async (args: UpdateApiV21AccountsAccountIdConnectArgs, options?: UpdateApiV21AccountsAccountIdConnectOptions) => { const {baseUrl = "https://www.docusign.net/restapi", fetch: fetchFn = fetch} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") headers.set('accept', "*/*") const url = `${baseUrl.replace(/\/+$/, '')}/v2.1/accounts/${encodeURIComponent(String(args.accountId))}/connect${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "PUT", 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() };