mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			111 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			111 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
## Strategies API
 | 
						|
 | 
						|
### Fetch Strategies 
 | 
						|
`GET: http://unleash.host.com/api/admin/strategies`
 | 
						|
 | 
						|
Used to fetch all defined strategies and their defined paramters. 
 | 
						|
 | 
						|
**Response**
 | 
						|
 | 
						|
 ```json
 | 
						|
{
 | 
						|
    "version": 1,
 | 
						|
    "strategies": [
 | 
						|
        {
 | 
						|
            "name": "default",
 | 
						|
            "description": "Default on/off strategy.",
 | 
						|
            "parameters": []
 | 
						|
        },
 | 
						|
        {
 | 
						|
            "name": "userWithId",
 | 
						|
            "description": "Active for userId specified in the comma seperated 'userIds' parameter.",
 | 
						|
            "parameters": [
 | 
						|
                {
 | 
						|
                    "name": "userIds",
 | 
						|
                    "type": "list",
 | 
						|
                    "description": "List of unique userIds the feature should be active for.",
 | 
						|
                    "required": true
 | 
						|
                }
 | 
						|
            ]
 | 
						|
        },
 | 
						|
        {
 | 
						|
            "name": "gradualRollout",
 | 
						|
            "description": "Gradual rollout to logged in users",
 | 
						|
            "parameters": [
 | 
						|
                {
 | 
						|
                    "name": "percentage",
 | 
						|
                    "type": "percentage",
 | 
						|
                    "description": "How many percent should the new feature be active for.",
 | 
						|
                    "required": false
 | 
						|
                },
 | 
						|
                {
 | 
						|
                    "name": "group",
 | 
						|
                    "type": "string",
 | 
						|
                    "description": "Group key to use when hasing the userId. Makes sure that the same user get different value for different groups",
 | 
						|
                    "required": false
 | 
						|
                }
 | 
						|
            ]
 | 
						|
        },
 | 
						|
    ]}
 | 
						|
```
 | 
						|
 | 
						|
### Create strategy
 | 
						|
 | 
						|
`POST: http://unleash.host.com/api/admin/strategies`
 | 
						|
 | 
						|
**Body**
 | 
						|
 | 
						|
```json
 | 
						|
{
 | 
						|
    "name": "gradualRollout",
 | 
						|
    "description": "Gradual rollout to logged in users",
 | 
						|
    "parameters": [
 | 
						|
        {
 | 
						|
            "name": "percentage",
 | 
						|
            "type": "percentage",
 | 
						|
            "description": "How many percent should the new feature be active for.",
 | 
						|
            "required": false
 | 
						|
        },
 | 
						|
        {
 | 
						|
            "name": "group",
 | 
						|
            "type": "string",
 | 
						|
            "description": "Group key to use when hasing the userId. Makes sure that the same user get different value for different groups",
 | 
						|
            "required": false
 | 
						|
        }
 | 
						|
    ]
 | 
						|
},
 | 
						|
```
 | 
						|
 | 
						|
Used to create a new Strategy. Name is required and must be unique. It is also required to have a parameters array, but it can be empty. 
 | 
						|
 | 
						|
 | 
						|
### Update strategy
 | 
						|
 | 
						|
`PUT: http://unleash.host.com/api/admin/strategies/:name`
 | 
						|
 | 
						|
**Body**
 | 
						|
 | 
						|
```json
 | 
						|
{
 | 
						|
    "name": "gradualRollout",
 | 
						|
    "description": "Gradual rollout to logged in users with updated desc",
 | 
						|
    "parameters": [
 | 
						|
        {
 | 
						|
            "name": "percentage",
 | 
						|
            "type": "percentage",
 | 
						|
            "description": "How many percent should the new feature be active for.",
 | 
						|
            "required": false
 | 
						|
        },
 | 
						|
        {
 | 
						|
            "name": "group",
 | 
						|
            "type": "string",
 | 
						|
            "description": "Group key to use when hasing the userId. Makes sure that the same user get different value for different groups",
 | 
						|
            "required": false
 | 
						|
        }
 | 
						|
    ]
 | 
						|
},
 | 
						|
```
 | 
						|
 | 
						|
Used to update a Strategy definition. Name can't be changed. 
 | 
						|
**PS! I can be dangerous to change a implemnted strategy as the implementation also might need to be changed** 
 |