Fortinet white logo
Fortinet white logo

REST API Solution Guide

SSO/Remote groups (/ssogroup/)

SSO/Remote groups (/ssogroup/)

URL: https://[server_name]/api/[api_version]/ssogroup/

This can be found in the FortiAuthenticator GUI under Fortinet SSO Methods > SSO > SSO Groups.

Supported fields

Field Display name Type Required Other restrictions
name Name string Yes max length=50, unique

Allowed methods

HTTP method Resource URI Action
GET /api/v1/ssogroup/ Get all SSO groups
GET /api/v1/ssogroup/[id]/ Get an SSO group with ID id
POST /api/v1/ssogroup/ Create a new SSO group
DELETE /api/v1/ssogroup/ Delete all SSO groups
DELETE /api/v1/ssogroup/[id]/ Delete an SSO group with ID id

Allowed filters

Field Lookup expressions
name exact, in

View SSO group configuration

JSON query

  • JSON specified via GET

curl -k -v -u "admin:zeyDZXmP6GbKcerqdWWEYNTnH2TaOCz5HTp2dAVS" https://192.168.0.122/api/v1/ssogroup/?format=json

  • JSON specified via Accept Header

curl -k -v -u "admin:zeyDZXmP6GbKcerqdWWEYNTnH2TaOCz5HTp2dAVS" -H 'Accept: application/json' https://192.168.0.122/api/v1/ssogroup/

Response

< HTTP/1.1 200 OK

< Date: Tue, 10 Jun 2014 11:48:08 GMT

< Server: Apache

< Vary: Accept,Accept-Language,Cookie

< X-Frame-Options: SAMEORIGIN

< Content-Language: en

< Cache-Control: no-cache

< Transfer-Encoding: chunked

< Content-Type: application/json

<

* Connection #0 to host 192.168.0.122 left intact

* Closing connection #0

{"meta": {"limit": 20, "next": null, "offset": 0, "previous": null, "total_count": 1}, "objects": [{"id": 1, "name": "Test_Group1", "resource_uri": "/api/v1/ssogroup/1/"}]}{"meta": {"limit": 20, "next": null, "offset": 0, "previous": null, "total_count": 1}, "objects": [{"id": 1, "name": "Test_Group1", "resource_uri": "/api/v1/ssogroup/1/"}]}

JSON query

  • JSON specified via GET

curl -k -v -u "admin:zeyDZXmP6GbKcerqdWWEYNTnH2TaOCz5HTp2dAVS" https://192.168.0.122/api/v1/ssogroup/?format=json

  • JSON specified via Accept Header

curl -k -v -u "zeyDZXmP6GbKcerqdWWEYNTnH2TaOCz5HTp2dAVS" -H 'Accept: application/json' https://192.168.0.122/api/v1/ssogroup/

Response

< HTTP/1.1 200 OK

< Date: Tue, 10 Jun 2014 11:48:08 GMT

< Server: Apache

< Vary: Accept,Accept-Language,Cookie

< X-Frame-Options: SAMEORIGIN

< Content-Language: en

< Cache-Control: no-cache

< Transfer-Encoding: chunked

< Content-Type: application/json

<

* Connection #0 to host 192.168.0.122 left intact

* Closing connection #0

{"meta": {"limit": 20, "next": null, "offset": 0, "previous": null, "total_count": 1}, "objects": [{"id": 1, "name": "Test_Group1", "resource_uri": "/api/v1/ssogroup/1/"}]}{"meta": {"limit": 20, "next": null, "offset": 0, "previous": null, "total_count": 1}, "objects": [{"id": 1, "name": "Test_Group1", "resource_uri": "/api/v1/ssogroup/1/"}]}

Create SSO group

JSON query

  • JSON specified via POST

curl -k -v -u "admin:zeyDZXmP6GbKcerqdWWEYNTnH2TaOCz5HTp2dAVS" -X POST -d '{"name":"Test_Group2"}' -H 'Content-Type: application/json' https://192.168.0.122/api/v1/ssogroup/

XML query

  • JSON specified via Accept Header

