curl -X GET http://localhost:9000/v2/announcementsThis endpoint returns a JSON array of announcement objects.
The announcement object contains following fields:
id - event id
oracleName - name of the oracle
description - event description
uri - event URI (can be null)
announcement - event announcement TLV in hex form
attestations - event attestations in hex form (can be null)
outcome - event outcome (can be null)
Output example
{
"result": [
{
"id": "780410ad590eda01f38ebc0304b08875b1e0bb1dc5c19de7f3578436f109000d",
"oracleName": "oracle",
"description": "event",
"uri": "http://uri",
"announcement": "fdd82499090fdac1f543cd9698f3a82bd49589d042630649ea1be2ec1242bd6344f8e4b43bd0d6f305a90e149ab1600638750dbf4c59d6d8b4dd877cd0d8f3afd33a8a9e78cf417c9b410873051244fced1e82676f4ca6328ad9e18dcba9d1b04636b0e5fdd822350001342813ce0696df9b1982a1bbf76b8608587fe3582a1b397469b9e12351cefba870dbd880fdd806060002013101320474657374",
"attestations": "fdd86869047465737478cf417c9b410873051244fced1e82676f4ca6328ad9e18dcba9d1b04636b0e50001342813ce0696df9b1982a1bbf76b8608587fe3582a1b397469b9e12351cefba8a9b939a76cb73153b07e74e6b608094f85e13499ed4b4158d8a2fe7ddaeaefa80131",
"outcome": "1"
}
],
"error": null
}You can specify filters as query string parameters. For example:
curl -X GET http://localhost:9000/v2/announcements?oracleName=oracleCurrently the API supports only oracleName filter, that allows to filter announcements posted by a specific oracle.
Also you can specify sort order as a query string parameter. For example:
curl -X GET http://localhost:9000/v2/announcements?sortBy=createdAtSupported sort orders:
| Sort Order | Description |
|---|---|
createdAt |
Insertion order |
createdAt- |
Reverse insertion order |
By default the API returns 100 latest announcements. To retrieve older ones use page parameter. page value is zero-based page number. Page size is 100 announcements per page.
You'll need an announcement id to perform this call (it's 780410ad590eda01f38ebc0304b08875b1e0bb1dc5c19de7f3578436f109000d in this example).
curl -i -X GET http://localhost:9000/v2/announcements/780410ad590eda01f38ebc0304b08875b1e0bb1dc5c19de7f3578436f109000dIt returns a JSON object of the same type.
HTTP Status:
201 - success 500 - error
Output example
{
"result": {
"id": "780410ad590eda01f38ebc0304b08875b1e0bb1dc5c19de7f3578436f109000d",
"oracleName": "oracle",
"description": "event",
"uri": "http://uri",
"announcement": "fdd82499090fdac1f543cd9698f3a82bd49589d042630649ea1be2ec1242bd6344f8e4b43bd0d6f305a90e149ab1600638750dbf4c59d6d8b4dd877cd0d8f3afd33a8a9e78cf417c9b410873051244fced1e82676f4ca6328ad9e18dcba9d1b04636b0e5fdd822350001342813ce0696df9b1982a1bbf76b8608587fe3582a1b397469b9e12351cefba870dbd880fdd806060002013101320474657374",
"attestations": null,
"outcome": null
},
"error": null
}
Submit an HTTP form like this:
curl -i -X POST http://localhost:9000/v2/announcements \
-F "oracleName=suredbits-oracle-bot" \
-F "description=event" \
-F "uri=http://uri" \
-F "oracleAnnouncementV0=fdd82499090fdac1f543cd9698f3a82bd49589d042630649ea1be2ec1242bd6344f8e4b43bd0d6f305a90e149ab1600638750dbf4c59d6d8b4dd877cd0d8f3afd33a8a9e78cf417c9b410873051244fced1e82676f4ca6328ad9e18dcba9d1b04636b0e5fdd822350001342813ce0696df9b1982a1bbf76b8608587fe3582a1b397469b9e12351cefba870dbd880fdd806060002013101320474657374"Form fields:
oracleName - the heman readable name of the oracle
description - the event description
uri - the event URI (optional)
oracleAnnouncementV0 - the oracle announcement (v0) in hex form
The output body contains the event id as a JSON string.
HTTP Status:
201 - success 500 - error
Output example:
{
"result": "780410ad590eda01f38ebc0304b08875b1e0bb1dc5c19de7f3578436f109000d",
"error": null
}Use the event id (it's 780410ad590eda01f38ebc0304b08875b1e0bb1dc5c19de7f3578436f109000d for this example),
and post the form:
curl -i -X POST http://localhost:9000/v2/announcements/780410ad590eda01f38ebc0304b08875b1e0bb1dc5c19de7f3578436f109000d/attestations \
-F "attestations=fdd86869047465737478cf417c9b410873051244fced1e82676f4ca6328ad9e18dcba9d1b04636b0e50001342813ce0696df9b1982a1bbf76b8608587fe3582a1b397469b9e12351cefba8a9b939a76cb73153b07e74e6b608094f85e13499ed4b4158d8a2fe7ddaeaefa80131"where
attestations - the event's attestation in hex form
The output body contains the event metadata as a JSON object.
HTTP Status:
201 - success 500 - error
Output example:
{
"result": {
"id": "780410ad590eda01f38ebc0304b08875b1e0bb1dc5c19de7f3578436f109000d",
"oracleName": "oracle",
"description": "event",
"uri": "http://uri",
"announcement": "fdd82499090fdac1f543cd9698f3a82bd49589d042630649ea1be2ec1242bd6344f8e4b43bd0d6f305a90e149ab1600638750dbf4c59d6d8b4dd877cd0d8f3afd33a8a9e78cf417c9b410873051244fced1e82676f4ca6328ad9e18dcba9d1b04636b0e5fdd822350001342813ce0696df9b1982a1bbf76b8608587fe3582a1b397469b9e12351cefba870dbd880fdd806060002013101320474657374",
"attestations": "fdd86869047465737478cf417c9b410873051244fced1e82676f4ca6328ad9e18dcba9d1b04636b0e50001342813ce0696df9b1982a1bbf76b8608587fe3582a1b397469b9e12351cefba8a9b939a76cb73153b07e74e6b608094f85e13499ed4b4158d8a2fe7ddaeaefa80131",
"outcome": "1"
},
"error": null
}If you have the oracle's public key, you can fetch the username that is registered on oracle explorer. This is useful for desktop clients like krystal bull when submitting events to the oracle explorer
The Schnorr public key (x_point) on the oracle announcement is the parameter in the GET request
curl http://localhost:9000/v2/oracle/1d5dcdba2e64cb116cc0c375a0856298f0058b778f46bfe625ac6576204889e4 {"pubkey":"1d5dcdba2e64cb116cc0c375a0856298f0058b778f46bfe625ac6576204889e4","oracleName":"Chris_Stewart_5"}Output example:
{
"result": {
"pubkey": "1d5dcdba2e64cb116cc0c375a0856298f0058b778f46bfe625ac6576204889e4",
"oracleName": "Chris_Stewart_5"
},
"error": null
}If the public key is not registered on the oracle explorer, you will get a response of null
curl http://localhost:9000/v2/oracle/e31ede6aa249a0d1efe0977380d6c1ee968c3a796ecdf2a6a45de57d60d4c489null