Skip to content

Grinfi.io API (2.0.0)

Complete API reference for Grinfi.io — the all-in-one LinkedIn & email outreach platform. Use this API to manage your CRM contacts, run outreach automations, send messages, and integrate Grinfi with your own tools.

Authentication

All requests require a Bearer token in the Authorization header.

  1. Log in at leadgen.grinfi.io
  2. Go to Settings → API Keys
  3. Copy your key and pass it as:
    Authorization: Bearer YOUR_API_KEY

Pagination

List endpoints support limit (default 20) and offset (default 0) query parameters. Responses include total count and has_more boolean.

Filtering

Most list endpoints accept a filter object. Supported value types: | Type | Example | SQL equivalent | |------|---------|----------------| | Scalar | "status": "ok" | = 'ok' | | Array | "status": ["ok", "pending"] | IN ('ok', 'pending') | | Object | "created_at": {">=": "2024-01-01"} | >= '2024-01-01' | | "is_null" | "email": "is_null" | IS NULL | | "is_not_null" | "email": "is_not_null" | IS NOT NULL | Supported operators: =, !=, <, <=, >, >=, <>

Rate Limits

API requests are rate-limited per account. If you exceed the limit, you'll receive a 429 response. Use exponential backoff when retrying.

Download OpenAPI description
Overview
URL
Grinfi.io Support
License
Languages
Servers
Production
https://leadgen.grinfi.io

Manage your CRM contacts (leads). Search, create, update, and organize contacts across lists and pipeline stages.

Operations

Manage company records in your CRM. Companies can be linked to contacts and enriched with additional data from LinkedIn.

Operations

Organize contacts into lists. Every contact must belong to a list. Use lists to segment your audience for outreach campaigns.

Operations

Label contacts and companies with custom tags for easy filtering and segmentation.

Operations

Define and manage pipeline stages to track where each contact stands in your sales or outreach process.

Operations

Extend contact and company records with custom data fields. Store any additional information relevant to your workflow.

Operations

Add internal notes to contacts or companies for your team's reference.

Operations

Manage outreach automation sequences. Automations define multi-step workflows that send LinkedIn messages, emails, and perform other actions on a schedule.

Operations

Create and manage outreach tasks such as sending LinkedIn messages or emails. Tasks can be created manually or generated by automations.

Operations

Sender profiles represent the LinkedIn and email accounts used to send outreach messages. Each profile links a LinkedIn browser and/or email mailbox.

Operations

Send and retrieve LinkedIn messages through your connected sender profiles.

Operations

Request

Send a LinkedIn message to a contact through a sender profile. The message will be queued and sent via the linked LinkedIn account.

Security
bearerAuth
Bodyapplication/jsonrequired
sender_profile_uuidstringrequired
lead_uuidstringrequired
textstringrequired
Example: "Hi John, thanks for connecting!"
template_uuidstring

Optional AI template UUID.

attachmentsArray of objects
curl -i -X POST \
  https://leadgen.grinfi.io/flows/api/linkedin-messages \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "sender_profile_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "lead_uuid": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
    "text": "Hi John, thanks for connecting!"
  }'

Responses

Message queued.

Bodyapplication/json
uuidstring
team_idinteger
sender_profile_uuidstring
linkedin_account_uuidstring
linkedin_conversation_uuidstring
lead_uuidstring
task_pipeline_uuidstring or null
template_uuidstring or null
message_hashstring or null
textstring
Example: "Hi John, thanks for connecting!"
custom_contentArray of arrays or null or null
attachmentsArray of arrays or null or null
typestring

inbox or outbox.

Example: "outbox"
automationstring

auto or manual.

statusstring
Example: "sent"
fail_reasonstring or null
read_atstring or null(date-time)
sent_atstring or null(date-time)
user_idinteger
Response
application/json
{ "uuid": "string", "team_id": 0, "sender_profile_uuid": "string", "linkedin_account_uuid": "string", "linkedin_conversation_uuid": "string", "lead_uuid": "string", "task_pipeline_uuid": "string", "template_uuid": "string", "message_hash": "string", "text": "Hi John, thanks for connecting!", "custom_content": [], "attachments": [], "type": "outbox", "automation": "string", "status": "sent", "fail_reason": "string", "read_at": "2019-08-24T14:15:22Z", "sent_at": "2019-08-24T14:15:22Z", "user_id": 0 }

Request

Delete a LinkedIn message record.

Security
bearerAuth
Path
uuidstringrequired

Resource UUID.

curl -i -X DELETE \
  'https://leadgen.grinfi.io/flows/api/linkedin-messages/{uuid}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Deleted.

Send and retrieve emails through your connected mailboxes.

Operations

Manage email mailboxes (SMTP/IMAP, Gmail, Outlook) used for sending and receiving emails in outreach campaigns.

Operations

Manage AI message templates for generating personalized outreach messages at scale.

Operations