curl -k -v -u "admin:zeyDZXmP6GbKcerqdWWEYNTnH2TaOCz5HTp2dAVS" -X POST -d '<object><name>Test_Group2</name></object>' -H 'Content-Type: application/xml' https://192.168.0.122/api/v1/ssogroup/

Response

< HTTP/1.1 201 CREATED

< Date: Tue, 10 Jun 2014 11:51:31 GMT

< Server: Apache

< Vary: Accept,Accept-Language,Cookie

< X-Frame-Options: SAMEORIGIN

< Content-Language: en

< Location: https://192.168.0.122/api/v1/ssogroup/3/

< Content-Length: 0

< Content-Type: text/html; charset=utf-8

Successful 201 CREATED response code. See Appendix A –API Response Codes for full details.

Filter lookup expressions

Expression Description
exact search for an exact match (e.g. name__exact=John Doe, would return user with name "John Doe", but not "john doe")
iexact search for a case-insensitive exact match (e.g. name__iexact=john doe, would return user with name "John Doe")
contains search for an item that contains a specific keyword
icontains same as above, but case-insensitive
in search for items that matches specific filter criteria (e.g. to return items that has a name matching "John" or "Bill", ?name__in=John&name__in=Bill)
startswith search for items that starts with a text
istartswith same as above, but case-insensitive

See Appendix A – API response codes for full details.

Delete SSO group

Query

  • Specified via POST

curl -k -v -u "admin:zeyDZXmP6GbKcerqdWWEYNTnH2TaOCz5HTp2dAVS" -X DELETE https://192.168.0.122/api/v1/ssogroup/3/

Response

< HTTP/1.1 204 NO CONTENT

< Date: Tue, 10 Jun 2014 11:53:52 GMT

< Server: Apache

< Vary: Accept,Accept-Language,Cookie

< X-Frame-Options: SAMEORIGIN

< Content-Language: en

< Content-Length: 0

< Content-Type: text/html; charset=utf-8

204 NO CONTENT is a successful result. Verify by querying /ssogroup/ to verify group 3 has been deleted.

SSO/Remote groups (/ssogroup/)

SSO/Remote groups (/ssogroup/)

URL: https://[server_name]/api/[api_version]/ssogroup/

This can be found in the FortiAuthenticator GUI under Fortinet SSO Methods > SSO > SSO Groups.

Supported fields

Field Display name Type Required Other restrictions
name Name string Yes max length=50, unique

Allowed methods

HTTP method Resource URI Action
GET /api/v1/ssogroup/ Get all SSO groups
GET /api/v1/ssogroup/[id]/ Get an SSO group with ID id
POST /api/v1/ssogroup/ Create a new SSO group
DELETE /api/v1/ssogroup/ Delete all SSO groups
DELETE /api/v1/ssogroup/[id]/ Delete an SSO group with ID id

Allowed filters

Field Lookup expressions
name exact, in

View SSO group configuration

JSON query

  • JSON specified via GET

curl -k -v -u "admin:zeyDZXmP6GbKcerqdWWEYNTnH2TaOCz5HTp2dAVS" https://192.168.0.122/api/v1/ssogroup/?format=json

  • JSON specified via Accept Header

curl -k -v -u "admin:zeyDZXmP6GbKcerqdWWEYNTnH2TaOCz5HTp2dAVS" -H 'Accept: application/json' https://192.168.0.122/api/v1/ssogroup/

Response

< HTTP/1.1 200 OK

< Date: Tue, 10 Jun 2014 11:48:08 GMT

< Server: Apache

< Vary: Accept,Accept-Language,Cookie

< X-Frame-Options: SAMEORIGIN

< Content-Language: en

< Cache-Control: no-cache

< Transfer-Encoding: chunked

< Content-Type: application/json

<

* Connection #0 to host 192.168.0.122 left intact

* Closing connection #0

