@taskmagic/apps-linkdrip
v0.0.2
Published
Branded short links and link management with [LinkDrip](https://linkdrip.com) — API docs: https://docs.linkdrip.com/apis/introduction
Downloads
293
Readme
LinkDrip
Branded short links and link management with LinkDrip — API docs: https://docs.linkdrip.com/apis/introduction
The API is REST under https://api.linkdrip.com/v1 and authenticated with a Bearer token:
Authorization: Bearer <API key>, alongside accept: application/json.
- Actions: Create Link, Get Link, Update Link, Delete Link.
- Triggers: none — see below.
Connection: sign in at app.linkdrip.com, click your user
avatar in the top right corner, choose Settings, navigate to API Keys, and click
Generate API Key. Click the key area to copy it (the eye icon reveals it). Paste it into the
connection. The Public API is a Professional ($14/mo) or Business ($49/mo) feature —
the Basic ($9/mo) plan does not include API access, so a Basic account cannot use this piece.
The connection is verified with a single GET /v1/status call.
Notes
- The API is in beta. LinkDrip's own docs carry the banner "The API is still in beta and is subject to changes." Field names and behaviour may move without notice.
- Four endpoints is the whole API. LinkDrip documents exactly five routes —
GET /statusplus create, get, update and delete for a single link — and all four link routes are shipped here. There is no list-links endpoint, no clicks or analytics endpoint, and nothing for domains, campaigns, pixels or QR codes. None of those are implemented because none exist. - No triggers, and that is a hard constraint, not a choice. LinkDrip publishes no webhooks,
and a polling trigger is not buildable either: there is no list endpoint to poll, no
created-at or updated-at timestamp on any response to order or dedupe by, and
GET /v1/{id}requires you to already know the short code. Chain Create Link off whatever trigger produces the URL instead. - The docs' PUT/DELETE examples are missing
/v1. They printhttps://api.linkdrip.com/xUas9. That unversioned path is not routed and answers403 {"message":"Forbidden"}from the gateway. Every request this piece makes goes tohttps://api.linkdrip.com/v1/.... - There is no
idin any response. The only place a link's short code appears is on the end ofshort_link(https://drp.li/xUas9). All four actions parse it out and return it as an extraidfield so the next step in a flow can feed it straight into Get / Update / Delete. If you set a Custom ID when creating the link, that is the id. The Link ID input also accepts a full short link and will extract the code for you. - Update never blanks a field you left alone. Every attribute on
PUT /v1/{id}— includingtarget_url— is optional, so Update Link omits every blank field from the request body. A partial update therefore cannot wipe UTM parameters or preview metadata you did not touch. If you fill in nothing at all the step fails locally rather than sending an empty body, which LinkDrip answers with a bare HTTP 502. - Update re-reads the link.
PUTresponds with only{ "success": true }and nodata, so the action follows up with aGET /v1/{id}and returns the link's current state. That makes Update Link cost two API calls. If the update changed the Custom ID, the follow-up read uses the new code. - Errors are keyed off
success, not the HTTP status. LinkDrip's statuses are inconsistent for the same failure: one invalid key returns HTTP 500 fromGET /v1/statusbut HTTP 401 fromPOST /v1/createandGET /v1/{id}. Every response — success or failure — carries{ "success": <bool>, "message": "..." }, so this piece reads that envelope and surfacesmessageverbatim. A2xxcarryingsuccess: falseis still treated as a failure. - Empty attributes are omitted from responses. The docs state the API "returns only existing
values", so a link that has no UTM parameters comes back without those keys at all rather than
with nulls. Guard downstream steps accordingly — only
short_linkandtarget_urlare dependable. - Custom domains, projects and workspaces must already exist.
custom_domainhas to be a domain this account owns and has activated;project_nameandworkspace_namemust name an existing project/workspace owned by the account. LinkDrip errors otherwise. Omitting them files the link in the personal space's default project. - Custom IDs must be unique. Reusing one that already exists is an error, not an overwrite.
- Title / Description / OG Image are Open Graph metadata overrides. LinkDrip populates them automatically from the target URL when they are left blank; set them only when you need to control the preview yourself.
- Delete is irreversible.
DELETE /v1/{id}removes the link permanently and it stops resolving immediately. The action returns the deleted link's attributes so a flow can keep a record, but LinkDrip cannot restore it. - Rate limits are unknown. LinkDrip documents no rate limit and describes no rate-limit response headers. HTTP 429 is handled with a slow-down message if it ever appears, but there is no published budget to design a flow around.
- No custom API call action. A passthrough would hand this connection's API key to any URL a flow supplies, and the documented API is fully covered by the four actions above.
