Users

Create A User

curl-request
$ curl 'http://localhost:8080/users' -i -X POST -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{
  "identifier" : "Ahmes_friend",
  "role" : "scribe",
  "password" : "c2VraGVt"
}'
http-request
POST /users HTTP/1.1
Accept: application/json
Content-Type: application/json
Host: localhost:8080
Content-Length: 83

{
  "identifier" : "Ahmes_friend",
  "role" : "scribe",
  "password" : "c2VraGVt"
}
httpie-request
$ echo '{
  "identifier" : "Ahmes_friend",
  "role" : "scribe",
  "password" : "c2VraGVt"
}' | http POST 'http://localhost:8080/users' 'Accept:application/json' 'Content-Type:application/json'
Table 1. request-fields
Path Type Description

identifier

String

user’s identifier

role

String

user’s role

password

String

user’s password

http-response
HTTP/1.1 202 Accepted

Find A User

curl-request
$ curl 'http://localhost:8080/users/Ahmes_friend' -i -H 'Accept: */*' -H 'Content-Type: application/json'
http-request
GET /users/Ahmes_friend HTTP/1.1
Accept: */*
Content-Type: application/json
Host: localhost:8080
httpie-request
$ http GET 'http://localhost:8080/users/Ahmes_friend' 'Accept:*/*' 'Content-Type:application/json'
http-response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 56

{
  "identifier" : "Ahmes_friend",
  "role" : "scribe"
}
Table 2. response-fields
Path Type Description

identifier

String

user’s identifier

role

String

user’s role

Find All Users

curl-request
$ curl 'http://localhost:8080/users' -i -H 'Accept: */*' -H 'Content-Type: application/json'
http-request
GET /users HTTP/1.1
Accept: */*
Content-Type: application/json
Host: localhost:8080
httpie-request
$ http GET 'http://localhost:8080/users' 'Accept:*/*' 'Content-Type:application/json'
http-response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 231

[ {
  "identifier" : "Ahmes_Other_friend",
  "role" : "cobbler"
}, {
  "identifier" : "Ahmes1",
  "role" : "pharaoh"
}, {
  "identifier" : "antony",
  "role" : "pharaoh"
}, {
  "identifier" : "Ahmes_friend",
  "role" : "scribe"
} ]
Table 3. response-fields
Path Type Description

[].identifier

String

first user’s identifier

[].role

String

first user’s role

[1].identifier

String

second user’s identifier

[1].role

String

second user’s role

[2].identifier

String

third user’s identifier

[2].role

String

third user’s role

[3].identifier

String

fourth user’s identifier

[3].role

String

fourth user’s role

Get A User’s Permissions

curl-request
$ curl 'http://localhost:8080/users/Ahmes_friend/permissions' -i -H 'Accept: */*' -H 'Content-Type: application/json'
http-request
GET /users/Ahmes_friend/permissions HTTP/1.1
Accept: */*
Content-Type: application/json
Host: localhost:8080
httpie-request
$ http GET 'http://localhost:8080/users/Ahmes_friend/permissions' 'Accept:*/*' 'Content-Type:application/json'
http-response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 125

[ {
  "permittableEndpointGroupIdentifier" : "identity__v1__self",
  "allowedOperations" : [ "DELETE", "READ", "CHANGE" ]
} ]
Table 4. response-fields
Path Type Description

[].permittableEndpointGroupIdentifier

String

permittable endpoint group identifier

[].allowedOperations

Set<AllowedOperation>

Set of allowed operations

Change A User’s Role

curl-request
$ curl 'http://localhost:8080/users/Ahmes_friend/roleIdentifier' -i -X PUT -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{
  "identifier" : "cobbler"
}'
http-request
PUT /users/Ahmes_friend/roleIdentifier HTTP/1.1
Accept: application/json
Content-Type: application/json
Host: localhost:8080
Content-Length: 30

{
  "identifier" : "cobbler"
}
httpie-request
$ echo '{
  "identifier" : "cobbler"
}' | http PUT 'http://localhost:8080/users/Ahmes_friend/roleIdentifier' 'Accept:application/json' 'Content-Type:application/json'
Table 5. request-fields
Path Type Description

identifier

String

updated role identifier

http-response
HTTP/1.1 202 Accepted

Change A User’s Password

