# Update feature type lifetime PUT https://app.unleash-instance.example.com/api/admin/feature-types/{id}/lifetime Content-Type: application/json Updates the lifetime configuration for the specified [feature flag type](https://docs.getunleash.io/concepts/feature-flags#feature-flag-types). The expected lifetime is an integer representing the number of days before Unleash marks a feature flag of that type as potentially stale. If set to `null` or `0`, then feature flags of that particular type will never be marked as potentially stale. When a feature flag type's expected lifetime is changed, this will also cause any feature flags of this type to be reevaluated for potential staleness. Reference: https://docs.getunleash.io/api/update-feature-type-lifetime ## OpenAPI Specification ```yaml openapi: 3.1.1 info: title: Update feature type lifetime version: endpoint_featureTypes.updateFeatureTypeLifetime paths: /api/admin/feature-types/{id}/lifetime: put: operationId: update-feature-type-lifetime summary: Update feature type lifetime description: >- Updates the lifetime configuration for the specified [feature flag type](https://docs.getunleash.io/concepts/feature-flags#feature-flag-types). The expected lifetime is an integer representing the number of days before Unleash marks a feature flag of that type as potentially stale. If set to `null` or `0`, then feature flags of that particular type will never be marked as potentially stale. When a feature flag type's expected lifetime is changed, this will also cause any feature flags of this type to be reevaluated for potential staleness. tags: - - subpackage_featureTypes parameters: - name: id in: path required: true schema: type: string - name: Authorization in: header description: Header authentication of the form `undefined ` required: true schema: type: string responses: '200': description: featureTypeSchema content: application/json: schema: $ref: '#/components/schemas/featureTypeSchema' '400': description: The request data does not match what we expect. content: {} '401': description: >- Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`. content: {} '403': description: >- The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation content: {} '404': description: The requested resource was not found. content: {} '409': description: >- The provided resource can not be created or updated because it would conflict with the current state of the resource or with an already existing resource, respectively. content: {} '415': description: >- The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the "content-type" header. content: {} requestBody: description: updateFeatureTypeLifetimeSchema content: application/json: schema: $ref: '#/components/schemas/updateFeatureTypeLifetimeSchema' components: schemas: updateFeatureTypeLifetimeSchema: type: object properties: lifetimeDays: type: - integer - 'null' description: >- The new lifetime (in days) that you want to assign to the feature flag type. If the value is `null` or `0`, then the feature flags of that type will never be marked as potentially stale. Otherwise, they will be considered potentially stale after the number of days indicated by this property. required: - lifetimeDays featureTypeSchema: type: object properties: id: type: string description: The identifier of this feature flag type. name: type: string description: The display name of this feature flag type. description: type: string description: >- A description of what this feature flag type is intended to be used for. lifetimeDays: type: - integer - 'null' description: >- How many days it takes before a feature flag of this typed is flagged as [potentially stale](https://docs.getunleash.io/concepts/technical-debt#stale-and-potentially-stale-toggles) by Unleash. If this value is `null`, Unleash will never mark it as potentially stale. required: - id - name - description - lifetimeDays ``` ## SDK Code Examples ```python import requests url = "https://app.unleash-instance.example.com/api/admin/feature-types/id/lifetime" payload = { "lifetimeDays": 7 } headers = { "Authorization": "", "Content-Type": "application/json" } response = requests.put(url, json=payload, headers=headers) print(response.json()) ``` ```javascript const url = 'https://app.unleash-instance.example.com/api/admin/feature-types/id/lifetime'; const options = { method: 'PUT', headers: {Authorization: '', 'Content-Type': 'application/json'}, body: '{"lifetimeDays":7}' }; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://app.unleash-instance.example.com/api/admin/feature-types/id/lifetime" payload := strings.NewReader("{\n \"lifetimeDays\": 7\n}") req, _ := http.NewRequest("PUT", url, payload) req.Header.Add("Authorization", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://app.unleash-instance.example.com/api/admin/feature-types/id/lifetime") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Put.new(url) request["Authorization"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"lifetimeDays\": 7\n}" response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.put("https://app.unleash-instance.example.com/api/admin/feature-types/id/lifetime") .header("Authorization", "") .header("Content-Type", "application/json") .body("{\n \"lifetimeDays\": 7\n}") .asString(); ``` ```php request('PUT', 'https://app.unleash-instance.example.com/api/admin/feature-types/id/lifetime', [ 'body' => '{ "lifetimeDays": 7 }', 'headers' => [ 'Authorization' => '', 'Content-Type' => 'application/json', ], ]); echo $response->getBody(); ``` ```csharp using RestSharp; var client = new RestClient("https://app.unleash-instance.example.com/api/admin/feature-types/id/lifetime"); var request = new RestRequest(Method.PUT); request.AddHeader("Authorization", ""); request.AddHeader("Content-Type", "application/json"); request.AddParameter("application/json", "{\n \"lifetimeDays\": 7\n}", ParameterType.RequestBody); IRestResponse response = client.Execute(request); ``` ```swift import Foundation let headers = [ "Authorization": "", "Content-Type": "application/json" ] let parameters = ["lifetimeDays": 7] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://app.unleash-instance.example.com/api/admin/feature-types/id/lifetime")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "PUT" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ```