Access Control offers increased control and flexibility through the support of a RESTful API, delivered over HTTP(S) via the same port that is used for the admin console (6444 by default).
A RESTful API web service uses HTTP and the principles of REST to facilitate interaction between client and server, running with the following principles:
http(s)://<server-host>:<server-port>/rest/v1.0/<resource>
Type | Action |
POST | to create a resource on the server |
GET | to retrieve a resource from the server |
PUT | to modify the state of a resource |
DELETE | to remove a resource |
Change the password for user "bfoster" to "newpassword":
curl -X POST -d "password=newpassword&authusername=admin&authpassword=admin" http://10.2.5.73:6444/rest/v1.0/users/bfoster?action=passwordUpdate
Add user "aaxley" with password "changepassword", email "db@thefirm.com" and System Admin Status set to "false":
curl -X POST -d "fullname=Abi%20Axley&password=changepassword&email=db@thefirm.com&isSysAdmin=false&authusername=admin&authpassword=admin" http://10.2.5.73:6444/rest/v1.0/users/aaxley
Description: Initiate a synchronized stop. This action applies only when Access Control is running as part of WANdisco's Subversion MultiSite. Read more about the Synchronized Stop.
parameters support multiple names
Lists of parameters can be specified in the request by using the parameter name multiple times e.g. members=node1&members=node2&members=node3.
curl -X POST -d "authusername=<username>&authpassword=<password>" http://<nodeIP>:6444/rest/v1.0/sync/stop
Description: Restart replication after the completion of a synchronized stop. This action applies when Access Control is running as part of WANdisco's Subversion MultiSite. Read more about the Resuming from a Synchronized Stop.
http(s)://<server-host>:<server-port>/rest/v1.0/sync/resume
curl -X POST -d "authusername=<username>&authpassword=<password>" http://<nodeIP>:6444/rest/v1.0/sync/resume
Description: Get the current status of the syncronization between MultiSite nodes. This command is applicable when Access Control is running with WANdisco's Subversion MultiSite.
http(s)://<server-host>:<server-port>/rest/v1.0/sync/status
curl "http://<nodeIP>:6444/rest/v1.0/sync/status?authusername=<username>&authpassword=<password>"
Description: Switch the "Use LDAP for login authentication" setting to either on (true) or off (false).
http(s)://<server-host>:<server-port>/rest/v1.0/system/toggleprerepldap
curl -X POST -d "authusername=<username>&authpassword=<password>&value=<true|false>" http://<nodeIP>:6444/rest/v1.0/system/toggleprerepldap
Description: This command toggles the use of LDAP authorities to authenticate administrators Switch the LDAP admin authentication state - setting it either on (true) or off (false).
Prequisite Must have a LDAP authority specified and must have at least one LDAP user with admin privileges.
http(s)://<server-host>:<server-port>/rest/v1.0/system/toggleldapadmin
curl -X POST -d "authusername=<LDAP username>&authpassword=<password>&value=<true|false>" http://<nodeIP>:6444/rest/v1.0/system/toggleldapadmin
Description: Get a selected Subversion user.
http(s)://<server-host>:<server-port>/rest/v1.0/users/{username}
curl "http://<nodeIP>:6444/rest/v1.0/users/<user>?authusername=<username>&authpassword=<password>"
Description: Get all Subversion user, lists all known users on that node.
http(s)://<server-host>:<server-port>/rest/v1.0/users
curl "http://<nodeIP>:6444/rest/v1.0/users?authusername=<username>&authpassword=<password>"
Description: Update a selected Subversion user.
http(s)://<server-host>:<server-port>/rest/v1.0/users/{username}
curl -X PUT -d "authusername=<username>&authpassword=<password>&password=<passwordToUpdate>&fullname=<fullnameToUpdate>&email=<emailToUpdate>&localuser=true" http://<nodeIP>:6444/rest/v1.0/users/<user>
Description: Delete a specified Subversion user.
http(s)://<server-host>:<server-port>/rest/v1.0/users/{username}
curl -X DELETE "http://<nodeIP>:6444/rest/v1.0/users/<user>?authusername=<username>&authpassword=<password>"
Description: Create a new Subversion user.
http(s)://<server-host>:<server-port>/rest/v1.0/users/{username}
curl -X POST -d "authusername=<username>&authpassword=<password>&password=<password>&fullname=<fullname>&email=<email>&localuser=<true> "http://<nodeIP>:6444/rest/v1.0/users/<user>
Description: Update a Subversion user's current password.
http(s)://<server-host>:<server-port>/rest/v1.0/users/{username}?action=passwordUpdate
curl -X POST -d "authusername=<username>&authpassword=<password>&password=<newPassword>" http://<nodeIP>:6444/rest/v1.0/users/<user>?action=passwordUpdate
Description: Update a user's password, in an unencrypted form.
http(s)://<server-host>:<server-port>/rest/v1.0/users/{username}?action=passwordUpdateUnencrypted
curl -X POST -d "authusername=<username>&authpassword=<password>&password=<newPassword>" http://<nodeIP>:6444/rest/v1.0/users/<user>?action=passwordUpdateUnencrypted
Description: Toggle administrator permission for the specified user.
http(s)://<server-host>:<server-port>/rest/v1.0/users/{username}?action=permissionUpdate"
curl -X POST -d "authusername=<username>&authpassword=<password>&isSysAdmin=<true|false>" http://<nodeIP>:6444/rest/v1.0/users/<user>?action=permissionUpdate
Description: Enable a Subversion user who is currently in a disabled state.
http(s)://<server-host>:<server-port>/rest/v1.0/users/{username}?action=enable
curl -X POST -d "authusername=<username>&authpassword=<password>" http://<nodeIP>:6444/rest/v1.0/users/<user>?action=enable
Description: Disable a Subversion user, stopping them from accessing repository data.
http(s)://<server-host>:<server-port>/rest/v1.0/users/{username}?action=disable
curl -X POST -d "authusername=<username>&authpassword=<password>" http://<nodeIP>:6444/rest/v1.0/users/<user>?action=disable
Description: Replicate generic files (Authz files etc, not repository changes) to all nodes.
Prerequisite: The setting "Use generic file replication" in the System Settings page must to be enabled.
http(s)://<server-host>:<server-port>/rest/v1.0/filenotifier
curl "http://<nodeIP>:6444/rest/v1.0/filenotifier?authusername=<username>&authpassword=<password>&fileLocation=%2Fopt%2Fsvnauthfiles%2Fauthz.authz&fileDestination=%2Fopt%2Fsvnauthfiles%2Fauthz.authz.bak"
Description: Toggle the "Auto skip bypassable transactions" setting in the System Settings page.
http(s)://<server-host>:<server-port>/rest/v1.0/system/toggleautobypass
curl -X POST -d "authusername=<username>&authpassword=<password>&value=<true|false>" http://<nodeIP>:6444/rest/v1.0/system/toggleautobypass
Description: A call that allows the distinguish node to be changed:
http(s)://<server-host>:<server-port>/rest/v1.0/replication/changeDistinguishedNode
curl -X POST -d "authusername=<username>&authpassword=<password>&newdnip=<newNodeIP>" http://<nodeIP>:6444/rest/v1.0/replication/?action=changeDistinguishedNode
Description: A call that will create a list of all users who are currently disabled:
http(s)://<server-host>:<server-port>/rest/v1.0/users/disabledUsers?
curl "http://<nodeIP>:6444/rest/v1.0/users/admins?authusername=admin&authpassword=disabledUsers?"
Description: A call that will create a list of all users who are currently assigned as System Administrators (within SVN MultiSite):
http(s)://<server-host>:<server-port>/rest/v1.0/users/admin?
curl "http://<nodeIP>:6444/rest/v1.0/users/admins?authusername=admin&authpassword=admin"
Description: The call provides you with users' access and permissions information. Any user can call this end point by supplying their username and password. SVN MultiSite Plus will get the rules associated with that user and based on their permissions return the results:
pathName=/svn(|/.), permission=RW pathName=/svn/engineering(|/.), permission=R
http(s)://<server-host>:<server-port>/rest/v1.0/search?
What's the state of my account (active/deactivated), what repositories do I have access to, with what level of access (RO/RW)?
curl -X GET -d "http://localhost:6444/rest/v1.0/search?authusername=admin&authpassword=admin&includePendingChanges=false"Output:
<resourcePermissionRSDTOes> <resourcePermissionRSDTO> <pathName> RuleDAO [parentTeamName=testteam, ruleName=teamrule, ipPattern=, dateCreated=null, lastModified=null, createdByUsername=null, disabled=false, users=null, resourcePermissions=null] </pathName> <permission> ResourcePermissionDAO [pathName=/svn(|/.*), permission=RW] </permission> </resourcePermissionRSDTO> </resourcePermissionRSDTOes>Example 2:
I need access (RO/RW) to a specific repository – what LDAP/Active Directory Groups give will provide that access and who is the owner?
Any user can call this end point supplying their username and password and pathName e.g. /svn/engineering. MultiSite Plus will search the teams for matching rules/permissions and return the teams and team leaders that would allow them access.
curl -X GET -d "http://localhost:6444/rest/v1.0/search/svn/repo-path?authusername=admin&authpassword=admin&includePendingChanges=true"Output
<teamRSDTOes> <teamRSDTO> <description/> <id>f864e389-52bb-11e3-ade3-e6e915ec3433_10</id> <ldapAuthority> <adminAuthority>false</adminAuthority> <bindPassword>[REDACTED]</bindPassword> <bindUserName/> <caseSensitive>false</caseSensitive> <connectionUrl> ldap://10.2.2.42:389/cn=WANdisco Users,dc=wandisco,dc=com?uid </connectionUrl> <disabled>false</disabled> <emailAddressAttribute/> <firstNameAttrbute/> <lastNameAttribute/> <patternOrder>100</patternOrder> <regularExpression>.*</regularExpression> </ldapAuthority> <ldapFilter>cn=k*</ldapFilter> <ldapManagingNode> <available>false</available> <guid>7d925f40-51e2-11e3-bdf9-9a321ad90e3a</guid> <host>0.0.0.0</host> <name>Gavs_MacBook_Pro_local</name> <port>6444</port> </ldapManagingNode> <ldapPopulated>true</ldapPopulated> <name>LDAP Team</name> <teamLeaders> <addResources>false</addResources> <createSubteams>false</createSubteams> <createUsers>false</createUsers> <disableUsers>false</disableUsers> <fullName>null null</fullName> <modifyRules>true</modifyRules> <modifyUsers>false</modifyUsers> <teamId>f864e389-52bb-11e3-ade3-e6e915ec3433_10</teamId> <teamName>LDAP Team</teamName> <userName>ksheehan</userName> </teamLeaders> </teamRSDTO> <teamRSDTO> <description/> <id>91d031a2-51f3-11e3-ba4a-edb937704f92_3</id> <ldapPopulated>false</ldapPopulated> <name>testteam</name> <teamLeaders> <addResources>false</addResources> <createSubteams>false</createSubteams> <createUsers>false</createUsers> <disableUsers>false</disableUsers> <fullName>null null</fullName> <modifyRules>true</modifyRules> <modifyUsers>false</modifyUsers> <teamId>91d031a2-51f3-11e3-ba4a-edb937704f92_3</teamId> <teamName>testteam</teamName> <userName>admin</userName> </teamLeaders> <teamLeaders> <addResources>false</addResources> <createSubteams>false</createSubteams> <createUsers>false</createUsers> <disableUsers>false</disableUsers> <fullName>test </fullName> <modifyRules>true</modifyRules> <modifyUsers>false</modifyUsers> <teamId>91d031a2-51f3-11e3-ba4a-edb937704f92_3</teamId> <teamName>testteam</teamName> <userName>test</userName> </teamLeaders> </teamRSDTO> </teamRSDTOes>Example 3:
An Auditor queries who has access to the repositories and what is the access? The Audit or Admin user supplies their username and password and the parameter * = wildcard all repositories or a repository name. Repositories along with rules and users are returned.
curl -X GET -d "http://localhost:6444/rest/v1.0/search/svn/access?authusername=admin&authpassword=admin&includePendingChanges=true"Output
<teamRuleRSDTOes> <rule> <id>17266dd6-536a-11e3-b1b4-bfee9cc62fb5_7</id> <rule-name>Rule2</rule-name> <team-name>testteam</team-name> <ip-pattern/> <ip-pattern-option>NoRestrictions</ip-pattern-option> <disabled>false</disabled> <apply-to-all-users>false</apply-to-all-users> <users> <user>admin</user> </users> <resource-permissions> <resourcePermissions> <pathName>/svn(|/.*)</pathName> <permission>D</permission> </resourcePermissions> </resource-permissions> </rule> <rule> <id>bcc85130-52cb-11e3-b12f-6711daecb2be_10</id> <rule-name>gav</rule-name> <team-name>LDAP Team</team-name> <ip-pattern/> <ip-pattern-option>NoRestrictions</ip-pattern-option> <disabled>false</disabled> <apply-to-all-users>true</apply-to-all-users> <users> <user>ksheehan</user> </users> <resource-permissions> <resourcePermissions> <pathName>/svn(|/.*)</pathName> <permission>RO</permission> </resourcePermissions> </resource-permissions> </rule> <rule> <id>cc8e874c-529e-11e3-aac7-6cc55f382da7_7</id> <rule-name>teamrule</rule-name> <team-name>testteam</team-name> <ip-pattern/> <ip-pattern-option>NoRestrictions</ip-pattern-option> <disabled>false</disabled> <apply-to-all-users>true</apply-to-all-users> <users> <user>test</user> <user>admin</user> </users> <resource-permissions> <resourcePermissions> <pathName>/svn(|/.*)</pathName> <permission>RW</permission> </resourcePermissions> </resource-permissions> </rule> </teamRuleRSDTOes>
Description: Get all LDAP Authorities.
http(s)://<server-host>:<server-port>/rest/v1.0/ldapauthorities
curl "http://<nodeIP>:6444/rest/v1.0/ldapauthorities?authusername=<username>&authpassword=<password>"
Description: Get a an LDAP Authority.
http(s)://<server-host>:<server-port>/rest/v1.0/ldapauthorities/{order}
curl "http://<nodeIP>:6444/rest/v1.0/ldapauthorities/<LdapOrder>?authusername=<username>&authpassword=<password>"
Description: Update a selected LDAP authority.
http(s)://<server-host>:<server-port>/rest/v1.0/ldapauthorities/{order}
curl -X PUT -d "authusername=<username>&authpassword=<password>&order=<newLdapOrder>&url=<newUrl>&bindDn=<newBindDN>&bindPass=<newBindPassword>&firstNameAttr=<newFirstNameAttribute>&lastNameAttr=<newLastNameAttribute>&emailAttr=<newEmailAttribute>" http://<nodeIP>:6444/rest/v1.0/ldapauthorities/<LdapOrder>
Description: Delete an LDAP authority.
http(s)://<server-host>:<server-port>/rest/v1.0/ldapauthorities/{order}
curl -X DELETE "http://<nodeIP>:6444/rest/v1.0/ldapauthorities/<LdapOrder>?authusername=<username>&authpassword=<password>"
Description: Add an LDAP authority.
http(s)://<server-host>:<server-port>/rest/v1.0/ldapauthorities/{order}
curl -X POST -d "authusername=<username>&authpassword=<password>&order=<LdapOrder>&url=<newUrl>&bindDn=<newBindDN>&bindPass=<newBindPassword>&firstNameAttr=<newFirstNameAttribute>&lastNameAttr=<newLastNameAttribute>&emailAttr=<newEmailAttribute>" http://<nodeIP>:6444/rest/v1.0/ldapauthorities/<LdapOrder>
Description: API call to trigger a poll for changes on the LDAP service.
http(s)://<server-host>:<server-port>/rest/v1.0/ldapauthorities/pollLDAPAuthorities
curl -X POST -d "authusername=<username>&authpassword=<password>" http://<nodeIP>:6444/rest/v1.0/ldapauthorities/pollLDAPAuthorities
Description: API call to trigger a poll for changes on the LDAP service for a given team.
http(s)://<server-host>:6444/rest/v1.0/teams/<root-team>/subteam/<sub-team>/subteam/<target-team>?action=pollLdapTeam
curl -X POST -d "authusername=<username>&authpassword=<password>" http://<nodeIP>:6444/rest/v1.0/teams/<root-team>/subteam/<sub-team>/subteam/<target-team>?action=pollLdapTeam
Description: Get a repository.
http(s)://<server-host>:<server-port>/rest/v1.0/repos/{repo}
curl "http://<nodeIP>:6444/rest/v1.0/repos/<DAVLocation>?authusername=<username>&authpassword=<password>"
Description: Add a repository.
http(s)://<server-host>:<server-port>/rest/v1.0/repos/{repo}
curl -X POST -d "authusername=<username>&authpassword=<password>&davLocation=<DAVLocation>&directory=<pathOnFileSystem>&managePasswordFile=<true|false>&passwordFilePath=<passwordFilePath>" http://<nodeIP>:6444/rest/v1.0/repos/<DAVLocation>
curl -X POST -d "authusername=<username>&authpassword=<password>&davLocation=<DAVLocation>&directory=<pathOnFileSystem>&managePasswordFile=<true|false>&passwordFilePath=<passwordFilePath>&parentPath=true" http://<nodeIP>:6444/rest/v1.0/repos/<DAVLocation>
curl -X POST -d "authusername=<username>&authpassword=<password>&parentPathChild=true" http://<nodeIP>:6444/rest/v1.0/repos/<ChildDAVLocation>
Description: Update an existing repository.
http(s)://<server-host>:<server-port>/rest/v1.0/repos/{repo}
curl -X PUT -d "authusername=<username>&authpassword=<password>&davLocation=<newDAVLocation>&directory=<newDirectory>&managePasswordFile=<true|false>&passwordFilePath=<newPasswordFilePath>&preCommitHook=<newPreCommitHookLocation>&preLockHook=<newPreLockHookLocation>&preUnlockHook=<newPreUnlockHookLocation>" http://<nodeIP>:6444/rest/v1.0/repos/<DAVLocation>
Description: Delete a repository.
http(s)://<server-host>:<server-port>/rest/v1.0/repos/{repo}
curl -X DELETE "http://<nodeIP>:6444/rest/v1.0/repos/<DAVLocation>?authusername=<username>&authpassword=<password>"
Description: Update a repository hook script.
http(s)://<server-host>:<server-port>/rest/v1.0/repos/{repo}/hook
curl -X POST -d "authusername=<username>&authpassword=<password>&hookname=<pre-commit|pre-lock|pre-unlock>&action=<enable|disable>" http://<nodeIP>:6444/rest/v1.0/repos/<DAVLocation>/hook
Description: Use to get a list of all repositories and their current status.
http(s)://<server-host>:<server-port>/rest/v1.0/repos/
curl "http://<nodeIP>:6444/rest/v1.0/repos?authusername=<username>&authpassword=<password>"
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <repositoryRSDTOes> <repository> <childRepositories>repo1_pp</childRepositories> <childRepositories>repo2_pp</childRepositories> <childRepositories>repo3_pp</childRepositories> <davLocation>/svn</davLocation> <fileSystemLocation>/repos_pp</fileSystemLocation> <parentPath>true</parentPath> <status>Active</status> </repository> <repository> <davLocation>/svn/repo1_pp</davLocation> <fileSystemLocation>/repos_pp/repo1_pp</fileSystemLocation> <parentPath>false</parentPath> <status>Active</status> </repository> <repository> <davLocation>.........
Description: Get all Access Control teams.
http(s)://<server-host>:<server-port>/rest/v1.0/teams
curl "http://<nodeIP>:6444/rest/v1.0/teams?authusername=<username>&authpassword=<password>"
Description: Update an Access Control team.
http(s)://<server-host>:<server-port>/rest/v1.0/teams/{root-team}/subteam/{subteam1}/subteam/{target-team}
curl -X PUT -d "authusername=<username>&authpassword=<password>&newTeamDescription=<newDescription>&newTeamName=<newTeamName>" http://<nodeIP>:6444/rest/v1.0/teams/<teamName>
Description: Delete an Access Control team.
http(s)://<server-host>:<server-port>/rest/v1.0/teams/{root-team}/subteam/{subteam1}/subteam/{target-team}
curl -X DELETE http://<nodeIP>:6444/rest/v1.0/teams/<teamName>?authusername=<username>&authpassword=<password>"
Description: Get an Access Control team.
http(s)://<server-host>:<server-port>/rest/v1.0/teams/{root-team}/subteam/{subteam1}/subteam/{target-team}
curl "http://<nodeIP>:6444/rest/v1.0/teams/<teamName>?authusername=<username>&authpassword=<password>"
Description: Create an Access Control team.
http(s)://<server-host>:<server-port>/rest/v1.0/teams/{root-team}/subteam/{subteam1}/subteam/{target-team}
curl -X POST -d "authusername=<username>&authpassword=<password>" http://<nodeIP>:6444/rest/v1.0/teams/<teamName>
Description: Set a team through LDAP.
http(s)://<server-host>:<server-port>/rest/v1.0/teams/{root-team}/subteam/{subteam1}/subteam/{target-team}
curl -X POST -d "authusername=<username>&authpassword=<password>&ldapAuthOrder=<LdapOrder>&LdapFilter=<LdapFilter>" http://<nodeIP>:6444/rest/v1.0/teams/TeamLdapManaged?action=setLdapTeam
Description: This command turns off team population (via LDAP), effectively disabling the team.
http(s)://<server-host>:<server-port>/rest/v1.0/teams/{root-team}/subteam/{subteam1}/subteam/{target-team}
curl -X POST -d "authusername=<username>&authpassword=<password>" http://<nodeIP>:6444/rest/v1.0/teams/TeamLdapManaged?action=disableLdapTeam
Description: Add a repository resource to an Access Control team.
http(s)://<server-host>:<server-port>/rest/v1.0/teams/{root-team}/subteam/{subteam1}/subteam/{target-team}?action=addResourceToTeam
curl -X POST -d "authusername=<username>&authpassword=<password>&resourceToUpdate=<DAVLocation>" http://<nodeIP>:6444/rest/v1.0/teams/<teamName>?action=addResourceToTeam
Description: Remove a repository resource from an Access Control team.
http(s)://<server-host>:<server-port>/rest/v1.0/teams/{root-team}/subteam/{subteam1}/subteam/{target-team}?action=removeResourceToTeam
curl -X POST -d "authusername=<username>&authpassword=<password>&resourceToUpdate=<DAVLocation>" http://<nodeIP>:6444/rest/v1.0/teams/<teamName>?action=removeResourceFromTeam
Description: Add a user to an Access Control teams.
http(s)://<server-host>:<server-port>/rest/v1.0/teams/{root-team}/subteam/{subteam1}/subteam/{target-team}?action=addUserToTeam
curl -X POST -d "authusername=<username>&authpassword=<password>&userToUpdate=<user>" http://<nodeIP>:6444/rest/v1.0/teams/<teamName>?action=addUserToTeam
Description: Remove a user from an Access Control team.
http(s)://<server-host>:<server-port>/rest/v1.0/teams/{root-team}/subteam/{subteam1}/subteam/{target-team}?action=removeUserFromTeam
curl -X POST -d "authusername=<username>&authpassword=<password>&userToUpdate=<user>" http://<nodeIP>:6444/rest/v1.0/teams/<teamName>?action=removeUserFromTeam
Description: Make an existing user into a team leader.
http(s)://<server-host>:<server-port>/rest/v1.0/teams/{root-team}/subteam/{subteam1}/subteam/{target-team}?action=promoteUserToTeamLeader
curl -X POST -d "authusername=<username>&authpassword=<password>&userToUpdate=<user>" http://<nodeIP>:6444/rest/v1.0/teams/<teamName>?action=promoteUserToTeamLeader
Description: Remove team leader privileges from a user.
http(s)://<server-host>:<server-port>/rest/v1.0/teams/{root-team}/subteam/{subteam1}/subteam/{target-team}?action=demoteUserFromTeamLeader
curl -X POST -d "authusername=<username>&authpassword=<password>&userToUpdate=<user>" http://<nodeIP>:6444/rest/v1.0/teams/<teamName>?action=demoteUserFromTeamLeader
Description: Assign Access Control system administrator permission to a user.
http(s)://<server-host>:<server-port>/rest/v1.0/teams/{root-team}/subteam/{subteam1}/subteam/{target-team}? action=grantAdminPermission
curl -X POST -d "authusername=<username>&authpassword=<password>&userToUpdate=<user>&permission=<createSubteams|addResources|createUsers|disableUsers|modifyUsers|modifyRules>" http://<nodeIP>:6444/rest/v1.0/teams/<teamName>?action=grantAdminPermission
Description: Remove Access Control system administrator permission.
http(s)://<server-host>:<server-port>/rest/v1.0/teams/{root-team}/subteam/{subteam1}/subteam/{target-team}
curl -X POST -d "authusername=<username>&authpassword=<password>&userToUpdate=<user>&permission=< createSubteams|addResources|createUsers|disableUsers|modifyUsers|modifyRules>" http://<nodeIP>:6444/rest/v1.0/teams/<teamName>?action=removeAdminPermission
http(s)://<server-host>:<server-port>/rest/v1.0/teams/{root-team}/subteam/{subteam1}/subteam/{target-team}/teamrules
curl "http://<nodeIP>:6444/rest/v1.0/teams/<teamName>/teamrules?authusername=<username>&authpassword=<password>"
Description: Get an Access Control team rule.
http(s)://<server-host>:<server-port>/rest/v1.0/teams/{root-team}/subteam/{subteam1}/subteam/{target-team}/teamrules/{rule-name}
curl "http://<nodeIP>:6444/rest/v1.0/teams/<teamName>/teamrules/<ruleName>?authusername=<username>&authpassword=<password>"
Description: Delete an Access Control team rule.
http(s)://<server-host>:<server-port>/rest/v1.0/teams/{root-team}/subteam/{subteam1}/subteam/{target-team}/teamrules/{rule-name}
curl -X DELETE "http://<nodeIP>:6444/rest/v1.0/teams/<teamName>/teamrules/<ruleName>?authusername=<username>&authpassword=<password>"
Description: Update an Access Control team rule.
http(s)://<server-host>:<server-port>/rest/v1.0/teams/{root-team}/subteam/{subteam1}/subteam/{target-team}/teamrules/{rule-name}
<rule> <id>{ruleID}</id> <rule-name>{ruleName}</rule-name> <team-name>{slash-delimited-team-hierarchy}</team-name> <ip-pattern>{IPFiltering}</ip-pattern> <ip-pattern-option>NoRestrictions|IPList</ip-pattern-option> <disabled>true|false</disabled> <apply-to-all-users>true|false</apply-to-all-users> <users> <user>{username}</user> </users> <resource-permissions> <resourcePermissions> <pathName>{path}</pathName> <permission>D|RO|RW</permission> </resourcePermissions> </resource-permissions> </rule>
curl -H "Content-Type: application/xml" -X PUT -d "<rule><id>{RULEID}</id><rule-name>{RULENAME}</rule-name><team-name>{TEAMNAME}</team-name><ip-pattern></ip-pattern><ip-pattern-option>NoRestrictions</ip-pattern-option><disabled>false</disabled><apply-to-all-users>true</apply-to-all-users><resource-permissions><resourcePermissions><pathName>{DAVLOCATION}</pathName><permission>{RW|RO|D}</permission></resourcePermissions></resource-permissions></rule>" "http://<nodeIP>:6444/rest/v1.0/teams/<teamName>/teamrules/<ruleName>?authusername=<username>&authpassword=<password>"Example: update a rule for specific user(s)
curl -H "Content-Type: application/xml" -X PUT -d "<rule><id>{RULEID}</id><rule-name>{RULENAME}</rule-name><team-name>{TEAMNAME}</team-name><ip-pattern></ip-pattern><ip-pattern-option>NoRestrictions</ip-pattern-option><disabled>false</disabled><apply-to-all-users>false</apply-to-all-users><users><user>{USERNAME}</user></users><resource-permissions><resourcePermissions><pathName>{DAVLOCATION}</pathName><permission>{RW|RO|D}</permission></resourcePermissions></resource-permissions></rule>" "http://<nodeIP>:6444/rest/v1.0/teams/<teamName>/teamrules/<ruleName>?authusername=<username>&authpassword=<password>"
Description: Create an Access Control team rule.
http(s)://<server-host>:<server-port>/rest/v1.0/teams/{root-team}/subteam/{subteam1}/subteam/{target-team}/teamrules/{rule-name}
<rule> <rule-name>{ruleName}</rule-name> <team-name>{slash-delimited-team-hierarchy}</team-name> <ip-pattern>{IPFiltering}</ip-pattern> <ip-pattern-option>NoRestrictions|IPList</ip-pattern-option> <disabled>true|false</disabled> <apply-to-all-users>true|false</apply-to-all-users> <users> <user>{username}</user> </users> <resource-permissions> <resourcePermissions> <pathName>{path}</pathName> <permission>D|RO|RW</permission> </resourcePermissions> </resource-permissions> </rule>
curl -H "Content-Type: application/xml" -X POST -d "<rule><rule-name>adminRuleTmp</rule-name><team-name>adminTeam</team-name><ip-pattern></ip-pattern><ip-pattern-option>NoRestrictions</ip-pattern-option><disabled>false</disabled><apply-to-all-users>false</apply-to-all-users><users><user>admin</user></users><resource-permissions><resourcePermissions><pathName>/svn/Repo9</pathName><permission>RW</permission></resourcePermissions></resource-permissions></rule>" "http://localhost:6444/rest/v1.0/teams/adminTeam/teamrules/adminRuleTmp?authusername=admin&authpassword=admin"