curl --request GET \
--url https://api.orderly.org/v2/public/announcement/activeimport requests
url = "https://api.orderly.org/v2/public/announcement/active"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.orderly.org/v2/public/announcement/active', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.orderly.org/v2/public/announcement/active",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.orderly.org/v2/public/announcement/active"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.orderly.org/v2/public/announcement/active")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.orderly.org/v2/public/announcement/active")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"success": true,
"timestamp": 1789430400000,
"data": {
"last_updated_time": 1789426800000,
"rows": [
{
"announcement_id": 12345,
"message": "New perpetual market listing",
"url": null,
"i18n": {
"zh": "新永續合約市場上架",
"es": null,
"fr": null,
"jp": null,
"ko": null
},
"type": "LISTING",
"updated_time": 1789426800000,
"is_official": true,
"category": "LISTINGS",
"slug": "new-perpetual-market-listing",
"published_time": 1789426800000,
"notification_card_end_time": 1789513200000,
"translations": {
"en": {
"title": "New perpetual market listing",
"content": "A new perpetual market is now available."
},
"zh": {
"title": "新永續合約市場上架",
"content": "新的永續合約市場現已開放交易。"
}
}
}
]
}
}{
"success": false,
"code": -1005,
"message": "category is invalid"
}Get active announcement cards
Limit: 10 requests per 1 second per IP address
Returns published announcements whose notification_card_end_time is later than the current server time. Use this endpoint to load notification cards with their content. Card expiration affects card eligibility. Published announcements remain available through the list and detail endpoints while they are published.
Uses the same official and builder scope as the list endpoint. Results are not paginated and do not include meta.
The response includes message and i18n for backward compatibility. For new integrations, read the title and content from translations and use translations.en for both if the requested language is unavailable.
curl --request GET \
--url https://api.orderly.org/v2/public/announcement/activeimport requests
url = "https://api.orderly.org/v2/public/announcement/active"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.orderly.org/v2/public/announcement/active', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.orderly.org/v2/public/announcement/active",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.orderly.org/v2/public/announcement/active"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.orderly.org/v2/public/announcement/active")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.orderly.org/v2/public/announcement/active")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"success": true,
"timestamp": 1789430400000,
"data": {
"last_updated_time": 1789426800000,
"rows": [
{
"announcement_id": 12345,
"message": "New perpetual market listing",
"url": null,
"i18n": {
"zh": "新永續合約市場上架",
"es": null,
"fr": null,
"jp": null,
"ko": null
},
"type": "LISTING",
"updated_time": 1789426800000,
"is_official": true,
"category": "LISTINGS",
"slug": "new-perpetual-market-listing",
"published_time": 1789426800000,
"notification_card_end_time": 1789513200000,
"translations": {
"en": {
"title": "New perpetual market listing",
"content": "A new perpetual market is now available."
},
"zh": {
"title": "新永續合約市場上架",
"content": "新的永續合約市場現已開放交易。"
}
}
}
]
}
}{
"success": false,
"code": -1005,
"message": "category is invalid"
}Query Parameters
Builder ID. If omitted, only official announcements are in scope. The ID must refer to an existing builder.
Exclude official announcements from the result.
Case-insensitive category filter: CAMPAIGN, LISTINGS, DELISTINGS, UPDATES, LEGAL, or OTHERS.
Case-insensitive locale: en, zh, es, fr, ja, or ko. If provided, translations includes English and the requested translation when available. If omitted, all complete translations are returned. Use ja for Japanese.