ivive.app Ivive API

The ivive API from ivive.app — 4 operation(s) for ivive.

GitHub OpenAPI

Operations 4

POST /api/ivive/clhep Calculate hepatic clearance (CLhep) #
POST /api/ivive/batch Calculate CLhep for many compounds at once #
POST /api/ivive/target-clint CLint needed to reach a target clearance #
POST /api/ivive/sensitivity How much each input moves the answer #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/ivive-app:ivive-app-ivive-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

ivive-app-ivive-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: .app Ivive API
  description: 'Calculations for early drug discovery: IVIVE hepatic clearance with its observed-CL band,

    structure-based predictions, species scaling.


    **No key needed** for single-compound endpoints, up to 120/minute per address.

    Batches need a login; a free account takes up to 25 compounds. For a key or more volume, write to

    hello@ivive.app.


    Results are research estimates, not for clinical, regulatory or dosing decisions. Structures and

    inputs are processed in memory and not stored. The same calculations are available to LLMs as an

    MCP server at `/mcp/`.


    Reference drugs and published animal PK come from public datasets, ChEMBL among them, under

    CC BY-SA 3.0 and other open licences: https://ivive.app/sources.'
  version: 1.0.0
servers:
- url: https://api.ivive.app
  description: Production
- url: /
  description: This server
tags:
- name: ivive
paths:
  /api/ivive/clhep:
    post:
      tags:
      - ivive
      summary: Calculate hepatic clearance (CLhep)
      description: 'Converts in-vitro CLint (µL/min/mg protein or µL/min/10⁶ cells) to in-vivo hepatic clearance (mL/min/kg) using the Well-stirred or Parallel-tube IVIVE model. Supports assay_type: ''microsomes'' (MPPGL × 1e-3, default) or ''hepatocytes'' (HPGL × 1e-3). CLint is divided by fu_mic; fu_b = fu_p / rb (default rb=1.0). Output is blood clearance (Obach 1999 eq.3/6). Also returns the scaling intermediates, and for human compounds in domain the range holding observed plasma CL for 50% of calibration drugs (the prediction itself is not corrected). With correction_id, also the lab-corrected plasma CL and a band from the lab''s own compounds. With clint_censored, clint is read as the assay''s limit of quantification and every clearance output is an upper bound (no band).'
      operationId: calculate_clhep_api_ivive_clhep_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CLhepRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CLhepResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - OAuth2PasswordBearer: []
  /api/ivive/batch:
    post:
      tags:
      - ivive
      summary: Calculate CLhep for many compounds at once
      description: Up to 500 compounds through the same path as /ivive/clhep, sharing one species, assay, model and lab correction. A compound whose numbers cannot be used is reported in its own row and does not fail the request, so a spreadsheet with a few bad cells still returns everything else.
      operationId: calculate_batch_api_ivive_batch_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - OAuth2PasswordBearer: []
  /api/ivive/target-clint:
    post:
      tags:
      - ivive
      summary: CLint needed to reach a target clearance
      description: 'Inverts the IVIVE model: given the clearance a compound must come in under, returns the in-vitro CLint that would produce it at these binding values. Hepatic clearance cannot exceed liver blood flow, so a target at or above Qh × Rb is rejected with that ceiling.'
      operationId: target_clint_api_ivive_target_clint_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TargetClintRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TargetClintResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - OAuth2PasswordBearer: []
  /api/ivive/sensitivity:
    post:
      tags:
      - ivive
      summary: How much each input moves the answer
      description: Varies one input at a time between a low and a high value, holding the others at the entered values, and returns the plasma CL at each end. Ranges default to the scatter these inputs carry in practice; pass a predicted value's own range to see what it costs. This is input uncertainty, separate from the observed-CL band, which is method error.
      operationId: sensitivity_api_ivive_sensitivity_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SensitivityRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SensitivityResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - OAuth2PasswordBearer: []
