Lumaktaw sa pangunahing nilalaman
s.id Logo
Developer Platform

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.

Subukan ang Interactive Reference
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

POST/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:read

Request body

  • shortstringKinakailangan
  • domain_aliasstring

    Custom domain, if any

Mga response

200Slug is available
401
422Slug is taken or invalid
GET/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:analytics

Mga parameter

  • shortpath · stringKinakailangan
  • startquery · string
  • endquery · string

Mga response

200Click timeline
401
403
404
429
GET/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:analytics

Mga parameter

  • shortpath · stringKinakailangan

Mga response

200Lifetime click count
401
403
404
429

User

GET/userKunin ang authenticated user
Base URL
https://api.s.id/v2
Pagpapatunay
API key o OAuth 2.0

Saklaw

user:read

Mga response

200User profile
401
429
GET/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:read

Mga response

200Account quota
401
429

Microsites

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:read

Mga parameter

  • limitquery · integer
  • afterquery · string

    Cursor for the next page (opaque string from previous response)

Mga response

200List of microsites
401
403
POST/micrositesGumawa ng microsite
Base URL
https://api.s.id/v2
Pagpapatunay
API key o OAuth 2.0

Saklaw

microsites:write

Request body

  • slugstringKinakailangan

    URL-safe identifier (alphanumeric + hyphens/underscores)

  • titlestringKinakailangan
  • kindstringKinakailangan

    Microsite category (e.g. `personal_branding`, `brand`, `other`)

  • themestring

    Theme slug (optional, defaults to the platform default)

Mga response

200Microsite created
400Validation error (slug already taken, quota exceeded, etc.)
401
403
GET/microsites/{slug}Kunin ang microsite
Base URL
https://api.s.id/v2
Pagpapatunay
API key o OAuth 2.0

Saklaw

microsites:read

Mga parameter

  • slugpath · stringKinakailangan

Mga response

200Microsite detail
401
403
404Microsite not found
PUT/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:write

Mga parameter

  • slugpath · stringKinakailangan

Request body

  • titlestring
  • descriptionstring
  • hideboolean

    Set `true` to hide the microsite from public (requires plan that supports visibility toggle)

Mga response

200Updated microsite
401
403
404Microsite not found
DELETE/microsites/{slug}I-delete ang microsite
Base URL
https://api.s.id/v2
Pagpapatunay
API key o OAuth 2.0

Saklaw

microsites:delete

Mga parameter

  • slugpath · stringKinakailangan

Mga response

200Microsite deleted
401
403
404Microsite not found
POST/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:read

Request body

  • slugstringKinakailangan

Mga response

200Slug availability result
401
403
429
GET/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:read

Mga parameter

  • slugpath · stringKinakailangan

    The slug of the microsite

Mga response

200List of microsite components
401
403
404
429
POST/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:write

Mga parameter

  • slugpath · stringKinakailangan

    The slug of the microsite

Request body

  • kindstringKinakailangan

    Component kind. The shape of `data` depends on this value.

  • dataobjectKinakailangan

    Kind-specific component data. Its shape depends on `kind`. See the operation description and examples below.

  • tagstring

    Optional grouping tag

Mga response

200Component created
401
403
404
422
429
PUT/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:write

Mga parameter

  • slugpath · stringKinakailangan

    The slug of the microsite

  • componentIdpath · stringKinakailangan

    The component ID

Request body

  • activebooleanKinakailangan

    Whether the component is shown

  • kindstringKinakailangan

    Component kind (e.g. `LINK`, `PROFILE`, `TEXT`)

  • dataobjectKinakailangan

    Kind-specific component data

Mga response

200Component updated
401
403
404
422
429
DELETE/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:delete

Mga parameter

  • slugpath · stringKinakailangan

    The slug of the microsite

  • componentIdpath · stringKinakailangan

    The component ID

Mga response

200Component deleted
401
403
404
429
POST/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:write

