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://docs.up2data.ai/v1/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

Resume a signal

Reactivate a paused signal, whether you paused it or Up2Data did.

POSThttps://api.up2data.ai/v1/signals/{signal_id}/resume
Freesynchronous

Sets active to true and clears pause_reason. If next_run_at is already in the past the signal fires straight away, otherwise it waits for its next tick. A step that was skipped because of the pause, for example the run that hit insufficient_credits, is retried under the same run_number, so no step is lost. Idempotent on an active signal.

#Request

FieldTypeNotes
signal_idrequiredstringPath parameter. The signal_id returned by POST /signals.

#Call it

cURL
curl -X POST "https://api.up2data.ai/v1/signals/9d1f4c2e-7b3a-4e8f-a1c5-2f6b8d9e0a11/resume" \
  -H "X-API-Key: YOUR_API_KEY"

#Response

200
{
  "data": {
    "signal_id": "9d1f4c2e-7b3a-4e8f-a1c5-2f6b8d9e0a11",
    "name": "Watch key accounts",
    "status": "active",
    "active": true,
    "pause_reason": null,
    "schedule": { "interval_ms": 86400000, "start_at": "2026-11-01T08:00:00Z", "ends_at": null, "max_runs": 30 },
    "run_count": 3,
    "next_run_at": "2026-11-04T08:00:00Z",
    "last_run_at": "2026-11-03T08:00:00Z",
    "last_job_id": "job_7hd92kfa",
    "last_error": null,
    "completed_at": null,
    "request": {
      "items": [
        { "type": "profile", "url": "https://linkedin.com/in/a" },
        { "type": "company", "url": "https://linkedin.com/company/acme" }
      ],
      "webhook_url": "https://your-server.com/hooks/up2data"
    },
    "created_at": "2026-10-30T12:00:00Z",
    "updated_at": "2026-11-03T08:00:01Z"
  },
  "meta": { "creditsUsed": 0, "creditsRemaining": 98413, "billed": false, "reason": "signal_resumed", "requestId": "req_t4sk0001" }
}

#Errors

StatusTypeWhenBilled
404not_foundNo signal with this signal_id in your organization, or signal_id is not a UUID.No
409conflictThe signal is completed. PATCH schedule.max_runs or schedule.ends_at to revive it.No
401invalid_api_keyMissing, malformed, or revoked key.No
429rate_limitedOver the 5,000 requests/min limit. Honor Retry-After.No
500internal_errorSomething broke on the server side.No
503upstream_errorThe scheduling service is unreachable. Safe to retry.No

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