API v2 migration

Migrate to Crove API v2

Legacy API endpoints retired on 19 June 2026. Old integration paths return 410 Gone with no shim. This guide gets your API calls, no-code connectors, and webhooks onto v2.

Recommended next step for Direct REST API: Move to the v2 base URL, send X-Api-Key, replace retired paths, and update webhook code.

Open API guide

Paste your error

Local decoder only. It recognizes 410, 403 quota_required, 308, and 401 migration failures.

What changed at a glance

Base URL

https://api.crove.app/api/external/v2

Use v2 directly; do not rely on v1 redirects.

Auth

X-Api-Key: <key>

API keys are unscoped. One key works across v2.

Legacy API

410 Gone

No compatibility shim for retired integration paths.

Webhook events

recipient.submitted

recipient.signed also maps here.

Your checklist

Migration checklist

0 of 5 complete for this path.

Old to new endpoint map

/api/integrations/external/*

410 Gone

/api/external/v2/*

The old integration surface is retired with no compatibility shim.

/api/integrations/template-webhooks/*

410 Gone

/api/external/v2/webhooks*

Webhook registration moved to the v2 webhooks endpoints.

/api/external/v1/*

308 -> v2

/api/external/v2/*

The redirect works, but clients should repoint directly to v2.

/api/integrations/esahayak/documents/create/

Live

No migration

This eSahayak endpoint is still live and unchanged.

Webhook event renames

document.response.submitted

recipient.submitted

Use for submitted recipient responses.

recipient.signed

recipient.submitted

Do not map this to document.completed.

Canonical set

recipient.submitteddocument.completedexport.completeddocument.opened

Webhook signature formula

Crove sends X-Crove-Signature: t=<unix>,v1=<hex>. Verify v1 = HMAC-SHA256(secret, "<t>.<raw_body>") and dedupe deliveries on payload id.

Node
const signed = `${timestamp}.${rawBody}`;
const expected = hmacSha256Hex(webhookSecret, signed);
if (expected !== receivedV1) throw new Error("Invalid Crove signature");

Cutover timeline

  1. 2026-06-04

    API v2 published

    The public v2 surface shipped at /api/external/v2 with the Scalar reference.

  2. 2026-06-19

    Legacy integration API retired

    Old /api/integrations/external and /template-webhooks paths began returning 410 Gone.

  3. 2026-06-19

    v1 redirects to v2

    /api/external/v1 redirects with 308, but integrations should repoint directly to v2.

  4. Now

    Connector recovery

    Reconnect no-code tools, update webhook events, and verify signatures with the v2 scheme.

Next pages