API docs with methods, headers, payloads, and response examples.
These routes are the concrete request surface used by the current SkyBrance client wrappers. They cover short-link creation, analytics, OG image uploads, collaboration, and transfer flows.
Headers
Most authenticated requests include Authorization: Bearer <token> and Content-Type: application/json.
Response format
Examples below show the expected JSON envelope and the data fields the SDK reads from the backend.
Create / Update
Body payload fields for link management.
OG upload
Signed upload URL generation and content type support.
Collaboration
Invite, accept, reject, leave, add, and remove collaborators.
Delete
Remove links and transfer inbox items.
Create a link
Create a new SkyH short link with optional alias, password protection, expiry metadata, and redirect settings.
{
"status": true,
"message": "Link created",
"data": {
"_id": "link_id",
"url": "https://example.com",
"shortCode": "abc123"
}
}Destination URL for the short link.
Optional human-readable alias.
Fallback alias field used by the current SDK wrapper.
Optional expiration timestamp or date string.
Display title for the link.
Additional description text.
Enable password protection for the short link.
Password sent only when password protection is enabled.
Title shown on the expiry screen.
Message shown on the expiry screen.
Redirect target used when expiry redirect is enabled.
Switch to redirect on expiry instead of blocking access.
- The current wrapper maps customCode into the alias field.
- Password is only sent when isPasswordProtected is true.
Update a link
Patch an existing short link and optionally update OG image metadata.
{
"status": true,
"message": "Link updated",
"data": {
"_id": "link_id",
"title": "Updated title"
}
}The link identifier.
New destination URL.
Updated alias.
Updated expiry value.
Updated title.
Updated description.
Enable or disable protection.
Password value when protection is enabled.
Expiry screen title.
Expiry screen message.
Expiry redirect URL.
Public OG image URL to attach to the link.
Upload an OG image
Request a signed upload URL for a link OG image and then upload the binary to that URL.
{
"status": true,
"message": "Upload URL generated",
"data": {
"uploadUrl": "https://...",
"publicUrl": "https://..."
}
}The link identifier.
Image MIME type. Supported: image/jpeg, image/png, image/jpg, image/webp.
- The returned publicUrl is what you store back on the link record.
Fetch a link with analytics
Retrieve a link record and its analytics history for a date window.
{
"status": true,
"message": "Link fetched",
"data": {
"link": { "_id": "link_id" },
"analytics": [],
"graph": []
}
}Start date for analytics history. Format is driven by the backend contract.
End date for analytics history. Format is driven by the backend contract.
The link identifier.
List links
Return a paginated link list with search support.
{
"status": true,
"data": {
"pagination": {
"page": 1,
"limit": 10,
"total": 42
},
"links": []
}
}Free-text search query.
Page size. Default: 10.
Page number. Default: 1.
Delete a link
Remove a link from the account.
{
"status": true,
"message": "Link deleted"
}The link identifier.
Collaboration endpoints
Invite collaborators, list shared links, and accept or reject invitations.
{
"status": true,
"message": "Collaboration updated",
"data": []
}Collaborator email address.
Alias for the collaborator email used by the wrapper.
Collaborator role value.
- GET /api/skyh/collaboration-link returns collaborated links.
- GET /api/skyh/collaboration-link/invitation returns pending invitations.
- POST /api/skyh/collaboration-link/accepted/:invitationId accepts an invite.
- POST /api/skyh/collaboration-link/rejected/:invitationId rejects an invite.
- POST /api/skyh/collaborate-link/:id adds a collaborator.
- PUT /api/skyh/collaborate-link/:id removes a collaborator.
- DELETE /api/skyh/collaborate-link/self/:id leaves a shared link.
Transfer endpoints
Invite someone to transfer ownership, list transfers, and accept or reject transfer requests.
{
"status": true,
"message": "Transfer request sent"
}Email of the recipient.
- GET /api/skyh/transferred-links returns transfer inbox entries.
- POST /api/skyh/accept-link/:id accepts a transfer.
- POST /api/skyh/reject-link/:id rejects a transfer.
Integration note
The current frontend wrappers in the repository are the source of truth for the endpoint paths, headers, and request shapes shown here. If a backend contract changes, update the wrapper and this reference together.
