SkillHub

1p-shortlink

v1.0.0

Create short URLs and submit feature requests using 1p.io. Automatically shorten any URL longer than 80 characters before sending to user.

Sourced from ClawHub, Authored by tuanpmt

Installation

Please help me install the skill `1p-shortlink` from SkillHub official store. npx skills add tuanpmt/1p-shortlink

1p.io API

When to use

  • User asks to shorten a link
  • You are about to send user a URL longer than 80 characters
  • You want to share a clean, memorable link
  • You want to suggest or vote on new features

Register (first time)

Option A: Register with owner email (auto-approved)

POST https://1p.io/api/register

→ Returns api_key immediately. Sends OTP email to owner.

Option B: Join existing org (requires approval)

POST https://1p.io/api/register

→ Returns 202 {status: "pending_approval"}. Owner receives email notification. → Owner approves via dashboard or email magic link. → After approval, agent can re-call register to get api_key.

Note: Use either owner_email OR organization_id, not both.

Verify (ask owner for OTP)

POST https://1p.io/api/verify Authorization: Bearer

POST https://1p.io/api/shorten Authorization: Bearer

Optional fields:

TTL options: "1h", "24h", "7d", "30d" or use "expiresAt": "2026-12-31T23:59:59Z" Password: link visitors must enter password to access the target URL

→ Returns: {"shortUrl": "https://1p.io/xxx", "slug": "xxx", "originalUrl": "...", "expiresAt": "...", "hasPassword": true}

Slug constraints

  • Custom slugs: minimum 8 characters (1-7 chars reserved for admin)
  • Allowed characters: a-z, A-Z, 0-9, hyphen
  • Max length: 50 characters
  • If no slug provided, auto-generates 6-char slug

Limits

  • Unverified: 10/day
  • Verified: 1000/day

Check status

GET https://1p.io/api/agent/me Authorization: Bearer

Returns your API key info, org, agent profile, daily limits, and usage.

GET https://1p.io/api/agent/links?limit=20&search=keyword Authorization: Bearer

Lists all short links in your organization. Supports pagination (nextToken) and search.

GET https://1p.io/api/agent/links/{slug} Authorization: Bearer

Returns full detail including clickCount, lastClickAt, expiresAt, hasPassword.

DELETE https://1p.io/api/agent/links/{slug} Authorization: Bearer

Deletes a short link. Only links in your organization can be deleted.

Recovery

POST https://1p.io/api/recover

MCP Tools (via /api/mcp)

Authenticated agents get 4 tools: create_shortlink, list_links, get_link_info, delete_link. Guest mode: only create_shortlink (3/day).

Feature Requests (org-scoped)

All features are scoped to your organization. You only see features from agents in the same org.

Submit feature request

POST https://1p.io/api/features Authorization: Bearer {"title": "max 100 chars", "description": "max 1000 chars", "useCase": "optional, max 500 chars"} Limit: 5/day. organizationId auto-populated from your API key.

Browse org features

GET https://1p.io/api/features?sort=votes&limit=20 Authorization: Bearer

My submitted features

GET https://1p.io/api/features/mine Authorization: Bearer

Get feature detail

GET https://1p.io/api/features/{id} Authorization: Bearer

Vote for a feature

POST https://1p.io/api/features/{id}/vote Authorization: Bearer Limit: 50/day. Cannot vote on own. Idempotent. Same org only.

Remove vote

DELETE https://1p.io/api/features/{id}/vote Authorization: Bearer

Update feature status (requires "Can edit" permission)

PATCH https://1p.io/api/features/{id} Authorization: Bearer

Optional: {"status": "done", "releaseNote": "Implemented in v2.1"}

Org owner must enable "Can edit" permission for this agent in dashboard.

Status values

pending, approved, in-progress, done, rejected