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

Request

Retrieve all custom field definitions for contacts and companies.

Security
bearerAuth
Query
limitinteger(int32)

Items per page (default 20).

Default 20
Example: limit=20
offsetinteger(int32)

Items to skip (default 0).

Default 0
Example: offset=0
order_fieldstring

Sort field (default created_at).

Default "created_at"
Example: order_field=created_at
order_typestring

Sort direction.

Default "asc"
Enum"asc""desc"
Example: order_type=asc
curl -i -X GET \
  'https://leadgen.grinfi.io/leads/api/custom-fields?limit=20&offset=0&order_field=created_at&order_type=asc' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

List of custom fields.

Bodyapplication/json
dataArray of objects(custom-field)
Response
application/json
{ "data": [ { … } ] }

Request

Define a new custom field for contacts or companies.

Security
bearerAuth
Bodyapplication/jsonrequired
namestringrequired

Field name.

Example: "Industry Vertical"
objectstringrequired

Whether this field applies to contacts or companies.

Enum"lead""company"
Example: "lead"
orderinteger

Display order.

curl -i -X POST \
  https://leadgen.grinfi.io/leads/api/custom-fields \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Industry Vertical",
    "object": "lead",
    "order": 0
  }'

Responses

Custom field created.

Bodyapplication/json
uuidstring
team_idinteger
user_idinteger
namestring
Example: "Industry Vertical"
objectstring
Enum"lead""company"
orderinteger
Response
application/json
{ "uuid": "string", "team_id": 0, "user_id": 0, "name": "Industry Vertical", "object": "lead", "order": 0 }

Request

Update a custom field's name or order.

Security
bearerAuth
Path
uuidstringrequired

Resource UUID.

Bodyapplication/jsonrequired
namestring
orderinteger
curl -i -X PUT \
  'https://leadgen.grinfi.io/leads/api/custom-fields/{uuid}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "string",
    "order": 0
  }'

Responses

Updated field.

Bodyapplication/json
uuidstring
team_idinteger
user_idinteger
namestring
Example: "Industry Vertical"
objectstring
Enum"lead""company"
orderinteger
Response
application/json
{ "uuid": "string", "team_id": 0, "user_id": 0, "name": "Industry Vertical", "object": "lead", "order": 0 }

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

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