curl --request GET \
--url https://api.orderly.org/v2/public/announcement/detailimport requests
url = "https://api.orderly.org/v2/public/announcement/detail"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.orderly.org/v2/public/announcement/detail', 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/detail",
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/detail"
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/detail")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.orderly.org/v2/public/announcement/detail")
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": {
"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": "新的永續合約市場現已開放交易。"
}
}
}
}Get announcement details
Limit: 10 requests per 1 second per IP address
Returns one published announcement with its translated titles and content. Provide exactly one of announcement_id or slug.
When looking up by ID, omit broker_id for official announcements or supply it to search official and builder announcements.
When looking up by slug, set is_official=true to search official announcements, or provide broker_id to search only that builder’s announcements. A slug is unique within its source.
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.
A lookup with no matching published announcement returns HTTP 400 with RESOURCE_NOT_FOUND (code -1006).
curl --request GET \
--url https://api.orderly.org/v2/public/announcement/detailimport requests
url = "https://api.orderly.org/v2/public/announcement/detail"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.orderly.org/v2/public/announcement/detail', 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/detail",
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/detail"
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/detail")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.orderly.org/v2/public/announcement/detail")
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": {
"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": "新的永續合約市場現已開放交易。"
}
}
}
}Query Parameters
Announcement ID. Provide either this parameter or slug.
Announcement slug. Leading and trailing whitespace is trimmed. Provide either this parameter or announcement_id.
When looking up by slug, set to true to search official announcements. In this case, broker_id is ignored. This parameter has no effect on ID lookups.
Optional for ID lookups. Required for slug lookups unless is_official is true.