curl-request
$ curl 'http://localhost:8080/users/Daddy/password' -i -X PUT -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{
  "password" : "c2VraGVtRGFkZHk="
}'
http-request
PUT /users/Daddy/password HTTP/1.1
Accept: application/json
Content-Type: application/json
Host: localhost:8080
Content-Length: 37

{
  "password" : "c2VraGVtRGFkZHk="
}
httpie-request
$ echo '{
  "password" : "c2VraGVtRGFkZHk="
}' | http PUT 'http://localhost:8080/users/Daddy/password' 'Accept:application/json' 'Content-Type:application/json'
Table 6. request-fields
Path Type Description

password

String

updated password

http-response
HTTP/1.1 202 Accepted

Roles

Create A Role

curl-request
$ curl 'http://localhost:8080/roles' -i -X POST -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{
  "identifier" : "scribe1",
  "permissions" : [ {
    "permittableEndpointGroupIdentifier" : "identity__v1__roles",
    "allowedOperations" : [ "DELETE", "READ", "CHANGE" ]
  } ]
}'
http-request
POST /roles HTTP/1.1
Accept: application/json
Content-Type: application/json
Host: localhost:8080
Content-Length: 182

{
  "identifier" : "scribe1",
  "permissions" : [ {
    "permittableEndpointGroupIdentifier" : "identity__v1__roles",
    "allowedOperations" : [ "DELETE", "READ", "CHANGE" ]
  } ]
}
httpie-request
$ echo '{
  "identifier" : "scribe1",
  "permissions" : [ {
    "permittableEndpointGroupIdentifier" : "identity__v1__roles",
    "allowedOperations" : [ "DELETE", "READ", "CHANGE" ]
  } ]
}' | http POST 'http://localhost:8080/roles' 'Accept:application/json' 'Content-Type:application/json'
Table 7. request-fields
Path Type Description

identifier

String

Identifier

permissions[].permittableEndpointGroupIdentifier

String

permittable endpoints

permissions[].allowedOperations

Set<AllowedOperation>

Set of allowed operations

http-response
HTTP/1.1 202 Accepted

Find A Role

curl-request
$ curl 'http://localhost:8080/roles/scribe1' -i -H 'Accept: */*' -H 'Content-Type: application/json'
http-request
GET /roles/scribe1 HTTP/1.1
Accept: */*
Content-Type: application/json
Host: localhost:8080
httpie-request
$ http GET 'http://localhost:8080/roles/scribe1' 'Accept:*/*' 'Content-Type:application/json'
Table 8. response-fields
Path Type Description

identifier

String

Identifier

permissions[].permittableEndpointGroupIdentifier

String

permittable endpoints

permissions[].allowedOperations

Set<AllowedOperation>

Set of allowed operations

http-response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 182

{
  "identifier" : "scribe1",
  "permissions" : [ {
    "permittableEndpointGroupIdentifier" : "identity__v1__roles",
    "allowedOperations" : [ "READ", "CHANGE", "DELETE" ]
  } ]
}

Find Roles

curl-request
$ curl 'http://localhost:8080/roles' -i -H 'Accept: */*' -H 'Content-Type: application/json'
http-request
GET /roles HTTP/1.1
Accept: */*
Content-Type: application/json
Host: localhost:8080
httpie-request
$ http GET 'http://localhost:8080/roles' 'Accept:*/*' 'Content-Type:application/json'
Table 9. response-fields
Path Type Description

[].identifier

String

first role’s identifier

[].permissions[].permittableEndpointGroupIdentifier

String

first role’s roles permittable

[].permissions[].allowedOperations

Set<AllowedOperation>

Set of first role’s allowed operations

[].permissions[1].permittableEndpointGroupIdentifier

String

first role’s users permittable

[].permissions[1].allowedOperations

Set<AllowedOperation>

Set of first role’s allowed operations

[].permissions[2].permittableEndpointGroupIdentifier

String

first role’s self permittable

[].permissions[2].allowedOperations

Set<AllowedOperation>

Set of first role’s allowed operations

[].permissions[3].permittableEndpointGroupIdentifier

String

first role’s app_self permittable

[].permissions[3].allowedOperations

Set<AllowedOperation>

Set of first role’s allowed operations

[1].identifier

String

second role’s identifier

[1].permissions[].permittableEndpointGroupIdentifier

