mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +01:00 
			
		
		
		
	
		
			
				
	
	
	
		
			3.1 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			3.1 KiB
		
	
	
	
	
	
	
	
Strategies API
Fetch Strategies
GET: http://unleash.host.com/api/admin/strategies
Used to fetch all defined strategies and their defined paramters.
Response
{
   "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
{
    "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
{
    "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