Bootstrap

The boostrap protocol is a tenant-specific set of URLs that allows a device to obtain the latest URL information for all the services on the infrastructure.

Bootstrap request

Bootstrap request structure

The following table depicts the bootstrap request structure.

Field Required Type Description Example Value(s)
protocol yes Object Metadata about the protocol that is being used. N/A
protocol.name yes String A name key that identifies the protocol. Bootstrap
protocol.version yes String The version of the protocol that is being used. 4.0.0
protocol.type yes String The type of the protocol. Possible values are:
  • REQUEST - Indicates this is a request to the server.
  • RESPONSE - Indicates this is a response from the server to the client.
REQUEST
tenantId yes String The identifier of the tenant that this endpoint belongs to. example_tenant
deviceId yes String The unique identifier for the device on the given tenant. 1XKADP9X7CJ328889
sourceId yes String The originating source of the request. ENDPOINT
sessionId yes String A client-generated value that should uniquely identify a series of transactions that are related to each other. 1220320-231ffw

Bootstrap request URL

POST https://ps.dcms.blackberry.com/dmps/bootstrap/4.1.0

Bootstrap request example

Bootstrap_Request

Bootstrap response

The following tables describe the bootstrap response structure.  

Bootstrap response header

The table below provides the fields required in the header of a bootstrap response.

Field Required Type Description Example Value(s)
protocol yes Object Metadata about the protocol that is being used. N/A
protocol.name yes String A name key that identifies the protocol. Bootstrap
protocol.version yes String The version of the protocol that is being used. 4.0.0
protocol.type yes String The type of the protocol. Possible values are:
  • REQUEST - Indicates this is a request to the server.
  • RESPONSE - Indicates this is a response from the server to the client.
RESPONSE
tenantId yes String The identifier of the tenant that this endpoint belongs to. example_tenant
deviceId yes String The unique identifier for the device on the given tenant. 1XKADP9X7CJ328889
sessionId yes String A client-generated value that should uniquely identify a series of transactions that are related to each other. 1220320-231ffw
status.code yes String A server-generated code that indicates the result of sending the request to the server. 0
status.message yes String A message that correlates to the status code and provides additional information about the code. Success

Bootstrap response body

The table below provides the fields required in the body of a bootstrap response.

Field Required Type Description Example Value(s)
urls yes Array An array of all URLs and their versions that the server supports. N/A
urls.protocol yes Object Metadata about the protocol that is being used. BOOTSTRAP
urls.version yes String The protocol version that the server supports. 4.1.0
urls.url yes String The URL for the protocol. http://dm.rim.com/dmps/bootstrap/4.0.0
config no String The base64 encoded configuration that the client should apply to itself. eyAndGVuYW50SWQnIDogJ25ld3RlbmFudCcgfQ==

Bootstrap response example

Bootstrap_Response