Stability Level Long-Term

The removeExpirationFromLimit() GraphQL mutation is used to remove the expiration date from a limit.

This mutation requires either ManageClusters or ManageOrganizations permission on the cluster.

To add a limit, you would use the addLimitV2() mutation. To update a limit, use the updateLimitV2() mutation. You could also use the updateOrganizationLimits() for updating an organization's limits. You might find setLimitDisplayName() useful to set the display name for a limit, or the updateRepositoryLimitId() for changing the identifier of a repository limit. To remove a limit, use removeLimitWithId().

Hide Query Example

Show Limit Settings Query

For more information on query quotas, see the Query Quotas documentation page. You may also want to look at Limits and Standards for related information.

Syntax

graphql
removeExpirationFromLimit(
     input: RemoveExpirationFromLimitInput!
   ): LimitV2!

For the input datatype, you would give the unique identifier of the limit you want to expire. Click on Show Query above to see how to get the identifier. See the Given Datatype section for the input parameter.

For the results, you can get user and storage limits, and other information on the limits. See the Returned Datatype section.

Example

Raw
graphql
mutation {
  removeExpirationFromLimit(
    input: { id: "abc123" }
  ) {id, limitName } }
}
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" : "mutation {
  removeExpirationFromLimit(
    input: { id: \"abc123\" }
  ) {id, limitName } }
}"
}
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" : "mutation {
  removeExpirationFromLimit(
    input: { id: \"abc123\" }
  ) {id, limitName } }
}"
}
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" : "mutation { ^
  removeExpirationFromLimit( ^
    input: { id: \"abc123\" } ^
  ) {id, limitName } } ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  removeExpirationFromLimit(
    input: { id: \"abc123\" }
  ) {id, limitName } }
}"
}'
    "$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 = "mutation {
  removeExpirationFromLimit(
    input: { id: \"abc123\" }
  ) {id, limitName } }
}";
$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" : "mutation {
  removeExpirationFromLimit(
    input: { id: \"abc123\" }
  ) {id, limitName } }
}"
}'''

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" : "mutation {
  removeExpirationFromLimit(
    input: { id: \"abc123\" }
  ) {id, limitName } }
}"
}
);


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": {
    "removeExpirationFromLimit": {
      "id": "abc123",
      "name": "ltd-1"
    }
  }
}

Given Datatype

For the input datatype, you would give the unique identifier of the limit you want to expire. Click on Show Query above the Syntax section to see how to get the identifier.

Table: RemoveExpirationFromLimitInput

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: Apr 10, 2026
idstringyes Long-TermThe unique identifier of the limit from which to remove expiration.

Returned Datatype

With the returned datatype, you can get user and storage limits, and information on daily ingesting. The table below lists the parameters you can request and links to sub-parameters:

Table: LimitV2

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: Jun 26, 2025
allowFlightControlbooleanyes Long-TermWhether the customer is allowed flight control.
allowLoginbooleanyes Long-TermWhether the limit allows logging in.
allowSelfServicebooleanyes Long-TermWhether the limit allows self service.
dailyIngestcontractualyes Long-TermThe daily ingest allowed for the limit.
dataScannedLimitcontractualyes Long-TermThe data scanned measurement allowed for the limit. See Limited.
dataTypestringyes Long-TermData type for the limit, all repositories linked to the limit will get this datatype logged in usage.
deletedDatelong  Long-TermThe deleted date for the limit.
displayNamestringyes Long-TermThe display name of the limit.
expirationDatelong  Long-TermThe expiration date for the limit.
idstringyes Long-TermThe unique identifier of the limit.
limitNamestringyes Long-TermThe name of the limit.
maxRetentionintegeryes Long-TermThe max retention in days allowed for the limit, this can be greater than or equal to retention.
measurementPointOrganizations__MeasurementTypeyes Long-TermThe usage measurement type used for the limit. See Organizations__MeasurementType.
repoLimitinteger  Long-TermThe number of repositories allowed for the limit.
repositories[Repository]yes Long-TermThe repositories related to the limit. See Repository.
retentionintegeryes Long-TermThe retention in days allowed for the limit, that's the contracted value.
storageLimitcontractualyes Long-TermThe amount of storage allowed for the limit. See Limited.
trialbooleanyes Long-TermWhether the limit is a trial.
userLimitcontractualyes Long-TermThe user seats allowed for the limit. See Limited.