public async terminate()

in src/durableClient/DurableClient.ts [504:530]


    public async terminate(instanceId: string, reason: string): Promise<void> {
        const idPlaceholder = this.clientData.managementUrls.id;
        let requestUrl: string;
        if (this.clientData.rpcBaseUrl) {
            // Fast local RPC path
            requestUrl = new URL(
                `instances/${instanceId}/terminate?reason=${reason}`,
                this.clientData.rpcBaseUrl
            ).href;
        } else {
            // Legacy app frontend path
            requestUrl = this.clientData.managementUrls.terminatePostUri
                .replace(idPlaceholder, instanceId)
                .replace(this.reasonPlaceholder, reason);
        }

        const response = await this.axiosInstance.post(requestUrl);
        switch (response.status) {
            case 202: // terminate accepted
            case 410: // instance completed or failed
                return;
            case 404:
                return Promise.reject(new Error(`No instance with ID '${instanceId}' found.`));
            default:
                return Promise.reject(this.createGenericError(response));
        }
    }