Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Note
titleVersion warning

In Syncope 1.1 .0 there are two REST interfaces:

  1. a new
REST interface was introduced
  1. one (referred as new in the following)
.
  1. exposed under /cxf
  2. the one
The REST interface
  1. available in 1.0
.X
  1. (referred as old in the following) is still present but will be removed from releases >= 1.2.0. It is exposed by default in 1.1 under /rest

In Syncope >= 1.2 there is a single REST interface, available under /rest

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 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.

GET /report/read/{reportId}

GET /reports/{reportId}

Returns report with matching reportId.

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.

POST /report/count

POST /reports/count

Returns number of existing reports.

POST /report/update

PUT /reports/{reportId}

Updates report with matching reportId.

GET /report/delete/{reportId}

DELETE /reports/{reportId}

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/list

GET /reports/executions

Returns a list of all execution reports.

GET /report/execution/export/{executionId}?fmt={format}

GET /reports/executions/{executionId}/dbDump?format={format}

Returns execution report as an downloadable file. Format is optional.

GET /report/execution/delete/{executionId}

DELETE /reports/executions/{executionId}

Deletes execution report with matching id.

Old URL

New URL

Comment

GET /report/reportletConfClasses

GET /reports/reportletConfClasses

Returns a list of all reportletConfClasses.

...

Old URL

New URL

Comment

POST /resource/create

POST /resources

Creates a new resource.

GET /resource/read/{resourceName}

GET /resources/{resourceName}

Returns a resource with specified name.

GET /resource/list

GET /resources

Returns a list of all resources.

GET /resource/list?connInstanceId={connInstanceId}

GET /resources;connectorId={connectorId}

Returns a list of all resources used by matching connector.

POST /resource/update

PUT /resources/{resourceName}

Updates resource with matching resourceName.

GET /resource/delete/{resourceName}

DELETE /resources/{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/check

Verifies connection using resource connector parameters.

GET /resource/propagationActionsClasses

GET /resources/propagationActionsClasses

Returns a list of classes with name PROPAGATION_ACTIONS.

...

Old URL

New URL

Comment

POST /task/create/sync

POST /tasks

Creates a new sync task.

GET /task/syncread/list {taskId}

GET /tasks/sync/{taskId}

Returns sync task with matching id.

GET /task/sync/list

GET /tasks/sync/list

Returns a list of sync tasks.

GET /task/sync/list/{page}/{size}

GET /tasks/sync?page={page}&size={size}

Returns a list of paginated sync tasks.

GET /task/sync/count

GET /tasks/sync/count

Returns number of sync tasks.

POST /task/update/sync

PUT /tasks/{taskId}

Updates sync task with matching id.

GET /task/sync/execution/list

GET /tasks/sync/executions

Returns list of sync task executions.

Old URL

New URL

Comment

POST /task/create/sched

POST /tasks

Creates a new sched task.

GET /task/schedread/list {taskId}

GET /tasks/sched/{taskId}

Returns a list of sched tasks. 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

GET /task/sched/execution/list read/{taskId}

GET /tasks/schedpropagation/executions {taskId}

Returns list of sched task executions.

Old URL

New URL

Comment

propagation task with matching id.

GET /task/propagation/list

GET /tasks/propagation/list

Returns a list of propagation tasks.

GET /task/propagation/list/{page}/{size}

GET /tasks/propagation?page={page}&size={size}

Returns a list of paginated propagation tasks.

GET /task/propagation/count

GET /tasks/propagation/count

Returns number of propagation tasks.

GET /task/propagation/execution/list

GET /tasks/propagation/executions

Returns list of propagation task executions.

Old URL

New URL

Comment

GET /task/read/{taskId}

GET /tasks/notification/{taskId}

Returns notification task with matching id.

GET /task/notification/notification/list

GET /tasks/notification/list

Returns a list of notification tasks.

GET /task/notification/list/{page}/{size}

GET /tasks/notification?page={page}&size={size}

Returns a list of paginated notification tasks.

GET /task/notification/count

GET /tasks/notification/count

Returns number of notification tasks. GET /task/ notification /execution/list GET / tasks/notification/executions Returns list of notification task executions.

Old URL

New URL

Comment

GET /task/readdelete/{taskId}

GET DELETE /tasks/{taskId}

Returns Deletes task with matching id.

GET /task/deleteexecution/read/{taskIdexecutionId}

DELETE GET /tasks/{taskId}

Deletes task with matching id.

GET /task/execution/read/executions/{executionId}

GET /tasks/executions/{executionId}

Returns execution of task with matching id.

POST /task/execute/{taskId}?dryRun={dryRun}

POST /tasks/{taskId}/execute?dryRun={dryRun}

Executes task with matching id.

GET /task/execution/delete/{executionId}

DELETE /tasks/executions/{executionId}

Deletes execution of task with matching id.

GET /task/jobClasses

GET /tasks/jobClasses

Returns a list of available jobClasses.

GET /task/syncActionsClasses

GET /tasks/syncActionsClasses

Returns a list of available syncActionsClasses.

GET /task/execution/report/{executionId}
?executionStatus={executionStatus}&message={message}

POST /tasks/executions/{executionId}/report

Creates a new report for matching execution id.

User Service

CRUD operations:

Note
titleVersion warning

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.

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/self

Returns 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/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 REACTIVATEReactivates new user account.

GET /user/reactivateByUsername/{username}

<<removed>>

Please use 'GET POST /user;uname=/reactivateByUsername/{username}' to discover userId and then use 'POST /user/{userId}/status' to reactivate user account.

Reactivates new user account.

GET /user/suspend/ 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.

...