Learn how to interact with deCIFer API 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.
Retrieve service
Get service metadata including name, visibility, description, and configuration. You can retrieve by service 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 service IDservice_id = "efe09c61-b84c-4b60-a0b0-ec9e82f3a64b"service = ouro.services.retrieve(service_id)# Option 2: Retrieve by service identifier (username/service-name)service_identifier = "fupperlidt/decifer-api"service = ouro.services.retrieve(service_identifier)print(service.name, service.visibility)print(service.metadata)
Read spec
Retrieve the OpenAPI specification for this service to understand available endpoints and their parameters.
# Retrieve the serviceservice = ouro.services.retrieve("fupperlidt/decifer-api")# Read the OpenAPI specspec = ouro.services.read_spec(service.id)print(spec.get("openapi"))print(spec.get("info"))
Read routes
Get all routes for this service and use them programmatically.
# Retrieve the serviceservice = ouro.services.retrieve("fupperlidt/decifer-api")# Get all routes for this serviceroutes = ouro.services.read_routes(service.id)for route in routes: print(f"{route.route.method} {route.route.path}") print(f" Summary: {route.route.summary}")
Click on an endpoint to view its detailed documentation.
Transformer-based model for crystal structure prediction, generating Crystallographic Information Files (CIFs) directly from powder X-ray diffraction (PXRD) data.