mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			167 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			167 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ### Fetching Feature Toggles
 | |
| 
 | |
| `GET: http://unleash.host.com/api/admin/features`
 | |
| 
 | |
| This endpoint is the one all admin ui should use to fetch all available feature toggles 
 | |
| from the _unleash-server_. The response returns all active feature toggles and their 
 | |
| current strategy configuration. A feature toggle will have _at least_ one configured strategy. 
 | |
| A strategy will have a `name` and `parameters` map.
 | |
| 
 | |
| **Example response:**
 | |
| ```json
 | |
| {
 | |
|   "version": 2,
 | |
|   "features": [
 | |
|     {
 | |
|       "name": "Feature.A",
 | |
|       "description": "lorem ipsum",
 | |
|       "enabled": false,
 | |
|       "strategies": [
 | |
|         {
 | |
|           "name": "default",
 | |
|           "parameters": {}
 | |
|         }
 | |
|       ]
 | |
|     },
 | |
|     {
 | |
|       "name": "Feature.B",
 | |
|       "description": "lorem ipsum",
 | |
|       "enabled": true,
 | |
|       "strategies": [
 | |
|         {
 | |
|           "name": "ActiveForUserWithId",
 | |
|           "parameters": {
 | |
|             "userIdList": "123,221,998"
 | |
|           }
 | |
|         },
 | |
|         {
 | |
|           "name": "GradualRolloutRandom",
 | |
|           "parameters": {
 | |
|             "percentage": "10"
 | |
|           }
 | |
|         }
 | |
|       ]
 | |
|     }
 | |
|   ]
 | |
| }
 | |
| ```
 | |
| 
 | |
| `GET: http://unleash.host.com/api/admin/features/:featureName`
 | |
| 
 | |
| Used to fetch details about a specific featureToggle. This is mostly provded to make it easy to 
 | |
| debug the API and should not be used by the client implementations.
 | |
| 
 | |
| ```json
 | |
| {
 | |
|   "name": "Feature.A",
 | |
|   "description": "lorem ipsum..",
 | |
|   "enabled": false,
 | |
|   "strategies": [
 | |
|     {
 | |
|       "name": "default",
 | |
|       "parameters": {}
 | |
|     }
 | |
|   ]
 | |
| }
 | |
| ```
 | |
| 
 | |
| 
 | |
| ### Create a new Feature Toggle
 | |
| 
 | |
| `POST: http://unleash.host.com/api/admin/features/`
 | |
| 
 | |
| **Body:**
 | |
|  ```json
 | |
| {
 | |
|   "name": "Feature.A",
 | |
|   "description": "lorem ipsum..",
 | |
|   "enabled": false,
 | |
|   "strategies": [
 | |
|     {
 | |
|       "name": "default",
 | |
|       "parameters": {}
 | |
|     }
 | |
|   ]
 | |
| }
 | |
| ```
 | |
| 
 | |
| Used by the admin-dashboard to create a new feature toggles. The name **must be unique**, 
 | |
| otherwise you will get a _403-response_.  
 | |
| 
 | |
| Returns 200-respose if the feature toggle was created successfully. 
 | |
| 
 | |
| ### Update a Feature Toggle
 | |
| 
 | |
| `PUT: http://unleash.host.com/api/admin/features/:toggleName`
 | |
| 
 | |
| **Body:**
 | |
|  ```json
 | |
| {
 | |
|   "name": "Feature.A",
 | |
|   "description": "lorem ipsum..",
 | |
|   "enabled": false,
 | |
|   "strategies": [
 | |
|     {
 | |
|       "name": "default",
 | |
|       "parameters": {}
 | |
|     }
 | |
|   ]
 | |
| }
 | |
| ```
 | |
| 
 | |
| Used by the admin dashboard to update a feature toggles. The name has to match an 
 | |
| existing features toggle. 
 | |
| 
 | |
| Returns 200-respose if the feature toggle was updated successfully. 
 | |
| 
 | |
| ### Archive a Feature Toggle
 | |
| 
 | |
| `DELETE: http://unleash.host.com/api/admin/features/:toggleName`
 | |
| 
 | |
| Used to archive a feature toggle. A feature toggle can never be totally be deleted, 
 | |
| but can be archived. This is a design decision to make sure that a old feature 
 | |
| toggle suddenly reappears becuase someone else re-using the same name.
 | |
| 
 | |
| ## Archive
 | |
| 
 | |
| ### Fetch archived toggles
 | |
| 
 | |
| `GET http://unleash.host.com/api/admin/archive/features`
 | |
| 
 | |
| Used to fetch list of archived feature toggles
 | |
| 
 | |
| **Example response:**
 | |
| ```json
 | |
| {
 | |
|   "version": 1,
 | |
|   "features": [
 | |
|     {
 | |
|       "name": "Feature.A",
 | |
|       "description": "lorem ipsum",
 | |
|       "enabled": false,
 | |
|       "strategies": [
 | |
|         {
 | |
|           "name": "default",
 | |
|           "parameters": {}
 | |
|         }
 | |
|       ],
 | |
|       "strategy": "default",
 | |
|       "parameters": {}
 | |
|     }
 | |
|   ]
 | |
| }
 | |
| ```
 | |
| 
 | |
| ### Revive feature toggle
 | |
| 
 | |
| `POST http://unleash.host.com/api/admin/archive/revive`
 | |
| 
 | |
| **Body:**
 | |
|  ```json
 | |
| {
 | |
|   "name": "Feature.A"
 | |
| }
 | |
| ```
 | |
| 
 | |
| Used to revive a feature toggle. 
 |