API Stability Short-Term

The queryQuotaDefaultSettings() GraphQL query retrieves query quota default settings.

Related to this query field, there are the addOrUpdateQueryQuotaDefaultSettings() and removeQueryQuotaDefaultSettings() mutation fields to add, update and remove default quotas. Similarly, there are the addOrUpdateQueryQuotaUserSettings() and removeQueryQuotaUserSettings() mutations related to user specific query quotas.

Regarding query quotas, you may also find useful the queryQuotaUserSettings() and queryQuotaUsage() to get quota settings and usage for a user. Also, there is the exceededQueryQuotas() query to see if a user exceeded the quotas, as well as the resetQuota() mutation to set quotas or to reset them to the default.

For more information on query quotas, see the Query Quotas documentation page.

Syntax

graphql
queryQuotaDefaultSettings: [QueryQuotaIntervalSetting]!

There isn't an input for this query field. For the results, you can get settings for the query quota interval (e.g., daily), what's measured (e.g., query counts), and other such data. See the Returned Datatype section for more.

Example

Below is an example of how this query field might be used:

Raw
graphql
query {
  queryQuotaDefaultSettings 
     { interval, value, valueKind, 
       measurementKind, source }
}
Mac OS or Linux (curl)
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-Type: application/json" \
    -d @- << EOF
{"query" : "query {
  queryQuotaDefaultSettings 
     { interval, value, valueKind, 
       measurementKind, source }
}"
}
EOF
Mac OS or Linux (curl) One-line
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-Type: application/json" \
    -d @- << EOF
{"query" : "query {
  queryQuotaDefaultSettings 
     { interval, value, valueKind, 
       measurementKind, source }
}"
}
EOF
Windows Cmd and curl
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql ^
    -H "Authorization: Bearer $TOKEN" ^
    -H "Content-Type: application/json" ^
    -d @'{"query" : "query { ^
  queryQuotaDefaultSettings  ^
     { interval, value, valueKind,  ^
       measurementKind, source } ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "query {
  queryQuotaDefaultSettings 
     { interval, value, valueKind, 
       measurementKind, source }
}"
}'
    "$YOUR_LOGSCALE_URL/graphql"
Perl
perl
#!/usr/bin/perl

use HTTP::Request;
use LWP;

my $TOKEN = "TOKEN";

my $uri = '$YOUR_LOGSCALE_URL/graphql';

my $query = "query {
  queryQuotaDefaultSettings 
     { interval, value, valueKind, 
       measurementKind, source }
}";
$query =~ s/\n/ /g;
my $json = sprintf('{"query" : "%s"}',$query);
my $req = HTTP::Request->new("POST", $uri );

$req->header("Authorization" => "Bearer $TOKEN");
$req->header("Content-Type" => "application/json");

$req->content( $json );

my $lwp = LWP::UserAgent->new;

my $result = $lwp->request( $req );

print $result->{"_content"},"\n";
Python
python
#! /usr/local/bin/python3

import requests

url = '$YOUR_LOGSCALE_URL/graphql'
mydata = r'''{"query" : "query {
  queryQuotaDefaultSettings 
     { interval, value, valueKind, 
       measurementKind, source }
}"
}'''

resp = requests.post(url,
                     data = mydata,
                     headers = {
   "Authorization" : "Bearer $TOKEN",
   "Content-Type" : "application/json"
}
)

print(resp.text)
Node.js
javascript
const https = require('https');

const data = JSON.stringify(
    {"query" : "query {
  queryQuotaDefaultSettings 
     { interval, value, valueKind, 
       measurementKind, source }
}"
}
);


const options = {
  hostname: '$YOUR_LOGSCALE_URL',
  path: 'graphql',
  port: 443,
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Content-Length': data.length,
    Authorization: 'BEARER ' + process.env.TOKEN,
    'User-Agent': 'Node',
  },
};

const req = https.request(options, (res) => {
  let data = '';
  console.log(`statusCode: ${res.statusCode}`);

  res.on('data', (d) => {
    data += d;
  });
  res.on('end', () => {
    console.log(JSON.parse(data).data);
  });
});

req.on('error', (error) => {
  console.error(error);
});

req.write(data);
req.end();
Example Responses
Success (HTTP Response Code 200 OK)
json
{
  "data": {
    "queryQuotaDefaultSettings": []
  }
}

Returned Datatype

With this returned datatype, you can get the settings for the query quota interval (e.g., daily), what's measured (e.g., query counts), and other such data. Below is a list of parameter — and links to sub-parameters — along with a description of each:

Table: QueryQuotaIntervalSetting

ParameterTypeRequiredDefaultStabilityDescription
Some arguments may be required, as indicated in the Required column. For return datatypes, this indicates that you must specify which fields you want returned in the results.
Table last updated: Oct 2, 2024
intervalQueryQuotaIntervalyes Short-TermThe interval for setting the query quota. See QueryQuotaInterval.
measurementKindQueryQuotaMeasurementKindyes Short-TermThe kind of measurement. See QueryQuotaMeasurementKind.
sourceQueryQuotaIntervalSettingSourceyes Short-TermThe source of the query quota. See QueryQuotaIntervalSettingSource.
valuelong  Short-TermThe query quota value.
valueKindQueryQuotaIntervalSettingKindyes Short-TermThe kind of value. See QueryQuotaIntervalSettingKind.