SDK Bootstrap (V2)

Poll configuration and experiment state

Changed on

The polling companion to GET /sdk/v2/bootstrap: the same payload without the configuration documents. Poll it on your own cadence, sending back the last hash you saw. If the response carries polling, the backend is shedding load: poll no faster than intervalSeconds, spread by jitterRatio, until it is gone. A 304 means nothing changed. A 200 is the new snapshot: compare each configuration's hash against what you hold and refetch only those that moved. Every response carries a hash over its content, also sent as the ETag. Send it back as If-None-Match (or ?hash=) and an unchanged snapshot answers 304 with no body.

get/sdk/v2/status

Request

  • Base URL
    https://api.gamebeast.gg
  • Auth
    API key in header authorization

Query parameters

hashstring

Headers

environment'production' | 'development'

Environment alias. Defaults to development when omitted; studio is accepted as a synonym for it. Any alias outside the calling key's environment scope is rejected with 403.

project-idinteger
server-idstring

The calling server's instance id (Roblox: game.JobId). Scopes the per-server rate limit; without it, every server behind one egress IP shares a single bucket.

Response

Default Response

hashstring required
primaryConfigurationIdnumber nullable required
requiredPropertiesstring[] required

Changes

    • breaking

      the response property became optional for the status

    • breaking

      the response property // became nullable for the status

    • breaking

      the response property // became nullable for the status

    • breaking

      the response property /// became nullable for the status

    • breaking

      the response property ///// became nullable for the status

    • breaking

      the response property /// became nullable for the status

    • breaking

      the response property ///// became nullable for the status

    • breaking

      the response property became nullable for the status

    • breaking

      the // response's property type changed from no type to string null for status

    • breaking

      the // response's property type changed from no type to string null for status

    • breaking

      the /// response's property type changed from no type to string null, and format from no format to date-time for status

    • breaking

      the ///// response's property type changed from no type to number null for status

    • breaking

      the /// response's property type changed from no type to string null, and format from no format to date-time for status

    • breaking

      the ///// response's property type changed from no type to number null for status

    • breaking

      the response's property type changed from no type to number null for status

    • info

      for the header request parameter project-id, the exclusiveMinimum was decreased from true to 0.00

    • info

      added the media type application/json for the response with the status

    • info

      removed subschema #1 subschema #2 from the // response property anyOf list for the response status

    • info

      removed subschema #1 subschema #2 from the // response property anyOf list for the response status

    • info

      removed subschema #1 subschema #2 from the /// response property anyOf list for the response status

    • info

      removed subschema #1 subschema #2 from the ///// response property anyOf list for the response status

    • info

      removed subschema #1 subschema #2 from the /// response property anyOf list for the response status

    • info

      removed subschema #1 subschema #2 from the ///// response property anyOf list for the response status

    • info

      removed subschema #1 subschema #2 from the response property anyOf list for the response status

    • info

      the /// response's property pattern ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$ was added for the status

    • info

      the /// response's property pattern ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$ was added for the status

    • info

      the /// response's property pattern was changed from ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$ to ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$ for the status

    • info

      the /// response's property pattern was changed from ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$ to ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$ for the status