API Reference
Tingnan ang bawat REST at OAuth operation kasama ang eksaktong host, paraan ng authentication, scope, parameter, request field, at response code nito.
OpenAPI v2.1.0
Pangkalahatang-ideya ng API
Tumatanggap ang mga pampublikong /v2 operation ng scoped API key o OAuth 2.0 access token. May sariling browser, session, o client-credential requirement ang mga OAuth management operation.
- Base URL:
- https://api.s.id/v2
- Mga operation
- 38
- Mga scope
- 10
Pagpapatunay
May scope ang mga credential. Kapag kulang ang kinakailangang scope, ibinabalik ang 403 insufficient_scope. Hilingin lamang ang permission na kailangan ng iyong integration.
Authorization: Bearer sk_live_...Mga Endpoint
Catalog ng endpoint
Buksan ang operation para makita ang eksaktong base URL, authentication, input, at posibleng response code nito.
Links
GET/linksIlista ang mga link
Returns a paginated list of the authenticated user's links.
- Base URL
- https://api.s.id/v2
- Pagpapatunay
- API key o OAuth 2.0
Saklaw
links:readMga parameter
pagequery · integerlimitquery · integersearchquery · stringFilter by short code or URL
Mga response
200List of links401403429POST/linksGumawa ng link
- Base URL
- https://api.s.id/v2
- Pagpapatunay
- API key o OAuth 2.0
Saklaw
links:writeRequest body
long_urlstringKinakailanganThe destination (long) URL
titlestringcustom_slugstringCustom short code; auto-generated when omitted
passwordstringOptional password to protect the link
expired_atintegerOptional expiry as a Unix timestamp (seconds)
domain_aliasstringCustom domain to use instead of s.id
Mga response
200401403422429POST/links/availableTingnan kung available ang slug
Checks whether a custom slug is available before creating a link.
- Base URL
- https://api.s.id/v2
- Pagpapatunay
- API key o OAuth 2.0
Saklaw
links:readRequest body
shortstringKinakailangandomain_aliasstringCustom domain, if any
Mga response
200Slug is available401422Slug is taken or invalidGET/links/{short}Kunin ang link
- Base URL
- https://api.s.id/v2
- Pagpapatunay
- API key o OAuth 2.0
Saklaw
links:readMga parameter
shortpath · stringKinakailanganThe short code of the link
Mga response
200401404PUT/links/{short}I-update ang link
Updates a link. All fields are optional; omitted fields are left unchanged. - `password`: set a non-empty string to protect, empty string `""` to remove protection. - `custom_slug`: rename the short code (subject to quota). - `archive_at`: schedule auto-archive on a date (`YYYY-MM-DD`). - `domain_alias`: change the custom domain (must be owned by the user).
- Base URL
- https://api.s.id/v2
- Pagpapatunay
- API key o OAuth 2.0
Saklaw
links:writeMga parameter
shortpath · stringKinakailanganThe short code of the link
Request body
long_urlstringNew destination URL
titlestringcustom_slugstringRename the short code (subject to plan quota)
passwordstringSet a password (`""` removes existing protection)
disposablebooleanMark link as disposable (expires after first click)
adultbooleanFlag link as adult content
archive_atstringSchedule auto-archive on this date (YYYY-MM-DD)
domain_aliasstringChange the custom domain (must be owned by the user)
Mga response
200401403404422429DELETE/links/{short}I-archive ang link
Archives (soft-deletes) a link. The short code stops resolving. Use `POST /links/{short}/unarchive` to restore.
- Base URL
- https://api.s.id/v2
- Pagpapatunay
- API key o OAuth 2.0
Saklaw
links:archiveMga parameter
shortpath · stringKinakailanganThe short code of the link
Mga response
200Link archived401404429POST/links/{short}/unarchiveIbalik ang naka-archive na link
Restores a previously archived link, making its short code resolve again.
- Base URL
- https://api.s.id/v2
- Pagpapatunay
- API key o OAuth 2.0
Saklaw
links:writeMga parameter
shortpath · stringKinakailanganThe short code of the archived link
Mga response
200Link restored401403404429GET/links/{short}/statsTimeline ng mga click sa link
Returns a date-bucketed click-count timeline for the link.
- Base URL
- https://api.s.id/v2
- Pagpapatunay
- API key o OAuth 2.0
Saklaw
links:analyticsMga parameter
shortpath · stringKinakailanganstartquery · stringendquery · string
Mga response
200Click timeline401403404429GET/links/{short}/stats/lifetimeKabuuang bilang ng click
Returns the all-time total click count for a single link.
- Base URL
- https://api.s.id/v2
- Pagpapatunay
- API key o OAuth 2.0
Saklaw
links:analyticsMga parameter
shortpath · stringKinakailangan
Mga response
200Lifetime click count401403404429POST/links/bulkGumawa ng maraming link
Create up to 100 short links in a single request. Requires a subscription plan with bulk shortening enabled. Each item reports individual success/failure — the overall request always returns 200 even if some items fail.
- Base URL
- https://api.s.id/v2
- Pagpapatunay
- API key o OAuth 2.0
Saklaw
links:writeRequest body
linksarray<object>Kinakailangan
Mga response
200Bulk result — individual items may have success=false401402Plan upgrade required (bulk shortening not in plan)403User
GET/userKunin ang authenticated user
- Base URL
- https://api.s.id/v2
- Pagpapatunay
- API key o OAuth 2.0
Saklaw
user:readMga response
200User profile401429GET/quotaKunin ang account quota
Returns the authenticated user's current plan limits and usage counters.
- Base URL
- https://api.s.id/v2
- Pagpapatunay
- API key o OAuth 2.0
Saklaw
user:readMga response
200Account quota401429Microsites
GET/micrositesIlista ang mga microsite
Returns a paginated list of microsites owned by the authenticated user.
- Base URL
- https://api.s.id/v2
- Pagpapatunay
- API key o OAuth 2.0
Saklaw
microsites:readMga parameter
limitquery · integerafterquery · stringCursor for the next page (opaque string from previous response)
Mga response
200List of microsites401403POST/micrositesGumawa ng microsite
- Base URL
- https://api.s.id/v2
- Pagpapatunay
- API key o OAuth 2.0
Saklaw
microsites:writeRequest body
slugstringKinakailanganURL-safe identifier (alphanumeric + hyphens/underscores)
titlestringKinakailangankindstringKinakailanganMicrosite category (e.g. `personal_branding`, `brand`, `other`)
themestringTheme slug (optional, defaults to the platform default)
Mga response
200Microsite created400Validation error (slug already taken, quota exceeded, etc.)401403GET/microsites/{slug}Kunin ang microsite
- Base URL
- https://api.s.id/v2
- Pagpapatunay
- API key o OAuth 2.0
Saklaw
microsites:readMga parameter
slugpath · stringKinakailangan
Mga response
200Microsite detail401403404Microsite not foundPUT/microsites/{slug}I-update ang microsite
Patches title, description, and/or visibility. All fields are optional.
- Base URL
- https://api.s.id/v2
- Pagpapatunay
- API key o OAuth 2.0
Saklaw
microsites:writeMga parameter
slugpath · stringKinakailangan
Request body
titlestringdescriptionstringhidebooleanSet `true` to hide the microsite from public (requires plan that supports visibility toggle)
Mga response
200Updated microsite401403404Microsite not foundDELETE/microsites/{slug}I-delete ang microsite
- Base URL
- https://api.s.id/v2
- Pagpapatunay
- API key o OAuth 2.0
Saklaw
microsites:deleteMga parameter
slugpath · stringKinakailangan
Mga response
200Microsite deleted401403404Microsite not foundPOST/microsites/availableTingnan kung available ang microsite slug
Checks whether a microsite slug is available before creating a microsite.
- Base URL
- https://api.s.id/v2
- Pagpapatunay
- API key o OAuth 2.0
Saklaw
microsites:readRequest body
slugstringKinakailangan
Mga response
200Slug availability result401403429GET/microsites/{slug}/componentsIlista ang mga microsite component
Returns the components belonging to a microsite, in display order.
- Base URL
- https://api.s.id/v2
- Pagpapatunay
- API key o OAuth 2.0
Saklaw
microsites:readMga parameter
slugpath · stringKinakailanganThe slug of the microsite
Mga response
200List of microsite components401403404429POST/microsites/{slug}/componentsMagdagdag ng microsite component
Adds a new component to a microsite. The body is `{ kind, data, tag? }`. The shape of the `data` object depends on `kind`. Unknown fields are ignored, validation is per-kind, and invalid input returns `422`. All color fields are hex strings (e.g. `#1a56db`). **Kinds:** `PROFILE`, `LINK`, `HORIZONTAL_LINK`, `TEXT`, `IMAGE`, `MEDIA`, `DIVIDER`, `COUNTDOWN`, `MAPS`, `IMAGE_SLIDE`, `CV`, `AUTOPLAY_MUSIC`, `CONTACT`, `CALENDAR`, `SHOP_LISTING`, `SHOP_ITEM`, `SHOP_LEADERBOARD`. **Rules:** - `PROFILE`, `CV` and `AUTOPLAY_MUSIC` are unique — at most one per microsite. - `IMAGE_SLIDE` requires a plan with the Image Slide feature. - On create the password is always stored empty — set or change it via update (`PUT`). - Image fields (`image`, `imageBackground`, slide `image`) must be a local asset path, not a remote URL — they must match `[/.a-zA-Z0-9_-]+.(jpg|jpeg|png|svg|webp|gif|bmp)`; any value containing a scheme (`https://`), `//`, or `..` is rejected. **Shared field groups** (a kind that lists a group accepts all of its fields inside `data`): - **Button styling** (`LINK`, `CONTACT`, `CALENDAR`): `icon` (string, max 255), `textFont` (string, max 100), `textPosition` (string, max 100), `buttonEffect` (string, max 100), `buttonColor` (hex, max 20), `buttonBorderColor` (hex, max 20), `buttonIconBackground` (hex, max 20), `buttonShadowColor` (hex, max 20). - **Spoiler reveal** (`TEXT`, `IMAGE`, `MEDIA`, `MAPS`, `IMAGE_SLIDE`, `SHOP_LEADERBOARD`): `isSpoiler` (bool), `spoilerButtonText` (string, max 140), `spoilerButtonTextPosition` (string, max 100), `spoilerButtonIcon` (string), `spoilerButtonColor` (hex, max 20), `spoilerButtonFont` (string, max 100), `spoilerBackground` (string, max 100), `spoilerBackgroundOpacity` (string, max 100), `spoilerButtonBorderColor` (hex, max 20), `spoilerButtonIconBackground` (hex, max 20), `spoilerButtonShadowColor` (hex, max 20). - **Password protection** (`LINK`, `TEXT`, `IMAGE`, `MEDIA`, `MAPS`, `IMAGE_SLIDE`, `CONTACT`, `CV`, `SHOP_LEADERBOARD`): `passwordActive` (bool), `password` (string, max 255 — set via update only), `passwordMessage` (string, max 255).
- Base URL
- https://api.s.id/v2
- Pagpapatunay
- API key o OAuth 2.0
Saklaw
microsites:writeMga parameter
slugpath · stringKinakailanganThe slug of the microsite
Request body
kindstringKinakailanganComponent kind. The shape of `data` depends on this value.
dataobjectKinakailanganKind-specific component data. Its shape depends on `kind`. See the operation description and examples below.
tagstringOptional grouping tag
Mga response
200Component created401403404422429PUT/microsites/{slug}/components/{componentId}I-update ang microsite component
Updates a single microsite component.
- Base URL
- https://api.s.id/v2
- Pagpapatunay
- API key o OAuth 2.0
Saklaw
microsites:writeMga parameter
slugpath · stringKinakailanganThe slug of the microsite
componentIdpath · stringKinakailanganThe component ID
Request body
activebooleanKinakailanganWhether the component is shown
kindstringKinakailanganComponent kind (e.g. `LINK`, `PROFILE`, `TEXT`)
dataobjectKinakailanganKind-specific component data
Mga response
200Component updated401403404422429DELETE/microsites/{slug}/components/{componentId}I-delete ang microsite component
Deletes a single microsite component.
- Base URL
- https://api.s.id/v2
- Pagpapatunay
- API key o OAuth 2.0
Saklaw
microsites:deleteMga parameter
slugpath · stringKinakailanganThe slug of the microsite
componentIdpath · stringKinakailanganThe component ID
Mga response
200Component deleted401403404429POST/microsites/{slug}/components/orderAyusin ang pagkakasunod ng mga microsite component
Reorders a microsite's components according to the provided list of component IDs.
- Base URL
- https://api.s.id/v2
- Pagpapatunay
- API key o OAuth 2.0
Saklaw
microsites:writeMga parameter
slugpath · stringKinakailanganThe slug of the microsite
Request body
ordersarray<string>KinakailanganComponent IDs in the desired display order
Mga response
200Components reordered401403404422429Analytics
GET/statsAccount-level click analytics
Returns a timeline of clicks plus breakdowns by top links, referers, locations, devices, and browsers for the authenticated account. Date range is gated by subscription plan.
- Base URL
- https://api.s.id/v2
- Pagpapatunay
- API key o OAuth 2.0
Saklaw
links:analyticsMga parameter
startquery · stringStart date (YYYY-MM-DD). Defaults to 30 days ago.
endquery · stringEnd date (YYYY-MM-DD). Defaults to today.
additionalquery · booleanInclude referer, location, device, browser breakdowns
Mga response
200Account analytics401403QR
GET/qrKunin ang global QR settings
Returns the account-level (global) QR code settings applied to QR codes by default.
- Base URL
- https://api.s.id/v2
- Pagpapatunay
- API key o OAuth 2.0
Saklaw
qr:readMga response
200Global QR settings401403429PUT/qrI-customize ang global QR settings
Updates the account-level (global) QR code settings. All fields are optional; omitted fields are left unchanged.
- Base URL
- https://api.s.id/v2
- Pagpapatunay
- API key o OAuth 2.0
Saklaw
qr:writeRequest body
logostringURL of the logo image embedded in the QR code
colorstringForeground color as a hex value, e.g. #1a56db
Mga response
200Updated global QR settings401403422429GET/links/{short}/qrKunin ang QR settings ng link
Returns the QR code settings for a single link.
- Base URL
- https://api.s.id/v2
- Pagpapatunay
- API key o OAuth 2.0
Saklaw
qr:readMga parameter
shortpath · stringKinakailanganThe short code of the link
Mga response
200Link QR settings401403404429PUT/links/{short}/qrI-customize ang QR settings ng link
Updates the QR code settings for a single link. All fields are optional; omitted fields are left unchanged.
- Base URL
- https://api.s.id/v2
- Pagpapatunay
- API key o OAuth 2.0
Saklaw
qr:writeMga parameter
shortpath · stringKinakailanganThe short code of the link
Request body
logostringURL of the logo image embedded in the QR code
colorstringForeground color as a hex value, e.g. #1a56db
Mga response
200Updated link QR settings401403404422429OAuth 2.0
POST/oauth/tokenIpagpalit ang code o refresh token
- Base URL
- https://api.s.id
- Pagpapatunay
- API key
Request body
grant_typestringcodestringredirect_uristringclient_idstringclient_secretstringrefresh_tokenstring
Mga response
200Token response400Invalid grant, unsupported_grant_type, or invalid_client401Invalid client credentialsPOST/oauth/revokeBawiin ang token
Revokes an access or refresh token. Always returns 200 OK regardless of whether the token was valid (RFC 7009).
- Base URL
- https://api.s.id
- Pagpapatunay
- API key
Request body
tokenstringKinakailangan
Mga response
200Token revokedPOST/oauth/introspectSuriin ang token
Reports whether a token is currently active and, if so, which scopes and client it belongs to (RFC 7662). Client-credential protected: `client_id`/`client_secret` identify the caller, not the token owner. Always returns `200` — including for an unknown, expired, or revoked token (`{"active": false}`) — to avoid leaking token validity to unauthenticated probing.
- Base URL
- https://api.s.id
- Pagpapatunay
- API key
Request body
tokenstringKinakailanganclient_idstringKinakailanganclient_secretstringKinakailangan
Mga response
200Introspection result400Missing token/client_id, or invalid client credentialsGET/oauth/userinfoKunin ang profile ng awtorisadong user
Returns the profile of the user who authorized the OAuth app. Requires `Authorization: Bearer <access_token>` (the OAuth access token, not an sk_live_ key).
- Base URL
- https://api.s.id
- Pagpapatunay
- OAuth 2.0
Saklaw
user:readMga response
200User profile401UnauthorizedGET/api/user/oauth/appsIlista ang mga app na pinahintulutan ng kasalukuyang user
Returns all OAuth clients that have active tokens for the authenticated user. Auth: user session cookie (not API key).
- Base URL
- https://api.s.id
- Pagpapatunay
- API key
Mga response
200List of connected apps401UnauthorizedDELETE/api/user/oauth/apps/{clientId}Bawiin ang lahat ng token para sa isang app
Revokes all active tokens granted by the current user to the specified OAuth client.
- Base URL
- https://api.s.id
- Pagpapatunay
- API key
Mga parameter
clientIdpath · stringKinakailangan
Mga response
200App access revoked401Unauthorized404App not foundIntegrations
POST/integrations/make/webhook/subscribeMag-subscribe sa Make.com webhook
Registers a Make.com (Integromat) scenario webhook URL to receive s.id events. Authenticated via DeveloperAPIAuth (API key or OAuth Bearer) with no scope requirement — every authenticated developer credential can subscribe.
- Base URL
- https://api.s.id/v2
- Pagpapatunay
- API key
Mga response
200Subscribed401UnauthorizedPOST/integrations/make/webhook/unsubscribeMag-unsubscribe sa Make.com webhook
Removes a previously registered Make.com scenario webhook subscription. Authenticated via DeveloperAPIAuth with no scope requirement.
- Base URL
- https://api.s.id/v2
- Pagpapatunay
- API key
Mga response
200Unsubscribed401UnauthorizedScope Reference
links:readIlista at basahin ang mga link
links:writeGumawa at mag-update ng mga link (gumawa, mag-edit, magbalik)
links:archiveMag-archive ng mga link
links:analyticsBasahin ang click statistics at kabuuang bilang para sa bawat link
qr:readBasahin ang QR code settings (global at bawat link)
qr:writeI-customize ang QR code settings (global at bawat link)
user:readBasahin ang authenticated user profile at account quota
microsites:readBasahin ang mga microsite
microsites:writeGumawa, mag-update, at mamahala ng mga microsite component
microsites:deleteMag-delete ng mga microsite at component nito
Mga Rate Limit
Ang default limit ay 38 request kada minuto bawat credential—bawat API key o OAuth access token. May pinagsamang limit din ang OAuth app na 500 request kada minuto sa lahat ng token nito.
Mga karaniwang error response
- 400
- Mali ang format o hindi suportado ang request
- 401
- Wala, hindi valid, binawi, o expired ang credential
- 403
- Wala sa credential ang kinakailangang scope
- 404
- Hindi nahanap ang hiniling na resource
- 422
- Nabigo ang request validation
- 429
- Lumampas sa rate limit
Handa na bang magsimulang bumuo?
Gumawa ng API key sa loob ng ilang minuto. Kasama ang libreng tier, walang credit card na kailangan.
