- Pull your current setup from Bluejay into a file.
- Edit the file, and review the change in a pull request.
- Push the file back to Bluejay, by hand or from your CI pipeline.
Pull the payload
To pull, request the type and ID of the entity you start from, withformat=yaml (without it, you get JSON). This example pulls a simulation:
simulation in the URL. Supported root types include:
simulationagentdigital-humancustom-metric
bluejay_as_code_id. The payload holds that entity and the entities related to it, so pulling a simulation also returns its agent, Digital Humans, and custom metrics:
simulation.yaml
| block, so pull requests show prompt edits line by line.
Edit the payload
- To update an entity, change its fields.
- To add an entity, add an item with a new
bluejay_as_code_idto its list. Generate the UUID one time (for example withuuidgen) and commit it. - To unlink a Digital Human or custom metric, remove it from the list that links it.
bluejay_as_code_id to the simulations list of the agent it belongs to.
Quote hand-typed values that YAML would otherwise turn into numbers or booleans, such as '+15551234567' or 'no'. Pulled files already quote them. YAML anchors and aliases (&, *) are not supported.
Push the payload
Send the file with theContent-Type: application/yaml header, or Bluejay reads it as JSON and the push fails. Use --data-binary, since --data strips the line breaks YAML needs.
response
bluejay_as_code_id:
Each link list in the payload replaces the current links on push, which is why removing an entry from a list unlinks it.
A push returns HTTP
400 if the YAML cannot be read, if a link points to a Digital Human or custom metric that is in neither the payload nor Bluejay, or if a new simulation does not have exactly one agent.
Move from JSON to YAML
JSON will be deprecated on November 20th, 2026. To move a JSON file to YAML:- If the JSON file has changes you have not pushed, push it one last time.
- Pull the same root again with
format=yaml, as in Pull the payload. - Commit the YAML file in place of the JSON file, and change your CI pipeline to push the YAML file with
Content-Type: application/yaml.
bluejay_as_code_id values do not change, so your next push updates the same entities.