When you read this manual, you will see that certain words are represented in different fonts,
typefaces, sizes
and weights. This highlighting is systematic; text is represented in a particular style to indicate its importance or
meaning e.g.
the same style to indicate their inclusion in a specific category. The types of words that are represented this way
include the following:
Processes which are to be followed such as browsing to the correct section of a web site are highlighted in italics
and steps separated by arrows e.g.
Browse to User User Group
Text displayed on screen which may include configuration or be the result of executing a command is displayed
in Courier New font e.g.
Port 1 IP: 192.168.1.99
Port 1 Netmask: 255.255.255.0
Default Gateway: 192.168.1.1
Paths and file locations are shown in Italic Courier New e.g
Edit the file /etc/ssh/sshd_config
CLI Commands which are to be executed by the user are shown in Italic Bold Courier New font e.g
Open the CLI and type exe factory reset
GUI Commands which are to be executed by the user are shown in Italic Bold Arial font e.g
Under Configure SSL-VPN Users, click Add.
Variables which should be replaced with the correct text such as passwords are displayed as a descriptor in
Courier New font within angled brackets e.g.
Username: <username>
Password: <password><Token PIN>
Links are highlighted in underlined blue text e.g.
https://192.168.1.99
Additional attention is brought to specific points of interest using the following breakout box format:
server_name
api_version
resource
id
?format=[format_type]
?limit=[integer]
?offset=[integer]
?order_by=[field]
exact:
name__exact=John Doe
?name__in=John&name__in=Bill
GET
Method URI Operation Description Success
Response Code
GET (list) /[resource]/ Retrieve a list of all resources for the 200 OK
endpoint
GET(detail) /[resource]/[id]/ Retrieve a specific resource with ID id from 200 OK
the endpoint
POST /[resource]/ Create a new resource on the given 201 Created
endpoint. The data being POST-ed must
follow the same format as the data returned
by the GET parameter
PUT (list) /[resource]/ Update all of the resources for the given 204 NO
endpoint. Any existing items will be replaced CONTENT
with the new data. Data must follow the
same format as the data returned by the
GET parameter.
PUT(detail) /[resource]/[id]/ Update an existing item specified with ID 204 NO
id. Data must follow the same format as the CONTENT
data returned by the GET parameter.
DELETE(list) /[resource]/ Delete all resources from an endpoint 204 NO
CONTENT
DELETE(detail) /[resource]/[id]/ Delete an existing resource specified with ID 204 NO
id from an endpoint CONTENT
GET ?format=json format=xml
Accepts:
application/json
Resource URI Operation Description Supported Methods
Root / Allows querying of available resources GET
Authentication /auth/ Allows validation of user authentication POST
credentials
FortiGate /fgtgroupfilter/ Enables remote configuration of the SSO GET, PUT
Filter Group & Dynamic Policies SSO FortiGate
Group Filtering table
SSO Group /ssogroup/ Enables remote configuration of the SSO GET, PUT
& Dynamic Policies SSO SSO
Groups table
-k
-v
-u
-d @<filename>
curl -k -v -u "admin: 9c2mY^07cO#EcvR*1VWkAX533xtZcYQ5Fck#KHch"
https://192.168.0.123/api/v1/?format=json
curl -k -v -u "admin:9c2mY^07cO#EcvR*1VWkAX533xtZcYQ5Fck#KHch" -H 'Accept:
application/json' https://192.168.0.123/api/v1/
< HTTP/1.1 200 OK
< Date: Fri, 14 Sep 2012 13:09:17 GMT
< Server: Apache
< Transfer-Encoding: chunked
< Content-Type: application/json; charset=utf-8
<
{"auth": {"list_endpoint": "/api/v1/auth/", "schema": "/api/v1/auth/schema/"},
"fgtgroupfilter": {"list_endpoint": "/api/v1/fgtgroupfilter/", "schema":
"/api/v1/fgtgroupfilter/schema/"}, "ssogroup": {"list_endpoint":
"/api/v1/ssogroup/", "
curl -k -v -u "admin: 9c2mY^07cO#EcvR*1VWkAX533xtZcYQ5Fck#KHch"
https://192.168.0.123/api/v1/?format=xml
curl -k -v -u "admin:9c2mY^07cO#EcvR*1VWkAX533xtZcYQ5Fck#KHch" -H 'Accept:
application/xml' https://192.168.0.123/api/v1/
< HTTP/1.1 200 OK
< Date: Fri, 14 Sep 2012 13:12:29 GMT
< Server: Apache
< Transfer-Encoding: chunked
< Content-Type: application/xml; charset=utf-8
<
<?xml version='1.0' encoding='utf-8'?>
<response><fgtgroupfilter
type="hash"><list_endpoint>/api/v1/fgtgroupfilter/</list_endpoint><schema>/api
/v1/fgtgroupfilter/schema/</schema></fgtgroupfilter><ssogroup
type="hash"><list_endpoint>/api/v1/ssogroup/</list_endpoint><schema>/api/v1/ss
ogroup/schema/</schema></ssogroup><auth
type="hash"><list_endpoint>/api/v1/auth/</list_endpoint><schema>/api/v1/auth/s
chema/</schema></auth></response>
curl -k -v -u "admin: 9c2mY^07cO#EcvR*1VWkAX533xtZcYQ5Fck#KHch"
https://192.168.0.123/api/v1/ssogroup/?format=xml
curl -k -v -u "admin:9c2mY^07cO#EcvR*1VWkAX533xtZcYQ5Fck#KHch" -H 'Accept:
application/xml' https://192.168.0.123/api/v1/ssogroup/
< HTTP/1.1 200 OK
< Date: Fri, 14 Sep 2012 13:26:40 GMT
< Server: Apache
< Set-Cookie: sessionid=bbfa0f1ee3cf5367ebcf0f2543b1a0ae; httponly; Path=/
< Transfer-Encoding: chunked
< Content-Type: application/xml; charset=utf-8
<
<?xml version='1.0' encoding='utf-8'?>
<response><objects
type="list"><object><id>1</id><name>Test_1</name><resource_uri>/api/v1/ssogrou
p/1/</resource_uri></object></objects><meta type="hash"><next
type="null"/><total_count type="integer">1</total_count><previous
type="null"/><limit type="integer">20</limit><offset
type="integer">0</offset></meta></response>
curl -k -v -u "admin:9c2mY^07cO#EcvR*1VWkAX533xtZcYQ5Fck#KHch" -X POST -d
'{"name":"Group1"}' -H 'Content-Type: application/json'
https://192.168.0.123/api/v1/ssogroup/
curl -k -v -u "admin:9c2mY^07cO#EcvR*1VWkAX533xtZcYQ5Fck#KHch" -X POST -d
'<object><name>fortinet</name></object>' -H 'Content-Type: application/xml'
https://192.168.0.123/api/v1/ssogroup/
< HTTP/1.1 201 CREATED
< Date: Fri, 14 Sep 2012 18:54:32 GMT
< Server: Apache
< Vary: Cookie
< Set-Cookie: sessionid=f32e6bc346722af773cf32408d8657dd; httponly; Path=/
< Location: https://192.168.0.123/api/v1/ssogroup/3/
< Content-Length: 0
< Content-Type: text/html; charset=utf-8
curl -k -v -u "admin:9c2mY^07cO#EcvR*1VWkAX533xtZcYQ5Fck#KHch"
https://192.168.0.123/api/v1/fgtgroupfilter/?format=xml
curl -k -v -u "admin:9c2mY^07cO#EcvR*1VWkAX533xtZcYQ5Fck#KHch" -H 'Accept:
application/xml' https://192.168.0.123/api/v1/fgtgroupfilter/
< HTTP/1.1 200 OK
< Date: Fri, 14 Sep 2012 13:35:09 GMT
< Server: Apache
< Set-Cookie: sessionid=ac1f87e351f301a3a1d5f68936d55260; httponly; Path=/
< Transfer-Encoding: chunked
< Content-Type: application/xml; charset=utf-8
<
<response><objects type="list"/><meta type="hash"><next
type="null"/><total_count type="integer">0</total_count><previous
type="null"/><limit type="integer">20</limit><offset
type="integer">0</offset></meta></response>
{"username": "<username>", "token_code": "<token_code>", "password":
"<password>"}
curl -k -v -u "admin:9c2mY^07cO#EcvR*1VWkAX533xtZcYQ5Fck#KHch" -d
'{"username":"testuser","password":"testpass"}' -H "Content-Type:
application/json" https://192.168.0.123/api/v1/auth/
< HTTP/1.1 200 OK
< Date: Fri, 14 Sep 2012 15:38:57 GMT
< Server: Apache
< Vary: Cookie
< Set-Cookie: sessionid=6b17c5bbb86419a94f6979a05bd84139; httponly; Path=/
< Content-Length: 0
< Content-Type: text/html; charset=utf-8
curl -k -v -u "admin:9c2mY^07cO#EcvR*1VWkAXT -d
'{"username":"testuser","token_code":"893753"}' -H "Content-Type:
application/json" https://192.168.0.123/api/v1/auth/
< HTTP/1.1 200 OK
< Date: Fri, 14 Sep 2012 15:47:22 GMT
< Server: Apache
< Vary: Cookie
< Set-Cookie: sessionid=f15beeab159a4bf2d0402a05db40d6ae; httponly; Path=/
< Content-Length: 0
< Content-Type: text/html; charset=utf-8
HTTP/1.1 401 UNAUTHORIZED
Date: Thu, 13 Sep 2012 13:57:24 GMT
Server: Apache
Vary: Cookie
Set-Cookie: sessionid=abe8bac6fc50caf5eadf1e57f0c60e3e; httponly; Path=/
Content-Length: 26
Content-Type: text/html; charset=utf-8
HTTP/1.1 401 UNAUTHORIZED
Date: Thu, 13 Sep 2012 13:55:18 GMT
Server: Apache
Vary: Cookie
Set-Cookie: sessionid=e95090804ee0e3b8903618138b38a5c8; httponly; Path=/
Content-Length: 26
Content-Type: text/html; charset=utf-8
HTTP/1.1 404 NOT FOUND
Date: Thu, 13 Sep 2012 13:58:54 GMT
Server: Apache
Vary: Cookie
Set-Cookie: sessionid=3b353061d9141567c02bb0d057b18284; httponly; Path=/
Content-Length: 19
Content-Type: text/html; charset=utf-8
200 OK The request was successfully completed.
201 Created The request successfully created a new resource and the response body does not
contain the newly created resource.
204 No Content The server fulfilled the request, but does not need to return a response message body.
400 Bad Request The request could not be processed because it contains missing or invalid information
(i.e. the data in the request does not validate).
401 Not Authorized The supplied credential is incorrect.
500 Internal Server Error The server encountered an unexpected condition which prevented it from fulfilling the
request.