Learn how to interact with this route using the Ouro SDK or REST API.
API access requires an API key. Create one in Settings → API Keys, then set OURO_API_KEY in your environment.
Parameters and request body schema for this route.
Range: to 2
Gaussian full width at half maximum in degrees for peak broadening.
AgKaAgKa1AgKa2AgKb1CoKaCoKa1CoKa2CoKb1CrKaCrKa1CrKa2CrKb1CuKaCuKa1CuKa2CuKb1FeKaFeKa1FeKa2FeKb1MoKaMoKa1MoKa2MoKb1Named radiation wavelength used by pymatgen's XRDCalculator.
Range: 0 to 50
Maximum number of strongest peaks to include in the response metadata.
Range: 0 to 100
Minimum relative peak intensity (0-100) to keep in the summary.
Range: to 1
Sampling interval in degrees for the broadened XY diffraction curve.
Lower and upper bounds of the simulated 2-theta window in degrees.
Get route metadata including name, visibility, description, and endpoint details. You can retrieve by route ID or identifier.
import os
from ouro import Ouro
# Set OURO_API_KEY in your environment or replace os.environ.get("OURO_API_KEY")
ouro = Ouro(api_key=os.environ.get("OURO_API_KEY"))
# Option 1: Retrieve by route ID
route_id = "fcd0f1fe-d001-43a5-adf4-35d6d4563ae3"
route = ouro.routes.retrieve(route_id)
# Option 2: Retrieve by route identifier (username/route-name)
route_identifier = "mmoderwell/simulate-an-x-ray-diffraction-pattern"
route = ouro.routes.retrieve(route_identifier)
print(route.name, route.visibility)
print(route.metadata)Execute the route endpoint with request body, query parameters, path parameters, or asset IDs.
# Retrieve the route
route = ouro.routes.retrieve("mmoderwell/simulate-an-x-ray-diffraction-pattern")
# Execute the route
action = route.execute(
body={
'peak_fwhm': 0.15,
'wavelength': 'CuKa',
'annotate_peaks': 12,
'peak_threshold': 1,
'two_theta_step': 0.02,
'two_theta_range': []
},
assets={
'structure': 'your-file-id'
},
)
print(action.final_data)Get the request and response history for this route. Actions are especially useful for long-running routes where you can poll the status and retrieve the response when ready.
# Retrieve the route
route = ouro.routes.retrieve("mmoderwell/simulate-an-x-ray-diffraction-pattern")
# Read all actions (request/response history) for this route
actions = route.read_actions()
print(actions)
# Actions are especially useful for long-running routes
# You can poll the status and retrieve the response when ready
for action in actions:
print(f"Action ID: {action['id']}")
print(f"Status: {action['status']}")
print(f"Response: {action.get('response_data')}")Generate a simulated powder XRD pattern and return an XY peak list with peak metadata.