BrightSignNetwork (BSN) Main A...
Main REST HTTP API General Inf...
Basic Rules & Conventions
5min
this page / section pertains to brightsign network (often abbreviated bsn ), our legacy cloud platform our latest cloud platform is bsn cloud which consists of the free bsn control tier and the paid bsn content tier development of bsn has largely ceased and the platform will eventually be deprecated and replaced with bsn cloud requests must be complete all the entities and structures sent to the server in the post/put request body must be structurally complete this means that they need to contain all documented properties regardless of whether their values are needed unknown and optional values may be specified as either "null" or "0" but needs to be specified explicitly to remove the need for the server to guess and fill them on its own in response, the server also will always send complete structures so the client doesn't have to check the presence of each property before reading it http status codes the bsn rest api version 2017/01 may respond with the following http status codes according to rfc7231 https //datatracker ietf org/doc/html/rfc7231 100, 200, 201, 202, 204, 300, 304, 307, 308, 400, 401, 403, 404, 405, 406, 408, 411, 412, 413, 414, 415, 429, 431, 500, 502, 503, 504, or 505 request values the actual values in requests must strictly match the data types in the properties which data types are nullable and which are not should be clearly defined see custom data types (2020/10) docid\ jzlv0iaplvf0 d hxat0h data request structures each bsn rest api data request must contain the "accept" http header make sure that it lists only content representations that are really supported by the client values like " " and "application " are accepted but produce random result from the list of representations supported by the server, which also may change from time to time, according to rfc7231#section 3 4 https //datatracker ietf org/doc/html/rfc7231#section 3 4 each bsn rest api data request may also contain an "accept encoding" http header with the list of traffic compression algorithms supported by the client (for example, "gzip" or "deflate"), and expect either non compressed or compressed by the algorithm specified in "content encoding" http response header according to rfc7231 https //datatracker ietf org/doc/html/rfc7231 all update/create requests should contain the "content type" header all endpoints support the "application/json" and "application/xml" types, except for the /sessions/ endpoint, which uses a unique set of content types for file uploads conditional requests brightsign bsn rest apis support conditional requests in all singular entity retrieval editing and removal methods (for example, put, delete, patch) you should use conditional requests when multiple retrievals of the same entity is expected and especially in update and delete requests of a single entity they are implemented according to rfc2616 https //datatracker ietf org/doc/html/rfc2616 on the server side and based on the "last modified", "if modified since" and "if unmodified since" http headers traffic compression traffic compression for bsn rest api requests may also be implemented on demand but such case is not described in rfcstandards https //www rfc editor org/standards so may be based only on our agreements