CyberRXN Docs
APIAPI reference

Search observations by structures and condition filters

POST /v1/reactions/search

POST /v1/reactions/search

API overview · OpenAPI

Authorization

This operation requires a bearer credential. The description defines additional role, scope or first-party-session restrictions; an API key does not grant those permissions by itself.

Request body

PropertyTypeRequiredDetails
reactantsstring ∣ nullnoComplete dot-separated reactant side (SMILES).
productsstring ∣ nullnoComplete dot-separated product side (SMILES).
temperature_minnumber ∣ nullno°C; matches overlapping intervals.
temperature_maxnumber ∣ nullno°C; matches overlapping intervals.
pressure_minnumber ∣ nullno
pressure_maxnumber ∣ nullno
pressure_kindstring ∣ nullnoSource pressure label, e.g. absolute or gauge.
agentstring ∣ nullnoAgent SMILES; every molecule must be present.
solventstring ∣ nullnoExact source solvent label.
min_balance_confidencenumber ∣ nullnoUpstream, uncalibrated SynRBL score.
validated_onlybooleannoOnly observations with a positive upstream verdict. Default: true.
limitintegernoMaximum records, from 1 to 100. Default: 10.
offsetintegernoZero-based pagination offset. Default: 0.
Full schema: SearchReactionsRequest
{
  "properties": {
    "reactants": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 10000,
          "minLength": 1
        },
        {
          "type": "null"
        }
      ],
      "title": "Reactants",
      "description": "Complete dot-separated reactant side (SMILES)."
    },
    "products": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 10000,
          "minLength": 1
        },
        {
          "type": "null"
        }
      ],
      "title": "Products",
      "description": "Complete dot-separated product side (SMILES)."
    },
    "temperature_min": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Temperature Min",
      "description": "°C; matches overlapping intervals."
    },
    "temperature_max": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Temperature Max",
      "description": "°C; matches overlapping intervals."
    },
    "pressure_min": {
      "anyOf": [
        {
          "type": "number",
          "description": "Pressure in bar; negative bounds require an explicit gauge pressure_kind."
        },
        {
          "type": "null"
        }
      ],
      "title": "Pressure Min"
    },
    "pressure_max": {
      "anyOf": [
        {
          "type": "number",
          "description": "Pressure in bar; negative bounds require an explicit gauge pressure_kind."
        },
        {
          "type": "null"
        }
      ],
      "title": "Pressure Max"
    },
    "pressure_kind": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 100,
          "minLength": 1
        },
        {
          "type": "null"
        }
      ],
      "title": "Pressure Kind",
      "description": "Source pressure label, e.g. absolute or gauge."
    },
    "agent": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 10000,
          "minLength": 1
        },
        {
          "type": "null"
        }
      ],
      "title": "Agent",
      "description": "Agent SMILES; every molecule must be present."
    },
    "solvent": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 1000,
          "minLength": 1
        },
        {
          "type": "null"
        }
      ],
      "title": "Solvent",
      "description": "Exact source solvent label."
    },
    "min_balance_confidence": {
      "anyOf": [
        {
          "type": "number",
          "maximum": 1,
          "minimum": 0
        },
        {
          "type": "null"
        }
      ],
      "title": "Min Balance Confidence",
      "description": "Upstream, uncalibrated SynRBL score."
    },
    "validated_only": {
      "type": "boolean",
      "title": "Validated Only",
      "description": "Only observations with a positive upstream verdict.",
      "default": true
    },
    "limit": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1,
      "title": "Limit",
      "description": "Maximum records, from 1 to 100.",
      "default": 10
    },
    "offset": {
      "type": "integer",
      "maximum": 1000000,
      "minimum": 0,
      "title": "Offset",
      "description": "Zero-based pagination offset.",
      "default": 0
    }
  },
  "additionalProperties": false,
  "type": "object",
  "title": "SearchReactionsRequest"
}

Responses

HTTPDetailsType
200Successful Responseapplication/json: ObservationPage
401Unauthorizedapplication/problem+json: ProblemDetails
402Payment Requiredapplication/problem+json: ProblemDetails
403Forbiddenapplication/problem+json: ProblemDetails
408Request Timeoutapplication/problem+json: ProblemDetails
413Request Entity Too Largeapplication/problem+json: ProblemDetails
422Unprocessable Entityapplication/problem+json: ProblemDetails
429Too Many Requestsapplication/problem+json: ProblemDetails
502Bad Gatewayapplication/problem+json: ProblemDetails
503Service Unavailableapplication/problem+json: ProblemDetails

Response: ObservationPage

PropertyTypeRequiredDetails
itemsObservation[]yes
limitintegeryes
offsetintegeryes
has_morebooleanyes
next_offsetinteger ∣ nullyes
Full schema
{
  "properties": {
    "items": {
      "items": {
        "$ref": "#/components/schemas/Observation"
      },
      "type": "array",
      "title": "Items"
    },
    "limit": {
      "type": "integer",
      "title": "Limit"
    },
    "offset": {
      "type": "integer",
      "title": "Offset"
    },
    "has_more": {
      "type": "boolean",
      "title": "Has More"
    },
    "next_offset": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Next Offset"
    }
  },
  "additionalProperties": true,
  "type": "object",
  "required": [
    "items",
    "limit",
    "offset",
    "has_more",
    "next_offset"
  ],
  "title": "ObservationPage"
}

This page is generated from OpenAPI; examples are schemas, not a fabricated successful response.

Usage and billing · Structured errors

On this page