Install the Up2Data skill

Teach Claude Code to integrate the Up2Data API. Installs once, then loads automatically whenever you ask it about Up2Data.

  1. Run this in your terminal
    bash
    mkdir -p ~/.claude/skills/up2data-api && curl -fsSL https://up2data.ai/docs/legacy/skill.md -o ~/.claude/skills/up2data-api/SKILL.md
  2. Restart Claude CodeSo it picks up the new skill.
  3. Try it"Enrich these LinkedIn profiles with Up2Data and send results to my webhook"

Requires Claude Code. macOS, Linux, or WSL.

Prefer to read it first? View the skill file

Enqueue latest post

Enqueue LinkedIn profiles for latest post enrichment.

POSThttps://api.up2data.ai/api/open-refresh/latest-post
5 creditsasynchronous

Enqueue LinkedIn profiles for latest post enrichment: what did this person publish most recently? Send the same profile URLs or LinkedIn slugs you would send to profiles-bulk, and get back one Post record per profile holding a single item - the commentary, the date, and whether it was their own writing or a repost.

Use profiles-activity instead for the full history of posts, comments and reactions rather than the newest item, or profiles-posts for that history for posts alone.

Warning

Ensure you have sufficient credits before making requests - see the credit pill above.

Info

Your profiles array is normalized and de-duplicated before anything is charged, so you pay for enqueued, not for what you sent. skipped reports what was removed and why. If nothing survives filtering, you get a 400 and no queue is created.

Info

A latest-post queue's results belong to the queue itself. Read them back with queues-list or wait for the webhook callback, and see Post for the shape.

#Request

FieldTypeNotes
profilesrequiredstring[]LinkedIn profile URLs or bare slugs.
namestringOptional.
prioritynumberOptional, 1 = High, 2 = Normal, 3 = Low, defaults to 2.
webhookTagsstring[]Optional, defaults to every webhook on the team. Send [] to switch callbacks off - see the Webhooks guide.

#Call it

cURL
curl -X POST "https://api.up2data.ai/api/open-refresh/latest-post" \
  -H "Authorization: YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Q1 Leads Latest Post",
  "profiles": [
    "https://www.linkedin.com/in/johndoe",
    "https://www.linkedin.com/in/janedoe",
    "johndoe123"
  ],
  "priority": 2
}'

#Response

200 - Success
{
  "message": "3 latest post items have been enqueued (15 credits).",
  "queueId": "507f1f77bcf86cd799439011",
  "enqueued": 3,
  "skipped": {
    "invalid": 0,
    "duplicates": 0
  },
  "webhooks": [
    {
      "_id": "6512c1a4f1b2c3d4e5f60789",
      "name": "Production",
      "url": "https://api.example.com/hooks/up2data"
    }
  ]
}
400 - Error
{
  "message": "No valid profiles to enqueue: of 4 submitted, 1 were invalid and 3 were duplicates."
}

#Webhook payload

Callback item
{
  "queueId": "507f1f77bcf86cd799439011",
  "name": "Q1 Leads Latest Post",
  "url": "https://www.linkedin.com/in/johndoe",
  "type": "LatestPost",
  "status": 200,
  "_id": "8f14e45fceea167a5a36dedd4bea2548",
  "result": { ... }
}

#Errors

StatusTypeWhen
400No valid profiles to enqueueEvery entry in profiles was invalid or a duplicate after normalization, so no queue was created.
400No webhook matches webhookTagsOne or more webhookTags do not match any webhook on the team.

See the Errors guide for every error type this version can return.