components:
  schemas:
    BatchRow:
      properties:
        name:
          type: string
          title: Name
        result:
          anyOf:
          - $ref: '#/components/schemas/CLhepResponse'
          - type: 'null'
          description: Null when the row could not be calculated.
        error:
          anyOf:
          - type: string
          - type: 'null'
          title: Error
          description: Why this row was skipped; null when it succeeded.
      type: object
      required:
      - name
      title: BatchRow
    ObservedBand:
      properties:
        low:
          type: number
          title: Low
          description: Lower bound of observed plasma CL (mL/min/kg).
        high:
          type: number
          title: High
          description: Upper bound of observed plasma CL (mL/min/kg).
        coverage:
          type: number
          title: Coverage
          description: Fraction of calibration compounds whose observed CL fell inside (0.5).
        basis:
          type: string
          enum:
          - reference
          - lab
          title: Basis
          description: 'reference: 301 human drugs, around the uncorrected prediction; lab: the correction''s compounds, around the corrected prediction.'
        n:
          type: integer
          title: N
          description: Number of calibration compounds.
      type: object
      required:
      - low
      - high
      - coverage
      - basis
      - n
      title: ObservedBand
    TargetClintResponse:
      properties:
        clint:
          type: number
          title: Clint
          description: In-vitro CLint that reaches the target, in the assay's units.
        unit:
          type: string
          title: Unit
          description: µL/min/mg protein, or µL/min/10⁶ cells.
        target_clp:
          type: number
          title: Target Clp
        qh:
          type: number
          title: Qh
          description: 'Hepatic blood flow (mL/min/kg): the ceiling on hepatic CL.'
        max_clp:
          type: number
          title: Max Clp
          description: Highest plasma CL hepatic metabolism can reach here (Qh × Rb).
      type: object
      required:
      - clint
      - unit
      - target_clp
      - qh
      - max_clp
      title: TargetClintResponse
    CLhepRequest:
      properties:
        clint:
          type: number
          minimum: 0.0
          title: Clint
          description: 'Intrinsic clearance (µL/min/mg microsomal protein). Use ge=0: zero clearance is physiologically valid.'
        fu_mic:
          type: number
          maximum: 1.0
          exclusiveMinimum: 0.0
          title: Fu Mic
          description: Unbound fraction in microsomes (0–1). Corrects for non-specific microsomal binding.
        fu_p:
          type: number
          maximum: 1.0
          minimum: 0.0
          title: Fu P
          description: Unbound fraction in plasma (0–1). Plasma protein binding correction.
        rb:
          type: number
          maximum: 50.0
          exclusiveMinimum: 0.0
          title: Rb
          description: Blood-to-plasma concentration ratio. fu_b = fu_p / Rb. Output is blood clearance.
          default: 1.0
        species:
          type: string
          enum:
          - human
          - rat
          - dog
          title: Species
          description: Species for physiological parameters (Qh, MPPGL, liver weight).
        model:
          type: string
          enum:
          - well-stirred
          - parallel-tube
          title: Model
          description: IVIVE model. well-stirred (venous equilibrium) or parallel-tube (sinusoidal perfusion).
          default: well-stirred
        assay_type:
          type: string
          enum:
          - microsomes
          - hepatocytes
          title: Assay Type
          description: 'Assay type for CLint scaling. microsomes: uses MPPGL (mg/g) × 1e-3; hepatocytes: uses HPGL (×10⁶ cells/g) × 1e-3.'
          default: microsomes
        correction_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Correction Id
          description: Saved lab correction (/api/correction-equations) to apply. Must match species and assay_type. Corrects predicted plasma CL and replaces the reference band with one from the lab's compounds.
        clint_censored:
          type: boolean
          title: Clint Censored
          description: 'Set when the assay reported CLint below its limit of quantification and `clint` is that limit rather than a measurement. CLint then lies in [0, clint), so every clearance output is an upper bound: `upper_bound` is true, no observed-CL band is returned, and the clint_below_loq flag fires.'
          default: false
      type: object
      required:
      - clint
      - fu_mic
      - fu_p
      - species
      title: CLhepRequest
    VariedInput:
      properties:
        input:
          type: string
          enum:
          - clint
          - fu_mic
          - fu_p
          title: Input
        low:
          type: number
          title: Low
        high:
          type: number
          title: High
        clp_low:
          type: number
          title: Clp Low
          description: Plasma CL with this input at its low end (mL/min/kg).
        clp_high:
          type: number
          title: Clp High
        fold:
          type: number
          title: Fold
          description: 'clp_high / clp_low: how far this input alone moves the answer.'
      type: object
      required:
      - input
      - low
      - high
      - clp_low
      - clp_high
      - fold
      title: VariedInput
    SensitivityRequest:
      properties:
        clint:
          type: number
          minimum: 0.0
          title: Clint
          description: 'Intrinsic clearance (µL/min/mg microsomal protein). Use ge=0: zero clearance is physiologically valid.'
        fu_mic:
          type: number
          maximum: 1.0
          exclusiveMinimum: 0.0
          title: Fu Mic
          description: Unbound fraction in microsomes (0–1). Corrects for non-specific microsomal binding.
        fu_p:
          type: number
          maximum: 1.0
          minimum: 0.0
          title: Fu P
          description: Unbound fraction in plasma (0–1). Plasma protein binding correction.
        rb:
          type: number
          maximum: 50.0
          exclusiveMinimum: 0.0
          title: Rb
          description: Blood-to-plasma concentration ratio. fu_b = fu_p / Rb. Output is blood clearance.
          default: 1.0
        species:
          type: string
          enum:
          - human
          - rat
          - dog
          title: Species
          description: Species for physiological parameters (Qh, MPPGL, liver weight).
        model:
          type: string
          enum:
          - well-stirred
          - parallel-tube
          title: Model
          description: IVIVE model. well-stirred (venous equilibrium) or parallel-tube (sinusoidal perfusion).
          default: well-stirred
        assay_type:
          type: string
          enum:
          - microsomes
          - hepatocytes
          title: Assay Type
          description: 'Assay type for CLint scaling. microsomes: uses MPPGL (mg/g) × 1e-3; hepatocytes: uses HPGL (×10⁶ cells/g) × 1e-3.'
          default: microsomes
        correction_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Correction Id
          description: Saved lab correction (/api/correction-equations) to apply. Must match species and assay_type. Corrects predicted plasma CL and replaces the reference band with one from the lab's compounds.
        clint_censored:
          type: boolean
          title: Clint Censored
          description: 'Set when the assay reported CLint below its limit of quantification and `clint` is that limit rather than a measurement. CLint then lies in [0, clint), so every clearance output is an upper bound: `upper_bound` is true, no observed-CL band is returned, and the clint_below_loq flag fires.'
          default: false
        clint_range:
          anyOf:
          - $ref: '#/components/schemas/InputRange'
          - type: 'null'
          description: 'CLint range in the assay''s units, e.g. {"low": 10, "high": 40}.'
        fu_mic_range:
          anyOf:
          - $ref: '#/components/schemas/InputRange'
          - type: 'null'
          description: 'fu,mic range (0–1), e.g. {"low": 0.5, "high": 0.9}.'
        fu_p_range:
          anyOf:
          - $ref: '#/components/schemas/InputRange'
          - type: 'null'
          description: A predicted fu,p carries its 50% range; pass it to see what it costs.
      type: object
      required:
      - clint
      - fu_mic
      - fu_p
      - species
      title: SensitivityRequest
      description: The same inputs as a calculation, plus the range to vary each over.
    InputRange:
      properties:
        low:
          type: number
          exclusiveMinimum: 0.0
          title: Low
          description: Low end, in the input's own units, e.g. 0.05 for fu,p.
        high:
          type: number
          exclusiveMinimum: 0.0
          title: High
          description: High end, in the input's own units, e.g. 0.2 for fu,p.
      type: object
      required:
      - low
      - high
      title: InputRange
    CLhepResponse:
      properties:
        clhep:
          type: number
          title: Clhep
          description: Predicted hepatic clearance (mL/min/kg).
        eh:
          type: number
          title: Eh
          description: Hepatic extraction ratio (0–1). EH = CLhep / Qh.
        classification:
          type: string
          title: Classification
          description: 'Clearance class: ''high'' (EH>0.7), ''medium'' (0.3≤EH≤0.7), ''low'' (EH<0.3).'
        model_used:
          type: string
          title: Model Used
          description: Model actually applied (reflects default when omitted in request).
        species:
          type: string
          title: Species
          description: Species used for physiological parameters.
        clint_scaled:
          type: number
          title: Clint Scaled
          description: CLint scaled to the whole liver (mL/min/kg), before fu_mic.
        clint_u:
          type: number
          title: Clint U
          description: Unbound scaled CLint = clint_scaled / fu_mic (mL/min/kg).
        fu_b:
          type: number
          title: Fu B
          description: Unbound fraction in blood = fu_p / Rb.
        qh:
          type: number
          title: Qh
          description: Hepatic blood flow (mL/min/kg).
        clp:
          type: number
          title: Clp
          description: Predicted plasma clearance = CLhep × Rb (mL/min/kg). Uncorrected.
        clp_corrected:
          anyOf:
          - type: number
          - type: 'null'
          title: Clp Corrected
          description: Plasma CL after the lab correction (mL/min/kg). Null without correction_id.
        band:
          anyOf:
          - $ref: '#/components/schemas/ObservedBand'
          - type: 'null'
          description: Range holding observed plasma CL for 50% of calibration compounds at this prediction. Null outside the calibration domain (see flags).
        upper_bound:
          type: boolean
          title: Upper Bound
          description: 'True when clint_censored was set: clhep, eh, clp and clp_corrected are upper bounds, not estimates.'
          default: false
        flags:
          items:
            $ref: '#/components/schemas/DomainFlag'
          type: array
          title: Flags
          description: Applicability-domain warnings.
      type: object
      required:
      - clhep
      - eh
      - classification
      - model_used
      - species
      - clint_scaled
      - clint_u
      - fu_b
      - qh
      - clp
      title: CLhepResponse
    DomainFlag:
      properties:
        code:
          type: string
          title: Code
          description: fu_p_below_0.01 | renal_possible | species_not_calibrated | outside_correction_range | clint_below_loq
        message:
          type: string
          title: Message
      type: object
      required:
      - code
      - message
      title: DomainFlag
    SensitivityResponse:
      properties:
        inputs:
          items:
            $ref: '#/components/schemas/VariedInput'
          type: array
          title: Inputs
          description: Widest effect first.
        clp:
          type: number
          title: Clp
          description: Plasma CL at the entered values, for reference.
      type: object
      required:
      - inputs
      - clp
      title: SensitivityResponse
    TargetClintRequest:
      properties:
        target_clp:
          type: number
          exclusiveMinimum: 0.0
          title: Target Clp
          description: Plasma clearance to aim for (mL/min/kg). Must be below hepatic blood flow × Rb.
        fu_mic:
          type: number
          maximum: 1.0
          exclusiveMinimum: 0.0
          title: Fu Mic
          description: Unbound fraction in the incubation (0–1) the CLint would be measured at.
        fu_p:
          type: number
          maximum: 1.0
          exclusiveMinimum: 0.0
          title: Fu P
          description: Unbound fraction in plasma (0–1).
        rb:
          type: number
          maximum: 50.0
          exclusiveMinimum: 0.0
          title: Rb
          description: Blood-to-plasma concentration ratio; raises the plasma CL ceiling (Qh × Rb).
          default: 1.0
        species:
          type: string
          enum:
          - human
          - rat
          - dog
          title: Species
          description: Species whose liver blood flow and scaling factors apply.
        model:
          type: string
          enum:
          - well-stirred
          - parallel-tube
          title: Model
          description: IVIVE liver model to invert.
          default: well-stirred
        assay_type:
          type: string
          enum:
          - microsomes
          - hepatocytes
          title: Assay Type
          description: Assay the CLint is for; sets its units (µL/min/mg protein or µL/min/10⁶ cells).
          default: microsomes
      type: object
      required:
      - target_clp
      - fu_mic
      - fu_p
      - species
      title: TargetClintRequest
    BatchResponse:
      properties:
        rows:
          items:
            $ref: '#/components/schemas/BatchRow'
          type: array
          title: Rows
          description: One per input compound, in the order given.
        n_calculated:
          type: integer
          title: N Calculated
        n_skipped:
          type: integer
          title: N Skipped
      type: object
      required:
      - rows
      - n_calculated
      - n_skipped
      title: BatchResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    BatchRequest:
      properties:
        compounds:
          items:
            $ref: '#/components/schemas/BatchCompound'
          type: array
          maxItems: 500
          minItems: 1
          title: Compounds
        species:
          type: string
          enum:
          - human
          - rat
          - dog
          title: Species
        model:
          type: string
          enum:
          - well-stirred
          - parallel-tube
          title: Model
          default: well-stirred
        assay_type:
          type: string
          enum:
          - microsomes
          - hepatocytes
          title: Assay Type
          default: microsomes
        correction_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Correction Id
      type: object
      required:
      - compounds
      - species
      title: BatchRequest
    BatchCompound:
      properties:
        name:
          type: string
          maxLength: 255
          minLength: 1
          title: Name
        clint:
          type: number
          title: Clint
        fu_mic:
          type: number
          title: Fu Mic
        fu_p:
          type: number
          title: Fu P
        rb:
          type: number
          title: Rb
          default: 1.0
        clint_censored:
          type: boolean
          title: Clint Censored
          default: false
      type: object
      required:
      - name
      - clint
      - fu_mic
      - fu_p
      title: BatchCompound
  securitySchemes:
    OAuth2PasswordBearer:
      type: oauth2
      flows:
        password:
          scopes: {}
          tokenUrl: /api/auth/login