Endpoints
Networking Endpoints
Manage networking campaigns, enroll profiles for connection outreach, and send connection requests or direct messages
The networking tag contains endpoints for automating LinkedIn connection campaigns, checking connection status, and sending connection requests or direct messages.
List Networking Campaigns
GET /v2/networking/campaigns
Lists workspace networking campaigns.
Authentication
Required: bearer token.
Example Request
curl -X GET "https://api.teamfluence.com/v2/networking/campaigns" \
-H "Authorization: ******" \
-H "Accept: application/json"Response Fields (NetworkingCampaignList)
| Field | Type | Notes |
|---|---|---|
| total | integer | Total number of campaigns |
| items | array | List of campaign objects, see Campaign Object |
| has_more | boolean | Whether more results are available |
| cursor | string | null | Cursor token for the next page |
Campaign Object
| Field | Type | Notes |
|---|---|---|
| id | string | Campaign identifier |
| name | string | Campaign name |
| status | string | DRAFT, ACTIVE, COMPLETED, or ARCHIVED |
| creator | object | Workspace user who created the campaign, see Workspace Endpoints |
| participants | array | Workspace users participating in the campaign |
| description | string | null | Campaign description |
| contacts | array | Enrolled contacts, see Contact Object |
Contact Object
| Field | Type | Notes |
|---|---|---|
| id | string | Contact identifier |
| first_name | string | null | Contact first name |
| last_name | string | null | Contact last name |
| linkedin_urn | string | null | LinkedIn URN identifier |
| linkedin_handle | string | null | LinkedIn public handle |
Example Response
{
"total": 1,
"items": [
{
"id": "camp_abc123",
"name": "Q3 Outbound",
"status": "ACTIVE",
"creator": {
"id": "usr_123",
"email": "owner@example.com",
"first_name": "Alex",
"last_name": "Doe",
"is_active_seat": true,
"integration_status": "CONNECTED",
"linkedin_username": "alex-doe",
"last_linkedin_update": "2026-07-20T11:41:09Z"
},
"participants": [],
"description": "Outreach to Q3 pipeline contacts",
"contacts": [
{
"id": "cont_001",
"first_name": "Jane",
"last_name": "Smith",
"linkedin_urn": "ACoAAB1234567",
"linkedin_handle": "jane-smith"
}
]
}
],
"has_more": false,
"cursor": null
}Get Networking Campaign Details
GET /v2/networking/campaigns/{campaign_id}
Retrieves networking campaign details. The response uses the same campaign object described in Campaign Object.
Authentication
Required: bearer token.
Path Parameter
| Name | Type | Required |
|---|---|---|
| campaign_id | string | yes |
Example Request
curl -X GET "https://api.teamfluence.com/v2/networking/campaigns/camp_abc123" \
-H "Authorization: ******" \
-H "Accept: application/json"Responses
| Status | Description |
|---|---|
| 200 | Campaign details returned as a Campaign Object |
| 422 | Validation error — check campaign_id |
Example Response
{
"id": "camp_abc123",
"name": "Q3 Outbound",
"status": "ACTIVE",
"creator": {
"id": "usr_123",
"email": "owner@example.com",
"first_name": "Alex",
"last_name": "Doe",
"is_active_seat": true,
"integration_status": "CONNECTED",
"linkedin_username": "alex-doe",
"last_linkedin_update": "2026-07-20T11:41:09Z"
},
"participants": [],
"description": "Outreach to Q3 pipeline contacts",
"contacts": [
{
"id": "cont_001",
"first_name": "Jane",
"last_name": "Smith",
"linkedin_urn": "ACoAAB1234567",
"linkedin_handle": "jane-smith"
}
]
}Extend Networking Campaign
PUT /v2/networking/campaigns/\{campaign_id\}
Adds one or more LinkedIn profiles to an existing networking campaign. Each profile will be enrolled for automated connection outreach.
Authentication
Required: bearer token.
Path Parameter
| Name | Type | Required |
|---|---|---|
| campaign_id | string | yes |
Request Body
| Field | Type | Required | Notes |
|---|---|---|---|
| profiles | array | yes | List of profiles to enroll |
Profile Object
| Field | Type | Required | Notes |
|---|---|---|---|
| username | string | yes | LinkedIn username / public handle |
| linkedin_urn | string | null | no | LinkedIn URN identifier |
| first_name | string | null | no | Profile first name |
| last_name | string | null | no | Profile last name |
| string | null | no | Profile email address | |
| crm_id | string | null | no | External CRM record identifier |
Example Request
curl -X PUT "https://api.teamfluence.com/v2/networking/campaigns/<campaign_id>" \
-H "Authorization: Bearer $TEAMFLUENCE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"profiles": [
{
"username": "jane-smith",
"first_name": "Jane",
"last_name": "Smith",
"email": "jane@acme.com",
"crm_id": "crm_001"
},
{
"username": "john-doe"
}
]
}'Responses
| Status | Description |
|---|---|
| 200 | Profiles successfully added to the campaign |
| 422 | Validation error — check request body structure |
Example Response
{}Tip
Each profile requires at minimum a username (LinkedIn public handle). Providing crm_id enables cross-referencing with your CRM after campaign completion.
Check If Relation Exists
PATCH /v2/networking/connections/check
Checks if the target team member has an existing LinkedIn connection with a specified contact. You must specify either contact_urn or lead_id.
Authentication
Required: bearer token.
Request Body (RelationRequestBase)
| Field | Type | Required | Notes |
|---|---|---|---|
| team_member_id | string | yes | ID of the team member whose connections are checked |
| contact_urn | string | null | no | LinkedIn URN of the contact, format ACoxxxxxxxxxxxx |
| lead_id | string | null | no | ID of the lead this request relates to |
Note
Provide either contact_urn or lead_id, not both.
Example Request
curl -X PATCH "https://api.teamfluence.com/v2/networking/connections/check" \
-H "Authorization: ******" \
-H "Content-Type: application/json" \
-d '{
"team_member_id": "usr_123",
"lead_id": "lead_abc123"
}'Responses
| Status | Description |
|---|---|
| 200 | Relation status returned as a RelationStatusResponse |
| 422 | Validation error — check request body structure |
Example Response
{
"exists": true
}Send Relation Request
POST /v2/networking/connections/send
Sends a LinkedIn connection request to a contact. You must specify either contact_urn or lead_id.
Authentication
Required: bearer token.
Request Body (RelationRequestPayload)
| Field | Type | Required | Notes |
|---|---|---|---|
| team_member_id | string | yes | ID of the team member sending the request |
| contact_urn | string | null | no | LinkedIn URN of the contact, format ACoxxxxxxxxxxxx |
| lead_id | string | null | no | ID of the lead this request relates to |
| message | string | null | no | Optional note to include with the connection request |
Note
Provide either contact_urn or lead_id, not both.
Example Request
curl -X POST "https://api.teamfluence.com/v2/networking/connections/send" \
-H "Authorization: ******" \
-H "Content-Type: application/json" \
-d '{
"team_member_id": "usr_123",
"lead_id": "lead_abc123",
"message": "Great connecting with you at the conference!"
}'Responses
| Status | Description |
|---|---|
| 200 | Connection request sent successfully |
| 400 | Invalid lead_id or contact_urn — didn't match any existing LinkedIn contact |
| 403 | Invalid team_member_id |
| 422 | Validation error — check request body structure |
Example Response
{}Send DM to Connection
POST /v2/networking/connections/direct-message
Sends a direct message to a contact if an existing LinkedIn connection exists. You must specify either contact_urn or lead_id.
Authentication
Required: bearer token.
Request Body (RelationRequestPayload)
| Field | Type | Required | Notes |
|---|---|---|---|
| team_member_id | string | yes | ID of the team member sending the message |
| contact_urn | string | null | no | LinkedIn URN of the contact, format ACoxxxxxxxxxxxx |
| lead_id | string | null | no | ID of the lead this request relates to |
| message | string | null | no | Direct message content |
Note
Provide either contact_urn or lead_id, not both.
Example Request
curl -X POST "https://api.teamfluence.com/v2/networking/connections/direct-message" \
-H "Authorization: ******" \
-H "Content-Type: application/json" \
-d '{
"team_member_id": "usr_123",
"lead_id": "lead_abc123",
"message": "Thanks for connecting! Let me know if you have any questions."
}'Responses
| Status | Description |
|---|---|
| 200 | Direct message sent successfully |
| 400 | Invalid lead_id or contact_urn — didn't match any existing LinkedIn contact |
| 403 | Invalid team_member_id |
| 406 | LinkedIn user is not connected with the current team member — send a relation request instead |
| 422 | Validation error — check request body structure |
Example Response
{}Tip
Use Check If Relation Exists before sending a direct message to confirm a connection is already established.