curl --request GET \
--url https://api.0xarchive.io/v1/webhooks/limits \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.0xarchive.io/v1/webhooks/limits"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.0xarchive.io/v1/webhooks/limits', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.0xarchive.io/v1/webhooks/limits"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"success": true,
"data": {
"plan": "pro",
"included": true,
"preview_included": true,
"endpoints": {
"used": 1,
"limit": 4,
"remaining": 3
},
"subscriptions": {
"used": 1,
"limit": 4,
"remaining": 3
},
"watched_addresses": {
"used": 1,
"limit": 4,
"remaining": 3
},
"deliveries_per_day": {
"used": 412,
"limit": 50000,
"remaining": 49588,
"unlimited": false,
"resets_at": "2023-11-07T05:31:56Z",
"resets_at_note": "<string>"
},
"paused_subscriptions": {
"count": 0,
"reasons": [],
"earliest_paused_at": "2023-11-07T05:31:56Z",
"message": "<string>"
},
"plan_label": "Pro",
"notice": "<string>"
}
}{
"code": 401,
"error": "Missing or invalid API key. Provide X-API-Key header."
}{
"code": 429,
"error": "Rate limit exceeded"
}Get webhook plan limits and usage
0xArchive API reference for Get webhook plan limits and usage. Includes route metadata, schemas, examples, and implementation notes.
curl --request GET \
--url https://api.0xarchive.io/v1/webhooks/limits \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.0xarchive.io/v1/webhooks/limits"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.0xarchive.io/v1/webhooks/limits', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.0xarchive.io/v1/webhooks/limits"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"success": true,
"data": {
"plan": "pro",
"included": true,
"preview_included": true,
"endpoints": {
"used": 1,
"limit": 4,
"remaining": 3
},
"subscriptions": {
"used": 1,
"limit": 4,
"remaining": 3
},
"watched_addresses": {
"used": 1,
"limit": 4,
"remaining": 3
},
"deliveries_per_day": {
"used": 412,
"limit": 50000,
"remaining": 49588,
"unlimited": false,
"resets_at": "2023-11-07T05:31:56Z",
"resets_at_note": "<string>"
},
"paused_subscriptions": {
"count": 0,
"reasons": [],
"earliest_paused_at": "2023-11-07T05:31:56Z",
"message": "<string>"
},
"plan_label": "Pro",
"notice": "<string>"
}
}{
"code": 401,
"error": "Missing or invalid API key. Provide X-API-Key header."
}{
"code": 429,
"error": "Rate limit exceeded"
}X-API-Key with this request. See REST authentication.Shared request rules
Shared request rules
Machine schema
Machine schema
Authorizations
API key for authentication. Get yours at https://0xarchive.io/dashboard
Response
Webhook plan limits and current usage
API response containing webhook plan limits and current usage.
true
What this plan allows and what is in use, in one call. Every number is read from the same place the caps are enforced from, so a refusal and this report cannot disagree.
Hide child attributes
Hide child attributes
The plan webhook decisions are priced at.
"pro"
Whether the plan has webhook delivery at all. False on Free, where every cap is zero.
true
Whether the estimate and the dry-run are available. True on every plan, including Free.
true
One cap: what the plan allows, what is in use, and what is left.
Hide child attributes
Hide child attributes
In use now.
1
What the plan allows. Zero on a plan without webhook delivery.
4
What is left, never below zero. A plan change can leave an account legitimately over a cap.
3
One cap: what the plan allows, what is in use, and what is left.
Hide child attributes
Hide child attributes
In use now.
1
What the plan allows. Zero on a plan without webhook delivery.
4
What is left, never below zero. A plan change can leave an account legitimately over a cap.
3
One cap: what the plan allows, what is in use, and what is left.
Hide child attributes
Hide child attributes
In use now.
1
What the plan allows. Zero on a plan without webhook delivery.
4
What is left, never below zero. A plan change can leave an account legitimately over a cap.
3
Today's delivery budget. The budget resets on its own; a paused rule does not.
Hide child attributes
Hide child attributes
Deliveries today.
412
Deliveries a day the plan allows. Null when the plan has no ceiling.
50000
Deliveries left today, never below zero. Null when the plan has no ceiling.
49588
True when the plan has no daily ceiling.
false
When the budget resets.
Present only while something is paused, to say that the reset time is the budget's and not the pause's.
Paused rules on the account. Always present, so zero paused needs no special case.
Hide child attributes
Hide child attributes
How many rules are paused and delivering nothing.
0
Distinct causes across the paused rules: the account reached its daily delivery limit, or the plan does not include webhook delivery.
[]
Start of the oldest pause still in force.
What is paused and what clears it, in plain words. Present only when something is paused.
The plan's display name, or null for a plan this build cannot name.
"Pro"
Why the caps are zero, and what to do about it. Present only on a plan without webhook delivery.
Was this page helpful?