String

second role’s roles permittable

[1].permissions[].allowedOperations

Set<AllowedOperation>

Set of second role’s allowed operations

http-response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 762

[ {
  "identifier" : "pharaoh",
  "permissions" : [ {
    "permittableEndpointGroupIdentifier" : "identity__v1__roles",
    "allowedOperations" : [ "READ", "CHANGE", "DELETE" ]
  }, {
    "permittableEndpointGroupIdentifier" : "identity__v1__users",
    "allowedOperations" : [ "READ", "CHANGE", "DELETE" ]
  }, {
    "permittableEndpointGroupIdentifier" : "identity__v1__self",
    "allowedOperations" : [ "READ", "CHANGE", "DELETE" ]
  }, {
    "permittableEndpointGroupIdentifier" : "identity__v1__app_self",
    "allowedOperations" : [ "READ", "CHANGE", "DELETE" ]
  } ]
}, {
  "identifier" : "scribe1",
  "permissions" : [ {
    "permittableEndpointGroupIdentifier" : "identity__v1__roles",
    "allowedOperations" : [ "READ", "CHANGE", "DELETE" ]
  } ]
} ]

Update A Role

curl-request
$ curl 'http://localhost:8080/roles/scribe1' -i -X PUT -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{
  "identifier" : "scribe1",
  "permissions" : [ {
    "permittableEndpointGroupIdentifier" : "identity__v1__users",
    "allowedOperations" : [ "READ", "DELETE", "CHANGE" ]
  } ]
}'
http-request
PUT /roles/scribe1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Host: localhost:8080
Content-Length: 182

{
  "identifier" : "scribe1",
  "permissions" : [ {
    "permittableEndpointGroupIdentifier" : "identity__v1__users",
    "allowedOperations" : [ "READ", "DELETE", "CHANGE" ]
  } ]
}
httpie-request
$ echo '{
  "identifier" : "scribe1",
  "permissions" : [ {
    "permittableEndpointGroupIdentifier" : "identity__v1__users",
    "allowedOperations" : [ "READ", "DELETE", "CHANGE" ]
  } ]
}' | http PUT 'http://localhost:8080/roles/scribe1' 'Accept:application/json' 'Content-Type:application/json'
Table 10. request-fields
Path Type Description

identifier

String

Identifier

permissions[].permittableEndpointGroupIdentifier

String

permittable endpoints

permissions[].allowedOperations

Set<AllowedOperation>

Set of allowed operations

http-response
HTTP/1.1 202 Accepted

Delete A Role

curl-request
$ curl 'http://localhost:8080/roles/scribe1' -i -X DELETE -H 'Accept: */*' -H 'Content-Type: application/json'
http-request
DELETE /roles/scribe1 HTTP/1.1
Accept: */*
Content-Type: application/json
Host: localhost:8080
httpie-request
$ http DELETE 'http://localhost:8080/roles/scribe1' 'Accept:*/*' 'Content-Type:application/json'
http-response
HTTP/1.1 202 Accepted

Permittable Groups

Create A Permittable Group

curl-request
$ curl 'http://localhost:8080/permittablegroups' -i -X POST -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{
  "identifier" : "group1",
  "permittables" : [ {
    "path" : "/exx/eyy/eze",
    "method" : "POST",
    "groupId" : "id",
    "acceptTokenIntendedForForeignApplication" : false
  } ]
}'
http-request
POST /permittablegroups HTTP/1.1
Accept: application/json
Content-Type: application/json
Host: localhost:8080
Content-Length: 188

{
  "identifier" : "group1",
  "permittables" : [ {
    "path" : "/exx/eyy/eze",
    "method" : "POST",
    "groupId" : "id",
    "acceptTokenIntendedForForeignApplication" : false
  } ]
}
httpie-request
$ echo '{
  "identifier" : "group1",
  "permittables" : [ {
    "path" : "/exx/eyy/eze",
    "method" : "POST",
    "groupId" : "id",
    "acceptTokenIntendedForForeignApplication" : false
  } ]
}' | http POST 'http://localhost:8080/permittablegroups' 'Accept:application/json' 'Content-Type:application/json'
Table 11. request-fields
Path Type Description

identifier

String

Permittable group identifier

permittables[].path

String

RequestMapping value

