The WCEA API comes with a few built in options that can be altered to suit your application's needs.
Most of the time, this is handled transparently by the SDK, however, this page shows some low-level features that can be accessed or modified.
Envelope
All responses from WCEA API come with an envelope, which contains meta information, such as Status and Count. This envelope can be turned off by sending ?envelope=false in the request URI.
Error suppression
When an error is encountered by the API, the usual behaviour is to return a HTTP error code in the response, and a payload containing more details about the error (See Errors).
However this behaviour can be turned off by sending ?suppress_response_codes=1 in the request URI.
If error codes are suppressed, all errors will return a 200 OK response header. However the response body will contain the error details.
Response type
By default, the API serves content in JSON. However it also supports XML and CSV responses.
XML responses can be turned on either by adding a ?type=xml in the query. Or by sending an Accept header with the value of application/xml.
CSV responses can be turned on either by adding a ?type=csv in the query. Or by sending an Accept header with the value of application/csv.
Please Note: Nested data cannot be converted into CSV, so endpoints that return nested data, will throw an error, when you try to access the data in CSV format.
Request data type
By default, the API expects POST and PUT data to be in multipart/form-data or multipart/x-www-form-urlencoded formats.
However, it can also accept JSON data if you send a Content-Type header with the value of application/json.
These options are usually handled transparently by the SDK, these examples just provide a low level overview of the said options.
Turn off Envelope
curl http://wceaapi.org/v1.1/user/999?envelope=false
Suppress Errors
curl http://wceaapi.org/v1.1/user/999?suppress_response_codes=1
Get XML responses
curl http://wceaapi.org/v1.1/user/999?type=xml //--OR-- curl -H "Accept: application/xml" \ http://wceaapi.org/v1.1/user/999
Get CSV responses
curl http://wceaapi.org/v1.1/user/999?type=csv //--OR-- curl -H "Accept: application/csv" \ http://wceaapi.org/v1.1/user/999
POST JSON payloads
curl -X POST \
-H "Content-Type: application/json" \
-d '{"name":"Bob","surname":"Smith"}' \
http://wceaapi.org/v1.1/user/999
