Fetch a material CIF from Materials Project · Routes on Ouro
4h
Route documentation
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.
Request format
Parameters and request body schema for this route.
Parameters
ouro-route-org-id
in header
ouro-route-team-id
in header
Request body
material_id
stringRequired
Materials Project material ID (e.g. mp-149 or 149)
Retrieve route
Get route metadata including name, visibility, description, and endpoint details. You can retrieve by route ID or identifier.
import osfrom 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 IDroute_id = "11224ef4-70e9-45f3-9f98-dd18ab8e0d4b"route = ouro.routes.retrieve(route_id)# Option 2: Retrieve by route identifier (username/route-name)route_identifier = "mmoderwell/fetch-a-material-cif-from-materials-project"route = ouro.routes.retrieve(route_identifier)print(route.name, route.visibility)print(route.metadata)
Use route
Execute the route endpoint with request body, query parameters, or path parameters.
# Retrieve the routeroute = ouro.routes.retrieve("mmoderwell/fetch-a-material-cif-from-materials-project")# Use the route with a request bodyresponse = route.use( body={ 'material_id': 'example_string' })print(response)
Read actions
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 routeroute = ouro.routes.retrieve("mmoderwell/fetch-a-material-cif-from-materials-project")# Read all actions (request/response history) for this routeactions = route.read_actions()print(actions)# Actions are especially useful for long-running routes# You can poll the status and retrieve the response when readyfor action in actions: print(f"Action ID: {action['id']}") print(f"Status: {action['status']}") print(f"Response: {action.get('response_data')}")