Mga parameter

  • slugpath · stringKinakailangan

    The slug of the microsite

Request body

  • ordersarray<string>Kinakailangan

    Component IDs in the desired display order

Mga response

200Components reordered
401
403
404
422
429

Analytics

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:analytics

Mga parameter

  • startquery · string

    Start date (YYYY-MM-DD). Defaults to 30 days ago.

  • endquery · string

    End date (YYYY-MM-DD). Defaults to today.

  • additionalquery · boolean

    Include referer, location, device, browser breakdowns

Mga response

200Account analytics
401
403

QR

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:read

Mga response

200Global QR settings
401
403
429
PUT/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:write

Request body

  • logostring

    URL of the logo image embedded in the QR code

  • colorstring

    Foreground color as a hex value, e.g. #1a56db

Mga response

200Updated global QR settings
401
403
422
429
GET/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:read

Mga parameter

  • shortpath · stringKinakailangan

    The short code of the link

Mga response

200Link QR settings
401
403
404
429
PUT/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:write

Mga parameter

  • shortpath · stringKinakailangan

    The short code of the link

Request body

  • logostring

    URL of the logo image embedded in the QR code

  • colorstring

    Foreground color as a hex value, e.g. #1a56db

Mga response

200Updated link QR settings
401
403
404
422
429

OAuth 2.0

GET/oauth/authorizeKunin ang data ng consent screen

A plain browser navigation here (no `Accept: application/json`) 302-redirects to the dash.s.id consent UI, preserving the query string. With `Accept: application/json`, returns application name, logo, and requested scopes for the consent UI to render.

Base URL
https://api.s.id
Pagpapatunay
API key

Mga parameter

  • client_idquery · stringKinakailangan
  • redirect_uriquery · stringKinakailangan
  • response_typequery · stringKinakailangan
  • scopequery · string
  • statequery · string

    Recommended. Opaque value for CSRF protection. Returned unchanged in the redirect.

Mga response

200Consent screen data
400Bad request
POST/oauth/tokenIpagpalit ang code o refresh token
Base URL
https://api.s.id
Pagpapatunay
API key

Request body

  • grant_typestring
  • codestring
  • redirect_uristring
  • client_idstring
  • client_secretstring
  • refresh_tokenstring

Mga response

200Token response
400Invalid grant, unsupported_grant_type, or invalid_client
401Invalid client credentials
POST/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 revoked
POST/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

  • tokenstringKinakailangan
  • client_idstringKinakailangan
  • client_secretstringKinakailangan

Mga response

200Introspection result
400Missing token/client_id, or invalid client credentials
GET/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:read

Mga response

200User profile
401Unauthorized
GET/.well-known/oauth-authorization-serverMetadata ng OAuth 2.0 Authorization Server

RFC 8414 discovery document advertising every OAuth endpoint URL, supported scopes, and PKCE methods, so standards-compliant client libraries can configure themselves instead of hard-coding s.id's URLs.

Base URL
https://api.s.id
Pagpapatunay
API key

Mga response

200Authorization server metadata
GET/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 apps
401Unauthorized
DELETE/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 revoked
401Unauthorized
404App not found

Integrations

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

200Subscribed
401Unauthorized
POST/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

200Unsubscribed
401Unauthorized

Scope Reference

links:read

Ilista at basahin ang mga link

links:write

Gumawa at mag-update ng mga link (gumawa, mag-edit, magbalik)

links:archive

Mag-archive ng mga link

links:analytics

Basahin ang click statistics at kabuuang bilang para sa bawat link

qr:read

Basahin ang QR code settings (global at bawat link)

qr:write

I-customize ang QR code settings (global at bawat link)

user:read

Basahin ang authenticated user profile at account quota

microsites:read

Basahin ang mga microsite

microsites:write

Gumawa, mag-update, at mamahala ng mga microsite component

microsites:delete

Mag-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.

Kumuha ng iyong API key