Skip to main content
Share lead information with team members, partners, and external stakeholders.

Short URLs

Generate shareable short URLs for leads:
curl -X POST "https://api.adaptengine.com/api/v1/share" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "leadId": "lead_abc123"
  }'
Response:
{
  "ok": true,
  "data": {
    "shortCode": "abc123",
    "url": "https://app.adaptengine.com/s/abc123",
    "leadId": "lead_abc123",
    "createdAt": 1706623200000,
    "clickCount": 0
  }
}

Resolving Short URLs

Get the lead from a short code:
curl "https://api.adaptengine.com/api/v1/share/resolve?code=abc123" \
  -H "Authorization: Bearer YOUR_TOKEN"

Click Tracking

Short URLs track click counts automatically.

Guest Invitations

Invite external users to view specific leads:
curl -X POST "https://api.adaptengine.com/api/v1/leads/{leadId}/guest-invites" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "partner@example.com",
    "expiresAt": "2024-03-01T00:00:00Z",
    "permissions": ["view"]
  }'

Invite Structure

interface GuestInvite {
  id: string;
  leadId: string;
  email: string;
  permissions: Permission[];
  invitedBy: string;
  invitedAt: number;
  expiresAt: number | null;
  acceptedAt: number | null;
  revokedAt: number | null;
}

type Permission = 'view' | 'comment';

Managing Invites

# List invites for a lead
curl "https://api.adaptengine.com/api/v1/leads/{leadId}/guest-invites" \
  -H "Authorization: Bearer YOUR_TOKEN"

# Revoke an invite
curl -X DELETE "https://api.adaptengine.com/api/v1/guest-invites/{inviteId}" \
  -H "Authorization: Bearer YOUR_TOKEN"

Public Lead Viewer

Guests access leads via a read-only public viewer that shows:
  • Project overview
  • Key details
  • Timeline
  • Limited contact information
Sensitive information like strategic scores and internal notes are hidden from guests.

URL Preview

Generate preview metadata for shared URLs:
curl "https://api.adaptengine.com/api/v1/share/preview?leadId=lead_abc123" \
  -H "Authorization: Bearer YOUR_TOKEN"
Response:
{
  "ok": true,
  "data": {
    "title": "Acme Tower Development",
    "description": "Mixed-use development in downtown...",
    "image": "https://...",
    "url": "https://app.adaptengine.com/s/abc123"
  }
}

Access Control

Access TypeDescription
Team memberFull access based on org role
Guest (view)Read-only, limited fields
Guest (comment)Read + add comments
Public linkAnonymous, very limited view

Best Practices

Use guest invitations for partners who need ongoing access. Use short URLs for quick one-time shares.
Always set expiration dates on guest invitations for security.

API Endpoints

MethodEndpointDescription
POST/api/v1/shareCreate short URL
GET/api/v1/share/resolveResolve short code
GET/api/v1/share/previewGet preview metadata
GET/api/v1/leads/{leadId}/guest-invitesList invites
POST/api/v1/leads/{leadId}/guest-invitesCreate invite
DELETE/api/v1/guest-invites/{id}Revoke invite