Create one automation key
Open Integrations in the dashboard and create an automation key. It includes projects:read and projects:write for project creation and status checks.
Create projects from another app, read setup status, and receive signed webhooks without asking a user to click around the dashboard.
https://backlinkjet.ai/api/v1Open Integrations in the dashboard and create an automation key. It includes projects:read and projects:write for project creation and status checks.
When a new project, client, or site arrives in another tool, POST the domain to LinkJet. Existing domains are reused instead of duplicated.
Poll the status endpoint or add webhooks so your tool knows when setup progress, next actions, and site checks change.
Requires an automation key with projects:write.
# Requires projects:write
curl -X POST \
-H "Authorization: Bearer $LINKJET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"domain":"https://example.com","name":"Example"}' \
https://backlinkjet.ai/api/v1/projectsRequires projects:read.
curl -H "Authorization: Bearer $LINKJET_API_KEY" \
https://backlinkjet.ai/api/v1/projects/{projectId}/statusUse this URL in tools that accept OpenAPI schemas. It includes the project endpoints and webhook event contracts.
https://backlinkjet.ai/api/v1/openapi.json
Use this before trusting a signed webhook delivery.
import crypto from "node:crypto";
export function verifyLinkJetWebhook(rawBody, headers, secret) {
const signature = headers["LinkJet-Signature"] || headers["linkjet-signature"] || "";
const parts = Object.fromEntries(signature.split(",").map((part) => part.split("=")));
const timestamp = parts.t;
const expected = crypto.createHmac("sha256", secret).update(timestamp + "." + rawBody).digest("hex");
const actualBuffer = Buffer.from(parts.v1 || "", "hex");
const expectedBuffer = Buffer.from(expected, "hex");
return actualBuffer.length === expectedBuffer.length && crypto.timingSafeEqual(actualBuffer, expectedBuffer);
}Zapier, Make, n8n, Retool, internal dashboards, and client portals can call the same endpoints. Use the OpenAPI JSON when a tool asks for an API schema.