permittables[].method

RequestMethod

HTTP Request Method

permittables[].groupId

String

permittable identifier

permittables[].acceptTokenIntendedForForeignApplication

boolean

Accept token for foreign application

http-response
HTTP/1.1 202 Accepted

Find A Permittable Group

curl-request
$ curl 'http://localhost:8080/permittablegroups/pgroup1' -i -H 'Accept: */*' -H 'Content-Type: application/json'
http-request
GET /permittablegroups/pgroup1 HTTP/1.1
Accept: */*
Content-Type: application/json
Host: localhost:8080
httpie-request
$ http GET 'http://localhost:8080/permittablegroups/pgroup1' 'Accept:*/*' 'Content-Type:application/json'
http-response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 189

{
  "identifier" : "pgroup1",
  "permittables" : [ {
    "path" : "/exx/eyy/eze",
    "method" : "POST",
    "groupId" : "id",
    "acceptTokenIntendedForForeignApplication" : false
  } ]
}
Table 12. response-fields
Path Type Description

identifier

String

Permittable group identifier

permittables[].path

String

RequestMapping value

permittables[].method

RequestMethod

HTTP Request Method

permittables[].groupId

String

permittable identifier

permittables[].acceptTokenIntendedForForeignApplication

boolean

Accept token for foreign application ?

Get All Permittable Groups

curl-request
$ curl 'http://localhost:8080/permittablegroups' -i -H 'Accept: */*' -H 'Content-Type: application/json'
http-request
GET /permittablegroups HTTP/1.1
Accept: */*
Content-Type: application/json
Host: localhost:8080
httpie-request
$ http GET 'http://localhost:8080/permittablegroups' 'Accept:*/*' 'Content-Type:application/json'
http-response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 4602

