This Confluence has been LDAP enabled, if you are an ASF Committer, please use your LDAP Credentials to login. Any problems file an INFRA jira ticket please.

Page tree
Skip to end of metadata
Go to start of metadata

In the following it is assumed that:

Apache Syncope >= 2.0.X

Details are available in the Reference Guide.

With Apache Syncope 2.0.0, besides using curl as with earlier versions, a brand new CLI tool is available.

For more details please refer to the REST API reference, which is also available at http://localhost:9080/syncope/.

If selected for deployment, the Swagger extension is also available at http://localhost:9080/syncope/swagger/.

Apache Syncope 1.2.X

For more details please refer to the REST API reference, which is also available at http://localhost:9080/syncope/rest/doc/.

Create user

curl -X POST -u admin:password -H "Accept: application/json" -H "Content-Type: application/json"\
--data @/tmp/newuser.json http://localhost:9080/syncope/rest/users

where /tmp/newuser.json looks like:

{ 
  "id": 0,
  "password": "password123",
  "username": "myusername@apache.org",
  "securityQuestion": null,
  "securityAnswer": null,
  "attributes": [
    { 
      "schema": "fullname",
      "readonly": false,
      "values": [
        "myusername@apache.org"
      ]
    },
    { 
      "schema": "loginDate",
      "readonly": false,
      "values": [
        "2015-11-12"
      ]
    } 
  ]
}

To link the user to an existing resource, include this in the root json hash:

  "resources": [
    "ws-target-resource-1"
  ]

You might want to add

-H "Prefer: return-no-content"

to avoid Syncope core populating the HTTP response with the created user entry.

Update user

curl -X POST -u admin:password -H "Accept: application/json" -H "Content-Type: application/json"\
--data @/tmp/updateuser.json http://localhost:9080/syncope/rest/users/100

where 100 is the id of the user to be deleted and /tmp/updateuser.json looks like:

{
  "id": 100,
  "username": "newUsername",
  "password": "updatedPassword",
  "attributesToRemove": [
    "surname"
  ],
  "attributesToUpdate": [
    {
      "schema": "surname",
      "valuesToBeAdded": [
        "New surname"
      ],
      "valuesToBeRemoved": []
    }
  ]
}

You might want to add

-H "Prefer: return-no-content"

to avoid Syncope core populating the HTTP response with the updated user entry.

Delete user

curl -X DELETE -u admin:password -H "Accept: application/json" http://localhost:9080/syncope/rest/users/100

where 100 is the id of the user to be deleted.

You might want to add

-H "Prefer: return-no-content"

to avoid Syncope core populating the HTTP response with the deleted user entry.

Export database content

curl -X GET -u admin:password -o content.xml http://localhost:9080/syncope/rest/configurations/stream

Change configuration parameter value

curl -X PUT -u admin:password -H "Accept: application/json" -H "Content-Type: application/json" \
-d '{"schema":"selfRegistration.allowed","values":["true"]}' http://localhost:9080/syncope/rest/configurations/selfRegistration.allowed

Apache Syncope <= 1.1.X

Create user

curl -u admin:password -H "Content-Type: application/json" --data @/tmp/newuser.json http://localhost:9080/syncope/rest/user/create.json

where /tmp/newuser.json looks like:

{
  "id": "0",
  "username": "myusername",
  "password": "test123",
  "attributes": [
    {
      "schema": "userId",
      "values": [
        "example1@example.com"
      ]
    },
    {
      "schema": "surname",
      "values": [
        "My Surname"
      ]
    }
  ]
}

To link the user to an existing resource, include this in the root json hash:

  "resources": [
    "ws-target-resource-1"
  ]

Export database content

curl -u admin:password -o content.xml -H "Content-Type: application/xml" -X GET http://localhost:9080/syncope/cxf/configurations/stream

Change configuration parameter value

curl -u admin:password -H "Content-Type: application/json" \
 -d '{"key":"smtp.host","value":"smtp.ngi.it"}' http://localhost:9080/syncope/rest/configuration/update.json