Install
openclaw skills install announcementQuery BingX official announcements by module type — latest announcements, promotions, product updates, maintenance notices, listing/delisting, funding rate,...
openclaw skills install announcementPublic content endpoint for BingX announcements and notices. No authentication or signature required.
| Endpoint | Method | Description | Required | Optional |
|---|---|---|---|---|
/openApi/content/v1/announcement | GET | Announcements by module type (paginated) | None | contentType, language, page |
| Parameter | Type | Required | Description |
|---|---|---|---|
contentType | string | No | Module type (see Enums below). Omit to get default or all. |
language | string | No | Language: zh-tw (Traditional Chinese), en-us (English). |
page | integer | No | Page number for pagination; minimum 1. |
| Value | Description |
|---|---|
LatestAnnouncements | Latest announcements |
LatestPromotions | Latest promotions |
ProductUpdates | Product updates |
AssetMaintenance | Asset maintenance |
SystemMaintenance | System maintenance |
SpotListing | Spot new listings |
FuturesListing | Futures new listings |
InnovationListing | Innovation zone new listings |
FundingRate | Funding rate |
Delisting | Delisting notices |
CryptoScout | Crypto scout |
| Value | Description |
|---|---|
zh-tw | Traditional Chinese |
en-us | English |
Note: If the API returns a validation error for language, use en-us for English (some environments require this value).
zh-tw or en-us.| Header | Value |
|---|---|
X-SOURCE-KEY | BX-AI-SKILL |
Base URLs: see references/base-urls.md
TypeScript helper (no auth):
CONSTRAINT: You MUST copy the
fetchContentfunction below verbatim when generating code. Do NOT rewrite the request or JSON parsing logic. Only modify: (1)BASE_URLSentries for custom environments, (2) business parameters passed tofetchContent.
// Base URLs — see references/base-urls.md for all environments
// Domain priority: .com is mandatory primary; .pro is fallback for network/timeout errors ONLY.
const BASE_URLS = ["https://open-api.bingx.com", "https://open-api.bingx.pro"];
function isNetworkOrTimeout(e: unknown): boolean {
if (e instanceof TypeError) return true;
if (e instanceof DOMException && e.name === "AbortError") return true;
if (e instanceof Error && e.name === "TimeoutError") return true;
return false;
}
async function fetchContent(
path: string,
params: Record<string, string | number> = {}
): Promise<unknown> {
const query = new URLSearchParams(
Object.entries(params).map(([k, v]) => [k, String(v)])
).toString();
for (const base of BASE_URLS) {
try {
const url = `${base}${path}${query ? `?${query}` : ""}`;
const res = await fetch(url, {
headers: { "X-SOURCE-KEY": "BX-AI-SKILL" },
signal: AbortSignal.timeout(10000),
});
const json = await res.json();
if (json.code !== undefined && json.code !== 0) throw new Error(`BingX error ${json.code}: ${json.msg}`);
return json.data ?? json;
} catch (e) {
if (!isNetworkOrTimeout(e) || base === BASE_URLS[BASE_URLS.length - 1]) throw e;
}
}
throw new Error("Unreachable");
}
fetchContent verbatim -- do not simplify or rewriteX-SOURCE-KEY: BX-AI-SKILL header on every requestisNetworkOrTimeout checkLatest announcements, English, page 1:
const data = await fetchContent("/openApi/content/v1/announcement", {
contentType: "LatestAnnouncements",
language: "en-us",
page: 1,
});
// data.list[].title, data.list[].time, data.list[].link
Latest announcements, Traditional Chinese, page 1:
const data = await fetchContent("/openApi/content/v1/announcement", {
contentType: "LatestAnnouncements",
language: "zh-tw",
page: 1,
});
// data.list[].title, data.list[].time, data.list[].link
Crypto scout, Traditional Chinese:
const data = await fetchContent("/openApi/content/v1/announcement", {
contentType: "CryptoScout",
language: "zh-tw",
page: 1,
});
// data.list[].title, data.list[].time, data.list[].link
System maintenance notices:
const data = await fetchContent("/openApi/content/v1/announcement", {
contentType: "SystemMaintenance",
language: "zh-tw",
page: 1,
});
// data.list[].title, data.list[].time, data.list[].link
cURL example (no signature required):
curl -H "X-SOURCE-KEY: BX-AI-SKILL" \
"https://open-api.bingx.com/openApi/content/v1/announcement?contentType=LatestAnnouncements&language=en-us&page=1"
For complete parameter descriptions, optional fields, and full response schemas, see api-reference.md.
LatestAnnouncements.zh-tw or infer from conversation (e.g. user writes in English → en-us).1 when not specified.Please select a module type: LatestAnnouncements, LatestPromotions, ProductUpdates, AssetMaintenance, SystemMaintenance, SpotListing, FuturesListing, InnovationListing, FundingRate, Delisting, CryptoScout. Defaults to LatestAnnouncements if not specified.