{"meta": {"limit": 20, "next": null, "offset": 0, "previous": null, "total_count": 1}, "objects": [{"id": 1, "name": "Test_Group1", "resource_uri": "/api/v1/ssogroup/1/"}]}{"meta": {"limit": 20, "next": null, "offset": 0, "previous": null, "total_count": 1}, "objects": [{"id": 1, "name": "Test_Group1", "resource_uri": "/api/v1/ssogroup/1/"}]}

JSON query

  • JSON specified via GET

curl -k -v -u "admin:zeyDZXmP6GbKcerqdWWEYNTnH2TaOCz5HTp2dAVS" https://192.168.0.122/api/v1/ssogroup/?format=json

  • JSON specified via Accept Header

curl -k -v -u "zeyDZXmP6GbKcerqdWWEYNTnH2TaOCz5HTp2dAVS" -H 'Accept: application/json' https://192.168.0.122/api/v1/ssogroup/

Response

< HTTP/1.1 200 OK

< Date: Tue, 10 Jun 2014 11:48:08 GMT

< Server: Apache

< Vary: Accept,Accept-Language,Cookie

< X-Frame-Options: SAMEORIGIN

< Content-Language: en

< Cache-Control: no-cache

< Transfer-Encoding: chunked

< Content-Type: application/json

<

* Connection #0 to host 192.168.0.122 left intact

* Closing connection #0

{"meta": {"limit": 20, "next": null, "offset": 0, "previous": null, "total_count": 1}, "objects": [{"id": 1, "name": "Test_Group1", "resource_uri": "/api/v1/ssogroup/1/"}]}{"meta": {"limit": 20, "next": null, "offset": 0, "previous": null, "total_count": 1}, "objects": [{"id": 1, "name": "Test_Group1", "resource_uri": "/api/v1/ssogroup/1/"}]}

Create SSO group

JSON query

  • JSON specified via POST

curl -k -v -u "admin:zeyDZXmP6GbKcerqdWWEYNTnH2TaOCz5HTp2dAVS" -X POST -d '{"name":"Test_Group2"}' -H 'Content-Type: application/json' https://192.168.0.122/api/v1/ssogroup/

XML query

  • JSON specified via Accept Header

curl -k -v -u "admin:zeyDZXmP6GbKcerqdWWEYNTnH2TaOCz5HTp2dAVS" -X POST -d '<object><name>Test_Group2</name></object>' -H 'Content-Type: application/xml' https://192.168.0.122/api/v1/ssogroup/

Response

< HTTP/1.1 201 CREATED

< Date: Tue, 10 Jun 2014 11:51:31 GMT

< Server: Apache

< Vary: Accept,Accept-Language,Cookie

< X-Frame-Options: SAMEORIGIN

< Content-Language: en

< Location: https://192.168.0.122/api/v1/ssogroup/3/

< Content-Length: 0

< Content-Type: text/html; charset=utf-8

Successful 201 CREATED response code. See Appendix A –API Response Codes for full details.

Filter lookup expressions

Expression Description
exact search for an exact match (e.g. name__exact=John Doe, would return user with name "John Doe", but not "john doe")
iexact search for a case-insensitive exact match (e.g. name__iexact=john doe, would return user with name "John Doe")
contains search for an item that contains a specific keyword
icontains same as above, but case-insensitive
in search for items that matches specific filter criteria (e.g. to return items that has a name matching "John" or "Bill", ?name__in=John&name__in=Bill)
startswith search for items that starts with a text
istartswith same as above, but case-insensitive

See Appendix A – API response codes for full details.

Delete SSO group

Query

  • Specified via POST

curl -k -v -u "admin:zeyDZXmP6GbKcerqdWWEYNTnH2TaOCz5HTp2dAVS" -X DELETE https://192.168.0.122/api/v1/ssogroup/3/

Response

< HTTP/1.1 204 NO CONTENT

< Date: Tue, 10 Jun 2014 11:53:52 GMT

< Server: Apache

< Vary: Accept,Accept-Language,Cookie

< X-Frame-Options: SAMEORIGIN

< Content-Language: en

< Content-Length: 0

< Content-Type: text/html; charset=utf-8

204 NO CONTENT is a successful result. Verify by querying /ssogroup/ to verify group 3 has been deleted.