# Feature Flags APIs to create and manage Feature Flags ## Returns all Feature Flags for the project - [GET /cf/admin/features](https://apidocs.harness.io/openapi-merged/feature-flags/getallfeatures.md): Returns all the Feature Flag details for the given project ## Creates a Feature Flag - [POST /cf/admin/features](https://apidocs.harness.io/openapi-merged/feature-flags/createfeatureflag.md): Creates a Feature Flag in the Project ## Delete a Feature Flag - [DELETE /cf/admin/features/{identifier}](https://apidocs.harness.io/openapi-merged/feature-flags/deletefeatureflag.md): Delete Feature Flag for the given identifier and account ID ## Returns a Feature Flag - [GET /cf/admin/features/{identifier}](https://apidocs.harness.io/openapi-merged/feature-flags/getfeatureflag.md): Returns details such as Variation name, identifier etc for the given Feature Flag ## Updates a Feature Flag - [PATCH /cf/admin/features/{identifier}](https://apidocs.harness.io/openapi-merged/feature-flags/patchfeature.md): This operation is used to modify a Feature Flag. The request body can include one or more instructions that can modify flag attributes such as the state (off|on), the variations that are returned and serving rules. For example if you want to turn a flag off you can use this opeartion and send the setFeatureFlagState { "kind": "setFeatureFlagState", "parameters": { "state": "off" } } ## Updates a Feature Flag - [PUT /cf/admin/features/{identifier}](https://apidocs.harness.io/openapi-merged/feature-flags/putfeatureflag.md): Updates a Feature Flag in the Project ## Return a list of dependant flags - [GET /cf/admin/features/{identifier}/dependants](https://apidocs.harness.io/openapi-merged/feature-flags/getdependentfeatures.md): Given identifier return list all the flags which depend on it. ## Restore a Feature Flag - [POST /cf/admin/features/{identifier}/restore](https://apidocs.harness.io/openapi-merged/feature-flags/restorefeatureflag.md): Restore Feature Flag for the given identifier and account ID