[ {
  "identifier" : "identity__v1__roles",
  "permittables" : [ {
    "path" : "identity-v1/roles/*",
    "method" : "GET",
    "groupId" : null,
    "acceptTokenIntendedForForeignApplication" : false
  }, {
    "path" : "identity-v1/roles/*",
    "method" : "POST",
    "groupId" : null,
    "acceptTokenIntendedForForeignApplication" : false
  }, {
    "path" : "identity-v1/roles/*",
    "method" : "PUT",
    "groupId" : null,
    "acceptTokenIntendedForForeignApplication" : false
  }, {
    "path" : "identity-v1/roles/*",
    "method" : "DELETE",
    "groupId" : null,
    "acceptTokenIntendedForForeignApplication" : false
  }, {
    "path" : "identity-v1/permittablegroups/*",
    "method" : "GET",
    "groupId" : null,
    "acceptTokenIntendedForForeignApplication" : false
  }, {
    "path" : "identity-v1/permittablegroups/*",
    "method" : "POST",
    "groupId" : null,
    "acceptTokenIntendedForForeignApplication" : false
  }, {
    "path" : "identity-v1/permittablegroups/*",
    "method" : "PUT",
    "groupId" : null,
    "acceptTokenIntendedForForeignApplication" : false
  }, {
    "path" : "identity-v1/permittablegroups/*",
    "method" : "DELETE",
    "groupId" : null,
    "acceptTokenIntendedForForeignApplication" : false
  } ]
}, {
  "identifier" : "identity__v1__self",
  "permittables" : [ {
    "path" : "identity-v1/users/{useridentifier}/password",
    "method" : "GET",
    "groupId" : null,
    "acceptTokenIntendedForForeignApplication" : false
  }, {
    "path" : "identity-v1/users/{useridentifier}/password",
    "method" : "POST",
    "groupId" : null,
    "acceptTokenIntendedForForeignApplication" : false
  }, {
    "path" : "identity-v1/users/{useridentifier}/password",
    "method" : "PUT",
    "groupId" : null,
    "acceptTokenIntendedForForeignApplication" : false
  }, {
    "path" : "identity-v1/users/{useridentifier}/password",
    "method" : "DELETE",
    "groupId" : null,
    "acceptTokenIntendedForForeignApplication" : false
  }, {
    "path" : "identity-v1/applications/*/permissions/*/users/{useridentifier}/enabled",
    "method" : "GET",
    "groupId" : null,
    "acceptTokenIntendedForForeignApplication" : false
  }, {
    "path" : "identity-v1/applications/*/permissions/*/users/{useridentifier}/enabled",
    "method" : "POST",
    "groupId" : null,
    "acceptTokenIntendedForForeignApplication" : false
  }, {
    "path" : "identity-v1/applications/*/permissions/*/users/{useridentifier}/enabled",
    "method" : "PUT",
    "groupId" : null,
    "acceptTokenIntendedForForeignApplication" : false
  }, {
    "path" : "identity-v1/applications/*/permissions/*/users/{useridentifier}/enabled",
    "method" : "DELETE",
    "groupId" : null,
    "acceptTokenIntendedForForeignApplication" : false
  } ]
}, {
  "identifier" : "identity__v1__users",
  "permittables" : [ {
    "path" : "identity-v1/users/*",
    "method" : "GET",
    "groupId" : null,
    "acceptTokenIntendedForForeignApplication" : false
  }, {
    "path" : "identity-v1/users/*",
    "method" : "POST",
    "groupId" : null,
    "acceptTokenIntendedForForeignApplication" : false
  }, {
    "path" : "identity-v1/users/*",
    "method" : "PUT",
    "groupId" : null,
    "acceptTokenIntendedForForeignApplication" : false
  }, {
    "path" : "identity-v1/users/*",
    "method" : "DELETE",
    "groupId" : null,
    "acceptTokenIntendedForForeignApplication" : false
  } ]
}, {
  "identifier" : "identity__v1__app_self",
  "permittables" : [ {
    "path" : "identity-v1/applications/{applicationidentifier}/permissions",
    "method" : "GET",
    "groupId" : null,
    "acceptTokenIntendedForForeignApplication" : false
  }, {
    "path" : "identity-v1/applications/{applicationidentifier}/permissions",
    "method" : "POST",
    "groupId" : null,
    "acceptTokenIntendedForForeignApplication" : false
  }, {
    "path" : "identity-v1/applications/{applicationidentifier}/permissions",
    "method" : "PUT",
    "groupId" : null,
    "acceptTokenIntendedForForeignApplication" : false
  }, {
    "path" : "identity-v1/applications/{applicationidentifier}/permissions",
    "method" : "DELETE",
    "groupId" : null,
    "acceptTokenIntendedForForeignApplication" : false
  } ]
}, {
  "identifier" : "pgroup1",
  "permittables" : [ {
    "path" : "/exx/eyy/eze",
    "method" : "POST",
    "groupId" : "id",
    "acceptTokenIntendedForForeignApplication" : false
  } ]
}, {
  "identifier" : "pgroup2",
  "permittables" : [ {
    "path" : "/exx/eyy/eze",
    "method" : "POST",
    "groupId" : "id",
    "acceptTokenIntendedForForeignApplication" : false
  } ]
} ]
Table 13. response-fields
Path Type Description

[].identifier

String

Permittable group identifier

[].permittables[].path

String

RequestMapping value

[].permittables[].method

RequestMethod

HTTP Request Method

[].permittables[].groupId

String

permittable identifier

[].permittables[].acceptTokenIntendedForForeignApplication

boolean

Accept token for foreign application ?

[1].identifier

String

Permittable group identifier

[1].permittables[].path

String

RequestMapping value

[1].permittables[].method

RequestMethod

HTTP Request Method

[1].permittables[].groupId

String

permittable identifier

[1].permittables[].acceptTokenIntendedForForeignApplication

boolean

Accept token for foreign application ?

Applications

Get Applications

curl-request
$ curl 'http://localhost:8080/applications' -i -H 'Accept: */*' -H 'Content-Type: application/json'
http-request
GET /applications HTTP/1.1
Accept: */*
Content-Type: application/json
Host: localhost:8080
httpie-request
$ http GET 'http://localhost:8080/applications' 'Accept:*/*' 'Content-Type:application/json'
http-response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 30

[ "test995-v1", "test028-v1" ]

Delete An Application

curl-request
$ curl 'http://localhost:8080/applications/test303-v1' -i -X DELETE -H 'Accept: */*' -H 'Content-Type: application/json'
http-request
DELETE /applications/test303-v1 HTTP/1.1
Accept: */*
Content-Type: application/json
Host: localhost:8080
httpie-request
$ http DELETE 'http://localhost:8080/applications/test303-v1' 'Accept:*/*' 'Content-Type:application/json'
http-response
HTTP/1.1 202 Accepted

