Note | ||
---|---|---|
| ||
In Syncope 1.1 .0 there are two REST interfaces:
|
This page shall give you an overview of old and new REST API.
Table of Contents |
---|
In Syncope >= 1.2 there is a single REST interface, available under Starting with Syncope 2.0 the Reference Guide is available. |
This page shall give you an overview of old and new REST API.
Table of Contents |
---|
Main focus on redesign REST interface Main focus on redesign REST interface was to apply RESTful Best Practices
...
Old URL | New URL | Comment |
---|---|---|
POST /configuration/create | POST /configurations | Creates a new Configuration. |
GET /configuration/read/{key} | GET /configurations/{key} | Returns configuration element with matching key. |
GET /configuration/list | GET /configurations | Returns a list of all configuration elements. |
POST /configuration/update | PUT /configurations/{key} | Overwrites configuration element with matching key. |
GET /configuration/delete/{key} | DELETE /configurations/{key} | Deletes configuration with matching key. |
Old URL | New URL | Comment |
GET /configuration/validators | GET /configurations/validators | Returns a list of known validators. |
GET /configuration/mailTemplates | GET /configurations/mailTemplates | Returns a list of known mail-templates. |
GET /configuration/dbexport | GET /configurations/dbDump stream | Returns configuration as an downloadable content.xml database export file. |
...
Old URL | New URL | Comment |
---|---|---|
POST /connector/create | POST /connectors | Creates a new connector instance. |
GET /connector/read/{connectorId} | GET /connectors/{connectorId} | Returns connector with matching id. |
GET /connector/list?lang={lang} | GET /connectors?lang={lang} | Returns a list of all connectors. Default language is English. |
POST /connector/update | PUT /connectors/{connectorId} | Overwrites connector with matching key. |
GET /connector/delete/{connectorId} | DELETE /connectors/{connectorId} | Deletes connector with matching id. |
Old URL | New URL | Comment |
GET /connector/bundle/list?lang={lang} | GET /connectors/bundles?lang={lang} | Returns known bundles. Default language is English. |
POST /connector/schema/list?showall={showall} | POST /connectors/{connectorId}/schemas?showAll={showall} | Returns schema names for connector. Default is showAll=false. |
GET /connector/{connectorId}/configurationProperty/list | GET /connectors/{connectorId}/configuration | Returns configuration for selected connector. |
POST /connector/check | POST /connectors/check | Checks if a connection can be established. |
GET /connector/{resourceName}/connectorBean readByResource | GET /connectors;resourceName={connectorId} | Returns connector for resourceName. |
POST /connector/reload | POST /connectors/reload | Reload all connector bundles and instances. |
Entitlement Service
Old URL | New URL | Comment |
---|---|---|
GET /auth/allentitlements | GET /entitlements | Returns a list of all known entitlements. |
GET /auth/entitlements | GET /entitlements/own | Returns a list of entitlements assigned to the authenticated user. |
...
Old URL | New URL | Comment | |||
---|---|---|---|---|---|
POST /report/create | POST /reports | Creates a new report. | |||
POST GET /report/update read/{reportId} | GET PUT /reports/{reportId} | Updates Returns report with matching reportId. POST /report/count | |||
POST /reports/count | Returns number of existing reports. | GET /report/list | GET /reports | Returns a list of all reports. | |
GET /report/list/{page}/{size} | GET /reports?page={page}&size={size} | Returns a list of reports according to pagination. | |||
GET POST /report/execution/list count | GET POST /reports/executions count | Returns a list number of all execution existing reports. | |||
GET POST /report/reportletConfClasses update GET | PUT /reports/reportletConfClasses {reportId} | Updates report with matching reportId Returns a list of all reportletConfClasses. | |||
GET /report/readdelete/{reportId} | GET DELETE /reports/{reportId} | Returns Deletes report with matching id. | |||
Old URL | New URL | Comment | |||
POST /report/execute/{reportId} | POST /reports/{reportId}/execute | Executes report and returns execution result. | |||
GET /report/execution/read/{executionId} | GET /reports/executions/{executionId} | Returns execution report. | |||
GET /report/execution/export/{executionId}?fmt={format} | GET /reports/executions/{executionId}/dbDump?format={format} (Accept: application/octet-stream) | Returns execution report as an downloadable file. Format is optional. | |||
POST GET /report/execution/executedelete/{reportIdexecutionId} | POST DELETE /reports/executions/{reportIdexecutionId}/execute | Executes report. | GET /report/delete/{reportId} | DELETE /reports/{reportId} | Deletes report with matching id. Deletes execution report with matching id. |
Old URL | New URL | Comment | |||
GET /report/execution/delete/{executionId} DELETE reportletConfClasses | GET /reports/executions/{executionId} reportletConfClasses | Returns a list of all reportletConfClasses Deletes execution report with matching id. |
Resource Service
Old URL | New URL | Comment | |||
---|---|---|---|---|---|
POST /resource/create | POST /resources | Creates a new resource. | |||
POST GET /resource/update read/{resourceName} | GET PUT /resources/{resourceName} | Updates Returns a resource with matching resourceNamespecified name. | |||
GET /resource/delete/{resourceName} DELETE list | GET /resources/{resourceName} | Returns a list of all resources. Deletes resource with specified resourceName. HTTP operation is changed to DELETE, because GET operation must be safe. | |||
GET /resource/read/{resourceNamelist?connInstanceId={connInstanceId} | GET /resources/;connectorId={resourceNameconnectorId} | Returns a resource with specified namelist of all resources used by matching connector. | |||
GET POST /resource/propagationActionsClasses update GET | PUT /resources/propagationActionsClasses {resourceName} | Updates resource with matching resourceName. Returns a list of classes with name PROPAGATION_ACTIONS. Actually method is used only in context of resources, therefore it is grouped to resources. | |||
GET /resource/list | GET /resources | Returns a list of all resources. There is optional matrix parameter: connInstanceId. | delete/{resourceName} | DELETE /resources GET /resource/{resourceName} | Deletes resource with specified resourceName. |
Old URL | New URL | Comment | |||
GET /resource/{resourceName}/read/{type}/{objectIdid} | GET /resources/{resourceName}/{type}/{objectIdid} | Returns specified connector object for resourcefrom the external resource, for the given type and id. | |||
POST /resource/check | POST /resources/validate check | Verifies connection using resource connector parameters. HTTP operation can be changed to GET if resource is always created previously. |
Role Service
...
GET /resource/propagationActionsClasses | GET /resources/propagationActionsClasses | Returns a list of classes with name PROPAGATION_ACTIONS. |
Role Service
Old URL | New URL | Comment |
---|---|---|
POST /role/create | POST /roles/ | Creates a new role. Returns URL to new role definition |
GET /role/read/{roleId} | GET /roles/{roleId} | Returns a single role definition matching the provided roleID |
GET /role/selfRead/{roleId} | GET /roles/{roleId} | Authorization mechanisms will be independent of URL |
GET /role/list | GET /roles | Returns a list of all known roles |
GET /role/read/{roleId} | GET /roles/{roleId} | Returns a single role definition matching the provided roleID |
GET /role/selfRead/{roleId} | GET /roles/{roleId} | Authorization mechanisms will be independent of URL |
GET /role/parent/{roleId} | GET /roles/{roleId}/parent | Returns a single parent role definition (if available) |
GET /role/children/{roleId} | GET /roles/{roleId}/children | Returns a list of children role definitions |
POST /role/update | POST /roles/{roleId} | Updates role. (POST is used here instead of PUT, because RoleMod only contains changes for a role and not a complete representation thereof.) |
GET /role/delete/{roleId} | DELETE /roles/{roleId} | Deletes role. |
Schema Service
/parent/{roleId} | GET /roles/{roleId}/parent | Returns a single parent role definition (if available) |
GET /role/children/{roleId} | GET /roles/{roleId}/children | Returns a list of children role definitions |
POST /role/update | POST /roles/{roleId} | Updates role. (POST is used here instead of PUT, because RoleMod only |
GET /role/delete/{roleId} | DELETE /roles/{roleId} | Deletes role. |
Schema Service
Info: {kind} can be USER, ROLE or MEMBERSHIP.
Old URL | New URL | Comment | |
---|---|---|---|
POST /schema/{kind}/create | POST /schemas/{kind}/NORMAL | Creates a new "normal" schema for matching kind. | |
GET /schema/{kind}/read/{name} | GET /schemas/{kind}/NORMAL/{name} | Returns matching schema. | |
GET /schema/{kind}/list | GET /schemas/{kind}/NORMAL | Returns a list of all "normal" schema definitions of matching kind. | |
POST /schema/{kind}/update | PUT /schemas/{kind}/NORMAL/{name} | Updates matching schema. | |
GET /schema/{kind}/delete/{name} | DELETE /schemas/{kind}/NORMAL/{name} | Deletes matching schema. | |
Old URL | New URL | Comment | |
POST /virtualSchema/{kind}/create | POST /schemas/{kind}/VIRTUAL | Creates a new "virtual" schema for matching kind. | |
GET /virtualSchema/{kind}/read/{name} | GET /schemas/{kind}/VIRTUAL/{name} | Returns matching schema. | |
GET /virtualSchema/{kind}/list | GET /schemas/{kind}/VIRTUAL | Returns a list of all "virtual" schema definitions of matching kind. | |
POST /virtualSchema/{kind}/update | PUT /schemas/{kind}/VIRTUAL/{name} | Updates matching schema. | |
GET /virtualSchema/{kind}/delete/{name} | DELETE | ||
Old URL | New URL | Comment | |
GET /schema/{kind}/list | GET /schemas/{kind}/VIRTUAL/{typename} | Returns a list of all "normal" schema definitions of matching kind. | Deletes matching schema. |
Old URL | New URL | Comment | |
POST /derivedSchema GET /virtualSchema/{kind}/list create | GET POST /schemas/{kind}/{type} DERIVED | Returns Creates a list of all new "virtualderived" schema definitions of for matching kind. | |
GET /derivedSchema/{kind}/list read/{name} | GET /schemas/{kind}/DERIVED/{typename} | Returns a list of all "derived" schema definitions of matching kindmatching schema. | |
POST GET /schemaderivedSchema/{kind}/create list | POST GET /schemas/{kind}/{type} DERIVED | Creates Returns a new list of all "normalderived" schema for definitions of matching kind. | |
POST /virtualSchemaderivedSchema/{kind}/create update | POST PUT /schemas/{kind}/DERIVED/{typename} | Creates a new "virtual" schema for matching kindUpdates matching schema. | |
POST GET /derivedSchema/{kind}/create delete/{name} | DELETE POST /schemas/{kind}/DERIVED/{typename} | Deletes matching schema. |
Task Service
Old URL | New URL | Comment | |
---|---|---|---|
POST /task/create/sync | POST /tasks | Creates a new "derived" schema for matching kindsync task. | |
GET /schematask/read/{kindtaskId} | GET /deletetasks/sync/{nametaskId} | DELETE /schemas/{kind}/{type}/{name} | Returns sync task with matching id. |
GET /task/sync/list | GET /tasks/sync/list | Returns a list of sync tasks Deletes matching schema. | |
GET /virtualSchematask/{kind}sync/deletelist/{namepage} DELETE /schemas/{kindsize} | GET /{type}/{name} tasks/sync?page={page}&size={size} | Returns a list of paginated sync tasks Deletes matching schema. | |
GET /derivedSchematask/{kind}/delete/{name} | DELETE /schemas/{kind}/{type}/{name} | Deletes matching schema. | |
GET /schema/{kind}/read/{name} | GET /schemas/{kind}/{type}/{name} | Returns matching schema. | |
GET /virtualSchema/{kind}/read/{name} | GET /schemas/{kind}/{type}/{name} | Returns matching schema. | |
GET /derivedSchema/{kind}/read/{name} | GET /schemas/{kind}/{type}/{name} | Returns matching schema. | |
POST /schema/{kind}/update | PUT /schemas/{kind}/{type}/{name} | Updates matching schema. | |
POST /virtualSchema/{kind}/update | PUT /schemas/{kind}/{type}/{name} | Updates matching schema. | |
POST /derivedSchema/{kind}/update | PUT /schemas/{kind}/{type}/{name} | Updates matching schema. |
...
sync/count | GET /tasks/sync/count | Returns number of sync tasks. | |||
POST /task/update/sync | PUT /tasks/{taskId} | Updates sync task with matching id. | |||
Old URL | New URL | Comment | |||
---|---|---|---|---|---|
POST /task/create/sched | POST /tasks | Creates a new sched task. | |||
GET /task/read/{taskId} | GET /tasks/sched/{taskId} | Returns sched task with matching id. | |||
GET /task/sched/list | GET /tasks/sched/list | Returns a list of sched tasks. | |||
GET /task/sched/list/{page}/{size} | GET /tasks/sched?page={page}&size={size} | Returns a list of paginated sched tasks. | |||
GET /task/sched/count | GET /tasks/sched/count | Returns number of sched tasks. | |||
POST /task/update/sched | PUT /tasks/{taskId} | Updates sched task with matching id. | |||
Old URL | New URL | Comment | |||
POST GET /task/createread/sync {taskId} | POST GET /tasks | Creates a new (sync) task. | /propagation/{taskId} | Returns propagation task with matching id. | |
GET POST /task/createpropagation/sched list | POST GET /tasks/propagation/list | Creates a new (sched) taskReturns a list of propagation tasks. | |||
GET /tasktask/propagation/list/{page}/{kindsize}/count | GET /tasks/{kind}/count propagation?page={page}&size={size} | Returns a list of paginated propagation tasks Returns number of tasks for matching kind. | |||
GET /task/deletepropagation/{taskId} count DELETE | GET /tasks/{taskId} propagation/count | Returns number of propagation tasks Deletes task with matching id. | |||
GET /task/propagation/execution/delete/{executionId} DELETE list | GET /tasks/propagation/executions/{executionId} | Deletes execution of task with matching id. | Returns list of propagation task executions. | ||
Old URL | New URL | Comment | |||
GET POST /task/executeread/{taskId}?dryRun={dryRun} POST | GET /tasks/notification/{taskId}/execute?dryRun={dryRun} | Returns notification Executes task with matching id. | |||
GET /task/jobClasses notification/list | GET /tasks/jobClasses notification/list | Returns a list of available jobClassesnotification tasks. | |||
GET /task/syncActionsClasses | GET /tasks/syncActionsClasses | Returns a list of available syncActionsClasses. | GET /task/{kind}/list notification/list/{page}/{size} | GET /tasks/{kindnotification?page={page}&size={size} | Returns a list of task of matching kindpaginated notification tasks. |
GET /task/{kind}/list/{page}/{size} notification/count | GET /tasks/notification/count | Returns number of notification tasks. | |||
Old URL | New URL | Comment | |||
GET /task/delete/{taskId} | DELETE /tasks/{taskId} | Deletes task with matching id | GET /tasks/{kind}?page={page}&size={size} | Returns a list of task of matching kind with page contrains. | |
GET /task/execution/read/{kindexecutionId}/execution/list | GET /tasks/executions/{kindexecutionId}/executions | Returns list execution of executions task with matching kindid. | |||
GET POST /task/readexecute/{taskId}?dryRun={dryRun} | GET POST /tasks/{taskId}/execute?dryRun={dryRun} | Executes Returns task with matching id. | |||
GET /task/execution/readdelete/{executionId} | GET DELETE /tasks/executions/{executionId} | Returns Deletes execution of task with matching id. | |||
POST GET /task/update/sync jobClasses | PUT GET /tasks/{taskId} | Updates (sync) task with matching id. | jobClasses | Returns a list of available jobClasses. | |
GET POST /task/update/sched syncActionsClasses | PUT GET /tasks/{taskId} syncActionsClasses | Returns a list of available syncActionsClasses Updates (sched) task with matching id. | |||
GET /task/execution/report/{executionId} | POST /tasks/executions/{executionId}/report | Creates a new report for matching execution id. |
...
id. |
User Service
Note | ||
---|---|---|
| ||
User Service Interface in Version 1.1.0 is still not applying some major RESTful best practices. Therefore refactoring for release >= 1.2.0 is most likely. |
CRUD operations:
Old URL | New URL | Comment |
---|---|---|
POST /user/create | POST /users | Creates a new user. (Returns URL to new user definition) |
GET /user/list | GET /users | Returns a list of all known users |
GET /user/list/{page}/{size} | GET /users?page={page}&size={size} | Returns a list of known users matching page/size conditions |
GET /user/read/{userId} | GET /users/{userId} | Returns a single user matching the provided userId |
GET /user/read/self} | GET /users/{userId} self | Returns a single user matching the provided userId the authenticated user |
GET /user/readByUsername/{username} | GET /users;uname?username={username} | Returns a single user matching the provided username |
POST /user/search | POST /users/search | Returns a list of user matching the provided search conditions. |
POST /user/search/{page}/{size} | POST /users/search?page={page}&size={size} | Returns a list of user matching the provided page/size and search conditions. |
GET /user/count | GET /users/count | Returns a number of existing users. |
POST /user/search/count | POST /users/search/count | Returns a number of user matching the provided search conditions. |
GET /user/verifyPassword/{username}?password={password} | <<removed>> | Use Basic-Authentication and GET /users;uname={username};pwd={password} Returns user if username and password match with an existing account/self to verify authentication and retrieve user object including assigned roles. |
POST /user/update | POST /users/{userId} | Updates user. (POST is used here instead of PUT, because UserMod only contains changes for a user and not a complete representation thereof.) |
GET /user/delete/{userId} | DELETE /users/{userId} | Deletes user. |
GET /deleteByUsername/{username} | <<removed>> | Please use 'GET /user;uname?username={username}' to discover userId and then use 'DELETE /user/{userId}' to delete user. |
...
Old URL | New URL | Comment | ||
---|---|---|---|---|
GET /user/activate/{userId} | POST /users/{userId}/status /status/activate | Activates matching user account Post a new StatusMod element with status ACTIVATE. | ||
GET /user/activateByUsername/{username} | <<removed>> | POST /user/activateByUsername/{username} | Activates matching Please use 'GET /user;uname={username}' to discover userId and then use 'POST /user/{userId}/status' to enable user account. | |
GET /user/reactivate/{userId} | POST /users/{userId}/status/reactivate | Post a new StatusMod element with status REACTIVATE. | Reactivates new user account. | |
GET /user/reactivateByUsername/{username} | GET /user/reactivateByUsername/{username} | <<removed>> | Please use 'GET /user;uname={username}' to discover userId and then use 'POST /user/reactivateByUsername/{userId}/status' to reactivate username} | Reactivates new user account. |
GET /user/suspend/{userId} | POST /users/{userId}/status/suspend | Suspends user account Post a new StatusMod element with status SUSPEND. | ||
GET /user/suspendByUsername/{username} | <<removed>> | Please use 'GET /user;uname={username}' to discover userId and then use 'POST /user/{userId}/status' to suspend user account. |
...
POST /user/suspendByUsername/{username} | Suspends user account. |
UserWorkflow Service
Old URL | New URL | Comment | ||
---|---|---|---|---|
GET /user/workflow/form/list | GET /usersuserworkflow/workflow/form forms | Returns a list of user workflow forms. | ||
GET POST /user/workflow/form/{userId} submit GET | POST /users/{userId}/workflow/form userworkflow/forms | Submits a form to a user workflow. | ||
GET | Returns a (single) workflow form assigned to user. | POST /user/workflow/form/submit {userId} POST | GET /usersuserworkflow/workflowforms/form {userId} | Submittes Returns a (single) workflow form assigned to a user workflow. |
POST /user/execute/workflow/{taskId} | POST /usersuserworkflow/workflowtasks/task/{taskId}/execute | Executes workflow task on user. | ||
GET /workflow/form/claim/{taskId} | POST /usersuserworkflow/workflow/tasktasks/{taskId}/claim | Claims workflow task for authenticated (session) user. |
UserRequest Service
Old URL | New URL | Comment | ||
---|---|---|---|---|
GET POST /user/request/create/allowed GET | POST /requests/user/create/allowed | Returns true/false whether user is allowed to create a new user. | POST /user/request/create | POST /requests/user/create Creates a new user creation requestContent contains user and create status. |
POST /user/request/update | POST /requests/user/update | POST Content contains userMod and update status Creates a new user update request. | ||
GET /user/request/delete/{userId} | POST /requests/user/delete | POST Content contains user id and delete status. | ||
GET /user/request/list | GET /requests/user | Returns a list of all user requests. Creates a new user delete request. (Id will now be part of HTTP body) | ||
GET /user/request/requestread/list {requestId} | GET /requests/user/{requestId} | Returns a list of all user requestsuser request with matching id. | ||
GET /user/request/readdeleteRequest/{requestId} | GET DELETE /requests/user/{requestId} | Deletes request with matching id. | ||
Old URL | New URL | Comment | ||
GET /user/request/create/allowed | GET /requests/user/create/allowed | Returns true/false whether user is allowed to create a new user request with matching id. | ||
GET /user/request/deleteRequest/{requestId} | DELETE /requests/user/{requestId} | create/allowed | OPTIONS | Returns HTTP header "Syncope-Create-Allowed" indicating if user create is allowed or not Deletes request with matching id. |
Workflow Service
Old URL | New URL | Comment |
---|---|---|
PUT /workflow/definition/user | PUT /workflows/user | Creates or updates workflow definition for users. |
GET /workflow/definition/user | GET /workflows/{kind} user | Returns a workflow definition of matching kindfor users. |
GET /workflow/definitiontasks/role user | GET /workflows/user/{kind} tasks | Returns a workflow definition of matching kind. workflow tasks for users. |
Old URL | New URL | Comment |
PUT /workflow/definition/user role | PUT /workflows/{kind} role | Creates or updates workflow definition of matching kindfor roles. |
PUT GET /workflow/definition/role | PUT GET /workflows/{kind} role | Returns a workflow definition for roles Creates or updates workflow definition of matching kind. |
GET /workflow/tasks/user role | GET /workflows/{kind}role/tasks | Returns workflow tasks with matching kindfor roles. |