Date: April 2026
API Reference: api.grinfi.io
We've completely overhauled our public API documentation. The new version covers 124 endpoints across 6 categories - every single one tested against production.
What's New
🔗 Webhooks (6 endpoints)
You can now manage webhooks entirely through the API:
Create, update, delete, and list webhooks
Test webhook delivery before going live
Supported events:
contact_replied_email,contact_replied_linkedin_message,contact_exported,contact_enriched
👤 Account & Teams (3 endpoints)
Get current user profile
List your teams
Get team details
🌐 LinkedIn Browsers (7 endpoints)
Full control over your LinkedIn browser profiles:
List, create, update, and delete browsers
Start and stop browser sessions
Change proxy settings
Share browser access with team members
📁 Automation Folders (3 endpoints)
Organize your automations into folders:
List, create, and update automation folders (workspaces)
📥 Data Sources (5 endpoints)
Manage LinkedIn import jobs:
List, create, update, and delete data sources
Supported types: CSV, Sales Navigator search, LinkedIn search, and more
Track import status:
not_started,in_progress,completed,failed
📊 Automation Metrics (1 endpoint)
Get performance metrics for one or more automations in a single call - leads count, in-progress, finished, failed, and task breakdowns.
⚡ Contacts Mass Action (1 endpoint)
Perform bulk operations on contacts:
Add/remove/replace tags
Change list or pipeline stage
Update custom fields
Add to or cancel from automations
Delete or export contacts
What's Improved
✅ Accurate Schemas
All response schemas have been verified against real API responses:
Schedule - corrected to use
min/max(minutes from midnight), notfrom/toTasks - added 15+ fields:
payload,attempts,error_msg,priority,automation_error_code, and moreSender Profiles - added
smart_limits_enabled,avatar_url,schedule,hold_tasks_tillLinkedIn Messages - added
linkedin_type,fail_reason,read_at,sent_atAutomations - added
use_sender_scheduleError responses - now match the actual format with
reason,message,data
📋 Complete Enums
Every enum now lists all possible values:
Contact statuses, LinkedIn statuses, email statuses
Task types and statuses (including
skipped)Activity types (12+ types documented)
Automation statuses
Data source types and statuses
📝 Better Descriptions
Rate limit documented: 300 requests/minute
Contact deduplication priority explained
Custom fields usage clarified (use
upsertorcustom-field-values, notPUT /leads)Filter system documented with all operators:
>=,<=,>,<,=,!=,is_null,is_not_nullActivities filter: JSON string format, not separate query parameters
Removed (Non-functional)
We removed endpoints that existed in documentation but don't work on the Grinfi platform:
File Import/Export (use the UI for CSV imports)
Flow Versions (internal feature)
Some LinkedIn Browser operations (
proxy countries,check-proxy)
Quick Start
The Quick Start guide has been updated with:
Webhooks section in the API overview
LinkedIn connection status check example
Custom fields usage with two approaches (individual or via
upsert)
API Structure
Category | What's included |
Account | Current user, Teams |
CRM | Contacts, Companies, Lists, Tags, Pipeline, Custom Fields, Notes, Activities, Data Sources |
Outreach | Automations, Automation Folders, Tasks, Sender Profiles |
Messaging | LinkedIn Messages, Emails, Mailboxes |
Browsers | LinkedIn Browser profiles |
Integrations | Webhooks |
Full reference: api.grinfi.io