Set An Application’s Signature

curl-request
$ curl 'http://localhost:8080/applications/testApp255-v1/signatures/2018-06-21T10_36_12' -i -X PUT -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{
  "publicKeyMod" : 28444811764607488859329317332012212093787131936628417112795864601446972420342430080606084199730585439504551192431623120684974512526813529763648106930975536810294843146316445172999990609819210706537414247811599743545038298434430665664632610176112330802466093561140394786113602135986318674090759978810522291074982509727327919765843260837276155269165967622038999979805920306186222393500928328981507109556829333485524913313394862386746981597982334637423546121398742168764040011044482416181226919045780054123080200054099936180827787385016577943424321199424251515846986250172369732815966605814432774914865574386642310346303,
  "publicKeyExp" : 65537
}'
http-request
PUT /applications/testApp255-v1/signatures/2018-06-21T10_36_12 HTTP/1.1
Accept: application/json
Content-Type: application/json
Host: localhost:8080
Content-Length: 666

{
  "publicKeyMod" : 28444811764607488859329317332012212093787131936628417112795864601446972420342430080606084199730585439504551192431623120684974512526813529763648106930975536810294843146316445172999990609819210706537414247811599743545038298434430665664632610176112330802466093561140394786113602135986318674090759978810522291074982509727327919765843260837276155269165967622038999979805920306186222393500928328981507109556829333485524913313394862386746981597982334637423546121398742168764040011044482416181226919045780054123080200054099936180827787385016577943424321199424251515846986250172369732815966605814432774914865574386642310346303,
  "publicKeyExp" : 65537
}
httpie-request
$ echo '{
  "publicKeyMod" : 28444811764607488859329317332012212093787131936628417112795864601446972420342430080606084199730585439504551192431623120684974512526813529763648106930975536810294843146316445172999990609819210706537414247811599743545038298434430665664632610176112330802466093561140394786113602135986318674090759978810522291074982509727327919765843260837276155269165967622038999979805920306186222393500928328981507109556829333485524913313394862386746981597982334637423546121398742168764040011044482416181226919045780054123080200054099936180827787385016577943424321199424251515846986250172369732815966605814432774914865574386642310346303,
  "publicKeyExp" : 65537
}' | http PUT 'http://localhost:8080/applications/testApp255-v1/signatures/2018-06-21T10_36_12' 'Accept:application/json' 'Content-Type:application/json'
Table 14. request-fields
Path Type Description

publicKeyMod

BigInteger

public key mod

publicKeyExp

BigInteger

public key exp

http-response
HTTP/1.1 202 Accepted

Get An Application’s Signature

curl-request
$ curl 'http://localhost:8080/applications/testApp007-v1/signatures/2018-06-21T10_43_29' -i -H 'Accept: application/json' -H 'Content-Type: */*'
http-request
GET /applications/testApp007-v1/signatures/2018-06-21T10_43_29 HTTP/1.1
Accept: application/json
Content-Type: */*
Host: localhost:8080
httpie-request
$ http GET 'http://localhost:8080/applications/testApp007-v1/signatures/2018-06-21T10_43_29' 'Accept:application/json' 'Content-Type:*/*'
Table 15. response-fields
Path Type Description

publicKeyMod

BigInteger

public key mod

publicKeyExp

BigInteger

public key exp

http-response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 666

{
  "publicKeyMod" : 20869368027439811928873645145084333333532147453939223661363242977281870271375778466087793358073290969371872352805034916113565240343571511807449592546610998249493859724244181914188263173028495804970881533710478409986738995383183960436377322496117800759778253531543055367603343362207672119223911325855330121829327064935349522003616591259147925420728973156753881767030028918071136968975636045215249588723053143988568025240762625232784131045396596261508010540341168752378894130603165784477967697613626093939636462706510321422586689409611776806038932422838089529899459939062390414165964287380579142554585875357600669036631,
  "publicKeyExp" : 65537
}

Create An Application’s Permission

