<< View previous version | view page history | view next version >>
Security
The API requires a login, either:
- username: anonymous password : blank
- For enhanced data, use your wiki login credentials. What enhanced data is supplied depends on what groups you are a member of in the wiki.
Authentication is standard HTTP basic, in other words the username and password are not encrypted, but the API is set up to only work with SSL/TLS on the standard https port 443 so all communication with the API is done from end to end down a very secure encrypted 'tunnel'.
Query parameters
The URL contains the requested parameters, basically what is in the URL after the ?
Parameters can be concantenated with ampersands &, as in URI?data=return.this.data&data=return.that.data.too
It does not matter what order parameters are in; URI?data=return.this.data&data=return.that.data.too will return the same data as URI?data=return.that.data.too&data=return.this.data and in the same order.
Parameters should be properly URL encoded, so the query string to find FAI members in South America, (which has a space in it), should be: ?data=members.south%20america
Parameter | Required | |
---|---|---|
data | yes | The basic parameter which defines what data to retrieve.
ValuesThe value is in dot notation, thus a typical url will look like URI?data=return.this.data Example?data=members.all&data=cima.delegates.all gets FAI members and CIMA delegates simultaneously. |
xls | no | Loads a XSLT stylesheet with the XML data so it is nicely presented in a browser.
Values1 : Loads selected requested data nicely formatted in sortable tables. Example |
logout | no | Forces a logout.
Values1 : Logs the current user out and the login dialog appears. Example |
The XML structure
All data returned in a single request is always contained within a single <fai> </fai> structure. This allows consistency within applications using the data.
What is contained within the <fai/> structure depends on the request, but (consistent with the available data) can be:
<fai> <members> <member/>.... </members> <cima> <classes> <class/>.... </classes> <delegates> <delegate/>.... </delegates> <records> <record/>.... </record> </cima> </fai>
<members/>
FAI member nations
Method | GET |
Query string | data=members.dataset |
Dataset | all or any region, eg Europe, Asia, America Etc. |
Notes | Only subsets of FAI members by continent are supported, so ?data=members.europe will get European FAI members. It will also do partial matches, so ?data=members.asia will retrieve members from East Asia and South Asia. Note that in all cases the URL must be properly encoded, so the url for South America, which has a space in it, should be: ?data=members.south%20america |
<classes/>
FAI commission aircraft classes
Method | GET |
Query string | data=commission.classes.dataset |
Dataset | all or any part of the class name eg P or PL or PL1 Etc. |
Notes | Data is only available for CIMA The subset must be a contiguous part of the class name, thus ?data=cima.classes.P1 will return nothing whereas ?data=cima.classes.L1 will return all classes which are Landplanes flown solo. |
<delegates/>
FAI commission delegates
Method | GET |
Query string | data=commission.delegates.dataset |
Dataset | all or any region, eg Europe, Asia, America Etc. |
Notes | Data is only available for CIMA Only subsets of delegates by continent are supported, so ?data=cima.delegates.europe will get European CIMA delegates. It will also do partial matches, so ?data=cima.delegates.asia will retrieve CIMA delegates from Central, East and South Asia |
<records/>
FAI records
Method | GET |
Query string | data=commission.records.dataset |
Dataset | all or any part of the class name eg P or PL or PL1 Etc. |
Notes | Data is only available for CIMA The subset must be a contiguous part of the class name, thus ?data=cima.records.P1 will return nothing whereas ?data=cima.records.L1 will return all records ratified in *L*andplanes flown solo. To get two or more classes simply concantenate the request; ?data=cima.records.PL1&data=cima.records.PL2 will retrieve records for classes PL1 and PL2. The all dataset is rather large and not recommended. |