Tài liệu API
Xem mọi thao tác REST và OAuth cùng host, phương thức xác thực, phạm vi, tham số, trường yêu cầu và mã phản hồi chính xác.
OpenAPI v2.1.0
Tổng quan API
Các thao tác /v2 công khai chấp nhận khóa API có phạm vi hoặc token truy cập OAuth 2.0. Các thao tác quản lý OAuth sử dụng yêu cầu riêng về trình duyệt, phiên hoặc thông tin xác thực ứng dụng.
- URL cơ sở:
- https://api.s.id/v2
- Thao tác
- 38
- Phạm vi
- 10
Xác thực
Thông tin xác thực được giới hạn theo phạm vi. Thiếu phạm vi bắt buộc sẽ trả về 403 insufficient_scope. Chỉ yêu cầu quyền mà tích hợp của bạn cần.
Authorization: Bearer sk_live_...Các endpoint
Danh mục endpoint
Mở rộng một thao tác để xem chính xác URL cơ sở, phương thức xác thực, dữ liệu đầu vào và các mã phản hồi có thể có.
Links
GET/linksLiệt kê liên kết
Returns a paginated list of the authenticated user's links.
- URL cơ sở
- https://api.s.id/v2
- Xác thực
- Khóa API hoặc OAuth 2.0
Phạm vi
links:readTham số
pagequery · integerlimitquery · integersearchquery · stringFilter by short code or URL
Phản hồi
200List of links401403429POST/linksTạo liên kết
- URL cơ sở
- https://api.s.id/v2
- Xác thực
- Khóa API hoặc OAuth 2.0
Phạm vi
links:writeNội dung yêu cầu
long_urlstringBắt buộcThe 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
Phản hồi
200401403422429POST/links/availableKiểm tra slug còn trống
Checks whether a custom slug is available before creating a link.
- URL cơ sở
- https://api.s.id/v2
- Xác thực
- Khóa API hoặc OAuth 2.0
Phạm vi
links:readNội dung yêu cầu
shortstringBắt buộcdomain_aliasstringCustom domain, if any
Phản hồi
200Slug is available401422Slug is taken or invalidGET/links/{short}Lấy liên kết
- URL cơ sở
- https://api.s.id/v2
- Xác thực
- Khóa API hoặc OAuth 2.0
Phạm vi
links:readTham số
shortpath · stringBắt buộcThe short code of the link
Phản hồi
200401404PUT/links/{short}Cập nhật liên kết
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).
- URL cơ sở
- https://api.s.id/v2
- Xác thực
- Khóa API hoặc OAuth 2.0
Phạm vi
links:writeTham số
shortpath · stringBắt buộcThe short code of the link
Nội dung yêu cầu
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)
Phản hồi
200401403404422429DELETE/links/{short}Lưu trữ liên kết
Archives (soft-deletes) a link. The short code stops resolving. Use `POST /links/{short}/unarchive` to restore.
- URL cơ sở
- https://api.s.id/v2
- Xác thực
- Khóa API hoặc OAuth 2.0
Phạm vi
links:archiveTham số
shortpath · stringBắt buộcThe short code of the link
Phản hồi
200Link archived401404429POST/links/{short}/unarchiveKhôi phục liên kết đã lưu trữ
Restores a previously archived link, making its short code resolve again.
- URL cơ sở
- https://api.s.id/v2
- Xác thực
- Khóa API hoặc OAuth 2.0
Phạm vi
links:writeTham số
shortpath · stringBắt buộcThe short code of the archived link
Phản hồi
200Link restored401403404429GET/links/{short}/statsDòng thời gian lượt nhấp liên kết
Returns a date-bucketed click-count timeline for the link.
- URL cơ sở
- https://api.s.id/v2
- Xác thực
- Khóa API hoặc OAuth 2.0
Phạm vi
links:analyticsTham số
shortpath · stringBắt buộcstartquery · stringendquery · string
Phản hồi
200Click timeline401403404429GET/links/{short}/stats/lifetimeTổng lượt nhấp trọn đời
Returns the all-time total click count for a single link.
- URL cơ sở
- https://api.s.id/v2
- Xác thực
- Khóa API hoặc OAuth 2.0
Phạm vi
links:analyticsTham số
shortpath · stringBắt buộc
Phản hồi
200Lifetime click count401403404429POST/links/bulkTạo hàng loạt liên kết
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.
- URL cơ sở
- https://api.s.id/v2
- Xác thực
- Khóa API hoặc OAuth 2.0
Phạm vi
links:writeNội dung yêu cầu
linksarray<object>Bắt buộc
Phản hồi
200Bulk result — individual items may have success=false401402Plan upgrade required (bulk shortening not in plan)403User
GET/userLấy người dùng đã xác thực
- URL cơ sở
- https://api.s.id/v2
- Xác thực
- Khóa API hoặc OAuth 2.0
Phạm vi
user:readPhản hồi
200User profile401429GET/quotaLấy hạn mức tài khoản
Returns the authenticated user's current plan limits and usage counters.
- URL cơ sở
- https://api.s.id/v2
- Xác thực
- Khóa API hoặc OAuth 2.0
Phạm vi
user:readPhản hồi
200Account quota401429Microsites
GET/micrositesLiệt kê microsite
Returns a paginated list of microsites owned by the authenticated user.
- URL cơ sở
- https://api.s.id/v2
- Xác thực
- Khóa API hoặc OAuth 2.0
Phạm vi
microsites:readTham số
limitquery · integerafterquery · stringCursor for the next page (opaque string from previous response)
Phản hồi
200List of microsites401403POST/micrositesTạo microsite
- URL cơ sở
- https://api.s.id/v2
- Xác thực
- Khóa API hoặc OAuth 2.0
Phạm vi
microsites:writeNội dung yêu cầu
slugstringBắt buộcURL-safe identifier (alphanumeric + hyphens/underscores)
titlestringBắt buộckindstringBắt buộcMicrosite category (e.g. `personal_branding`, `brand`, `other`)
themestringTheme slug (optional, defaults to the platform default)
Phản hồi
200Microsite created400Validation error (slug already taken, quota exceeded, etc.)401403GET/microsites/{slug}Lấy microsite
- URL cơ sở
- https://api.s.id/v2
- Xác thực
- Khóa API hoặc OAuth 2.0
Phạm vi
microsites:readTham số
slugpath · stringBắt buộc
Phản hồi
200Microsite detail401403404Microsite not foundPUT/microsites/{slug}Cập nhật microsite
Patches title, description, and/or visibility. All fields are optional.
- URL cơ sở
- https://api.s.id/v2
- Xác thực
- Khóa API hoặc OAuth 2.0
Phạm vi
microsites:writeTham số
slugpath · stringBắt buộc
Nội dung yêu cầu
titlestringdescriptionstringhidebooleanSet `true` to hide the microsite from public (requires plan that supports visibility toggle)
Phản hồi
200Updated microsite401403404Microsite not foundDELETE/microsites/{slug}Xóa microsite
- URL cơ sở
- https://api.s.id/v2
- Xác thực
- Khóa API hoặc OAuth 2.0
Phạm vi
microsites:deleteTham số
slugpath · stringBắt buộc
Phản hồi
200Microsite deleted401403404Microsite not foundPOST/microsites/availableKiểm tra slug microsite còn trống
Checks whether a microsite slug is available before creating a microsite.
- URL cơ sở
- https://api.s.id/v2
- Xác thực
- Khóa API hoặc OAuth 2.0
Phạm vi
microsites:readNội dung yêu cầu
slugstringBắt buộc
Phản hồi
200Slug availability result401403429GET/microsites/{slug}/componentsLiệt kê thành phần microsite
Returns the components belonging to a microsite, in display order.
- URL cơ sở
- https://api.s.id/v2
- Xác thực
- Khóa API hoặc OAuth 2.0
Phạm vi
microsites:readTham số
slugpath · stringBắt buộcThe slug of the microsite
Phản hồi
200List of microsite components401403404429POST/microsites/{slug}/componentsThêm thành phần microsite
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).
- URL cơ sở
- https://api.s.id/v2
- Xác thực
- Khóa API hoặc OAuth 2.0
Phạm vi
microsites:writeTham số
slugpath · stringBắt buộcThe slug of the microsite
Nội dung yêu cầu
kindstringBắt buộcComponent kind. The shape of `data` depends on this value.
dataobjectBắt buộcKind-specific component data. Its shape depends on `kind`. See the operation description and examples below.
tagstringOptional grouping tag
Phản hồi
200Component created401403404422429PUT/microsites/{slug}/components/{componentId}Cập nhật thành phần microsite
Updates a single microsite component.
- URL cơ sở
- https://api.s.id/v2
- Xác thực
- Khóa API hoặc OAuth 2.0
Phạm vi
microsites:writeTham số
slugpath · stringBắt buộcThe slug of the microsite
componentIdpath · stringBắt buộcThe component ID
Nội dung yêu cầu
activebooleanBắt buộcWhether the component is shown
kindstringBắt buộcComponent kind (e.g. `LINK`, `PROFILE`, `TEXT`)
dataobjectBắt buộcKind-specific component data
Phản hồi
200Component updated401403404422429DELETE/microsites/{slug}/components/{componentId}Xóa thành phần microsite
Deletes a single microsite component.
- URL cơ sở
- https://api.s.id/v2
- Xác thực
- Khóa API hoặc OAuth 2.0
Phạm vi
microsites:deleteTham số
slugpath · stringBắt buộcThe slug of the microsite
componentIdpath · stringBắt buộcThe component ID
Phản hồi
200Component deleted401403404429POST/microsites/{slug}/components/orderSắp xếp lại thành phần microsite
Reorders a microsite's components according to the provided list of component IDs.
- URL cơ sở
- https://api.s.id/v2
- Xác thực
- Khóa API hoặc OAuth 2.0
Phạm vi
microsites:writeTham số
slugpath · stringBắt buộcThe slug of the microsite
Nội dung yêu cầu
ordersarray<string>Bắt buộcComponent IDs in the desired display order
Phản hồi
200Components reordered401403404422429Analytics
GET/statsPhân tích lượt nhấp cấp tài khoản
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.
- URL cơ sở
- https://api.s.id/v2
- Xác thực
- Khóa API hoặc OAuth 2.0
Phạm vi
links:analyticsTham số
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
Phản hồi
200Account analytics401403QR
GET/qrLấy cài đặt QR toàn cục
Returns the account-level (global) QR code settings applied to QR codes by default.
- URL cơ sở
- https://api.s.id/v2
- Xác thực
- Khóa API hoặc OAuth 2.0
Phạm vi
qr:readPhản hồi
200Global QR settings401403429PUT/qrTùy chỉnh cài đặt QR toàn cục
Updates the account-level (global) QR code settings. All fields are optional; omitted fields are left unchanged.
- URL cơ sở
- https://api.s.id/v2
- Xác thực
- Khóa API hoặc OAuth 2.0
Phạm vi
qr:writeNội dung yêu cầu
logostringURL of the logo image embedded in the QR code
colorstringForeground color as a hex value, e.g. #1a56db
Phản hồi
200Updated global QR settings401403422429GET/links/{short}/qrLấy cài đặt QR của liên kết
Returns the QR code settings for a single link.
- URL cơ sở
- https://api.s.id/v2
- Xác thực
- Khóa API hoặc OAuth 2.0
Phạm vi
qr:readTham số
shortpath · stringBắt buộcThe short code of the link
Phản hồi
200Link QR settings401403404429PUT/links/{short}/qrTùy chỉnh cài đặt QR của liên kết
Updates the QR code settings for a single link. All fields are optional; omitted fields are left unchanged.
- URL cơ sở
- https://api.s.id/v2
- Xác thực
- Khóa API hoặc OAuth 2.0
Phạm vi
qr:writeTham số
shortpath · stringBắt buộcThe short code of the link
Nội dung yêu cầu
logostringURL of the logo image embedded in the QR code
colorstringForeground color as a hex value, e.g. #1a56db
Phản hồi
200Updated link QR settings401403404422429OAuth 2.0
POST/oauth/tokenĐổi mã hoặc refresh token
- URL cơ sở
- https://api.s.id
- Xác thực
- Khóa API
Nội dung yêu cầu
grant_typestringcodestringredirect_uristringclient_idstringclient_secretstringrefresh_tokenstring
Phản hồi
200Token response400Invalid grant, unsupported_grant_type, or invalid_client401Invalid client credentialsPOST/oauth/revokeThu hồi token
Revokes an access or refresh token. Always returns 200 OK regardless of whether the token was valid (RFC 7009).
- URL cơ sở
- https://api.s.id
- Xác thực
- Khóa API
Nội dung yêu cầu
tokenstringBắt buộc
Phản hồi
200Token revokedPOST/oauth/introspectKiểm tra 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.
- URL cơ sở
- https://api.s.id
- Xác thực
- Khóa API
Nội dung yêu cầu
tokenstringBắt buộcclient_idstringBắt buộcclient_secretstringBắt buộc
Phản hồi
200Introspection result400Missing token/client_id, or invalid client credentialsGET/oauth/userinfoLấy hồ sơ người dùng được ủy quyền
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).
- URL cơ sở
- https://api.s.id
- Xác thực
- OAuth 2.0
Phạm vi
user:readPhản hồi
200User profile401UnauthorizedGET/api/user/oauth/appsLiệt kê ứng dụng được người dùng hiện tại ủy quyền
Returns all OAuth clients that have active tokens for the authenticated user. Auth: user session cookie (not API key).
- URL cơ sở
- https://api.s.id
- Xác thực
- Khóa API
Phản hồi
200List of connected apps401UnauthorizedDELETE/api/user/oauth/apps/{clientId}Thu hồi mọi token của ứng dụng
Revokes all active tokens granted by the current user to the specified OAuth client.
- URL cơ sở
- https://api.s.id
- Xác thực
- Khóa API
Tham số
clientIdpath · stringBắt buộc
Phản hồi
200App access revoked401Unauthorized404App not foundIntegrations
POST/integrations/make/webhook/subscribeĐăng ký webhook Make.com
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.
- URL cơ sở
- https://api.s.id/v2
- Xác thực
- Khóa API
Phản hồi
200Subscribed401UnauthorizedPOST/integrations/make/webhook/unsubscribeHủy đăng ký webhook Make.com
Removes a previously registered Make.com scenario webhook subscription. Authenticated via DeveloperAPIAuth with no scope requirement.
- URL cơ sở
- https://api.s.id/v2
- Xác thực
- Khóa API
Phản hồi
200Unsubscribed401UnauthorizedTham chiếu phạm vi
links:readLiệt kê và đọc liên kết
links:writeTạo và cập nhật liên kết (tạo, sửa, khôi phục)
links:archiveLưu trữ liên kết
links:analyticsĐọc thống kê lượt nhấp và tổng lượt nhấp trọn đời của từng liên kết
qr:readĐọc cài đặt mã QR (toàn cục và theo từng liên kết)
qr:writeTùy chỉnh cài đặt mã QR (toàn cục và theo từng liên kết)
user:readĐọc hồ sơ người dùng đã xác thực và hạn mức tài khoản
microsites:readĐọc microsite
microsites:writeTạo, cập nhật và quản lý thành phần microsite
microsites:deleteXóa microsite và các thành phần
Giới hạn tốc độ
Giới hạn mặc định là 38 yêu cầu mỗi phút cho mỗi thông tin xác thực—mỗi khóa API hoặc token truy cập OAuth. Ứng dụng OAuth còn có tổng giới hạn 500 yêu cầu mỗi phút trên tất cả token.
Phản hồi lỗi thường gặp
- 400
- Yêu cầu sai định dạng hoặc không được hỗ trợ
- 401
- Thiếu, không hợp lệ, đã thu hồi hoặc hết hạn thông tin xác thực
- 403
- Thông tin xác thực không có phạm vi bắt buộc
- 404
- Không tìm thấy tài nguyên được yêu cầu
- 422
- Xác thực yêu cầu không thành công
- 429
- Vượt quá giới hạn tần suất
Sẵn sàng bắt đầu xây dựng?
Tạo API key trong vài phút. Đã có gói miễn phí, không cần thẻ tín dụng.