curl-request
$ curl 'http://localhost:8080/applications/testApp253-v1/permissions' -i -X POST -H 'Accept: */*' -H 'Content-Type: application/json' -d '{
  "permittableEndpointGroupIdentifier" : "identity__v1__users",
  "allowedOperations" : [ "READ" ]
}'
http-request
POST /applications/testApp253-v1/permissions HTTP/1.1
Accept: */*
Content-Type: application/json
Host: localhost:8080
Content-Length: 102

{
  "permittableEndpointGroupIdentifier" : "identity__v1__users",
  "allowedOperations" : [ "READ" ]
}
httpie-request
$ echo '{
  "permittableEndpointGroupIdentifier" : "identity__v1__users",
  "allowedOperations" : [ "READ" ]
}' | http POST 'http://localhost:8080/applications/testApp253-v1/permissions' 'Accept:*/*' 'Content-Type:application/json'
Table 16. request-fields
Path Type Description

permittableEndpointGroupIdentifier

String

permittable group endpoint identifier

allowedOperations

Set<AllowedOperation>

Set of Allowed Operations

http-response
HTTP/1.1 202 Accepted

Get An Application’s Permission

curl-request
$ curl 'http://localhost:8080/applications/testApp131-v1/permissions/identity__v1__users' -i -H 'Accept: */*' -H 'Content-Type: application/json'
http-request
GET /applications/testApp131-v1/permissions/identity__v1__users HTTP/1.1
Accept: */*
Content-Type: application/json
Host: localhost:8080
httpie-request
$ http GET 'http://localhost:8080/applications/testApp131-v1/permissions/identity__v1__users' 'Accept:*/*' 'Content-Type:application/json'
Table 17. response-fields
Path Type Description

permittableEndpointGroupIdentifier

String

permittable group endpoint identifier

allowedOperations

Set<AllowedOperation>

Set of Allowed Operations

http-response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 104

{
  "permittableEndpointGroupIdentifier" : "identity__v1__users",
  "allowedOperations" : [ "CHANGE" ]
}

Get An Application’s Permissions

curl-request
$ curl 'http://localhost:8080/applications/testApp777-v1/permissions' -i -H 'Accept: */*' -H 'Content-Type: application/json'
http-request
GET /applications/testApp777-v1/permissions HTTP/1.1
Accept: */*
Content-Type: application/json
Host: localhost:8080
httpie-request
$ http GET 'http://localhost:8080/applications/testApp777-v1/permissions' 'Accept:*/*' 'Content-Type:application/json'
Table 18. response-fields
Path Type Description

[].permittableEndpointGroupIdentifier

String

first permittable group endpoint identifier

[].allowedOperations

Set<AllowedOperation>

Set of Allowed Operations

[1].permittableEndpointGroupIdentifier

String

second permittable group endpoint identifier

[1].allowedOperations

Set<AllowedOperation>

Set of Allowed Operations

http-response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 214

[ {
  "permittableEndpointGroupIdentifier" : "identity__v1__roles",
  "allowedOperations" : [ "DELETE" ]
}, {
  "permittableEndpointGroupIdentifier" : "identity__v1__users",
  "allowedOperations" : [ "CHANGE" ]
} ]

Delete An Application’s Permission

curl-request
$ curl 'http://localhost:8080/applications/testApp065-v1/permissions/identity__v1__users' -i -X DELETE -H 'Accept: */*' -H 'Content-Type: application/json'
http-request
DELETE /applications/testApp065-v1/permissions/identity__v1__users HTTP/1.1
Accept: */*
Content-Type: application/json
Host: localhost:8080
httpie-request
$ http DELETE 'http://localhost:8080/applications/testApp065-v1/permissions/identity__v1__users' 'Accept:*/*' 'Content-Type:application/json'
http-response
HTTP/1.1 202 Accepted

Create An Application’s Call Endpoint

curl-request
$ curl 'http://localhost:8080/applications/test486-v1/callendpointset' -i -X POST -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{
  "identifier" : "end_pt_set1",
  "permittableEndpointGroupIdentifiers" : [ ]
}'
http-request
POST /applications/test486-v1/callendpointset HTTP/1.1
Accept: application/json
Content-Type: application/json
Host: localhost:8080
Content-Length: 81

{
  "identifier" : "end_pt_set1",
  "permittableEndpointGroupIdentifiers" : [ ]
}
httpie-request
$ echo '{
  "identifier" : "end_pt_set1",
  "permittableEndpointGroupIdentifiers" : [ ]
}' | http POST 'http://localhost:8080/applications/test486-v1/callendpointset' 'Accept:application/json' 'Content-Type:application/json'
Table 19. request-fields
Path Type Description

identifier

String

call endpoint set identifier

permittableEndpointGroupIdentifiers

List<String>

permittable group endpoint identifier

http-response
HTTP/1.1 202 Accepted

Change An Application’s Call Endpoint

curl-request
$ curl 'http://localhost:8080/applications/test472-v1/callendpointset/end_pt_set1' -i -X PUT -H 'Accept: */*' -H 'Content-Type: application/json' -d '{
  "identifier" : "end_pt_set1",
  "permittableEndpointGroupIdentifiers" : [ "ideeOne", "ideeTwo" ]
}'
http-request
PUT /applications/test472-v1/callendpointset/end_pt_set1 HTTP/1.1
Accept: */*
Content-Type: application/json
Host: localhost:8080
Content-Length: 102

{
  "identifier" : "end_pt_set1",
  "permittableEndpointGroupIdentifiers" : [ "ideeOne", "ideeTwo" ]
}
httpie-request
$ echo '{
  "identifier" : "end_pt_set1",
  "permittableEndpointGroupIdentifiers" : [ "ideeOne", "ideeTwo" ]
}' | http PUT 'http://localhost:8080/applications/test472-v1/callendpointset/end_pt_set1' 'Accept:*/*' 'Content-Type:application/json'
Table 20. request-fields
Path Type Description

identifier

String

call endpoint set identifier

permittableEndpointGroupIdentifiers

List<String>

permittable group endpoint identifier

http-response
HTTP/1.1 202 Accepted

Get Unique Call Endpoint Set In An Application

curl-request
$ curl 'http://localhost:8080/applications/test243-v1/callendpointset/end_pt_set1' -i -H 'Accept: */*' -H 'Content-Type: application/json'
http-request
GET /applications/test243-v1/callendpointset/end_pt_set1 HTTP/1.1
Accept: */*
Content-Type: application/json
Host: localhost:8080
httpie-request
$ http GET 'http://localhost:8080/applications/test243-v1/callendpointset/end_pt_set1' 'Accept:*/*' 'Content-Type:application/json'
Table 21. response-fields
Path Type Description

identifier

String

call endpoint call set identifier

permittableEndpointGroupIdentifiers

List<String>

permittable group endpoint identifier

http-response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 102

{
  "identifier" : "end_pt_set1",
  "permittableEndpointGroupIdentifiers" : [ "ideeOne", "ideeTwo" ]
}

Get All Call Endpoint Sets In An Application

curl-request
$ curl 'http://localhost:8080/applications/test489-v1/callendpointset' -i -H 'Accept: */*' -H 'Content-Type: application/json'
http-request
GET /applications/test489-v1/callendpointset HTTP/1.1
Accept: */*
Content-Type: application/json
Host: localhost:8080
httpie-request
$ http GET 'http://localhost:8080/applications/test489-v1/callendpointset' 'Accept:*/*' 'Content-Type:application/json'
Table 22. response-fields
Path Type Description

[].identifier

String

first call endpoint call set identifier

[].permittableEndpointGroupIdentifiers

List<String>

first permittable group endpoint identifier

[2].identifier

String

second call endpoint call set identifier

[2].permittableEndpointGroupIdentifiers

List<String>

second permittable group endpoint identifier

http-response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 198

[ {
  "identifier" : "end_pt_set1",
  "permittableEndpointGroupIdentifiers" : [ "ideeOne", "ideeTwo" ]
}, {
  "identifier" : "endptset2",
  "permittableEndpointGroupIdentifiers" : [ "ideeZero" ]
} ]

Delete An Application’s Call Endpoint Set

curl-request
$ curl 'http://localhost:8080/applications/test912-v1/callendpointset/end_pt_set1' -i -X DELETE -H 'Accept: */*' -H 'Content-Type: application/json'
http-request
DELETE /applications/test912-v1/callendpointset/end_pt_set1 HTTP/1.1
Accept: */*
Content-Type: application/json
Host: localhost:8080
httpie-request
$ http DELETE 'http://localhost:8080/applications/test912-v1/callendpointset/end_pt_set1' 'Accept:*/*' 'Content-Type:application/json'
http-response
HTTP/1.1 202 Accepted