ivive.app Auth API

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

GitHub OpenAPI

Operations 7

POST /api/auth/register Register a new user #
POST /api/auth/login Login and get JWT token #
GET /api/auth/me Get current authenticated user #
DELETE /api/auth/me Delete your account #
GET /api/auth/api-keys List API keys #
POST /api/auth/api-keys Generate API key #
DELETE /api/auth/api-keys/{key_id} Revoke API key #

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-auth-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-auth-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: ivive.app Auth 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: Auth
paths:
  /api/auth/register:
    post:
      tags:
      - Auth
      summary: Register a new user
      description: Creates a new user account. Returns user info (no JWT — call /auth/login separately).
      operationId: register_api_auth_register_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegisterRequest'
        required: true
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/auth/login:
    post:
      tags:
      - Auth
      summary: Login and get JWT token
      description: 'Returns a Bearer JWT token. Token lifetime: 24 hours. Include in subsequent requests as: Authorization: Bearer'
      operationId: login_api_auth_login_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LoginRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/auth/me:
    get:
      tags:
      - Auth
      summary: Get current authenticated user
      description: Protected endpoint — requires valid Bearer JWT in Authorization header. Returns current user info.
      operationId: me_api_auth_me_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserResponse'
      security:
      - OAuth2PasswordBearer: []
    delete:
      tags:
      - Auth
      summary: Delete your account
      description: Erases the signed-in user's account and everything saved under it. Needs the password again.
      operationId: delete_me_api_auth_me_delete
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteAccountRequest'
        required: true
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - OAuth2PasswordBearer: []
  /api/auth/api-keys:
    get:
      tags:
      - Auth
      summary: List API keys
      description: List all active (non-revoked) API keys for the current user. Plaintext keys are never returned.
      operationId: list_api_keys_api_auth_api_keys_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/APIKeyListItem'
                type: array
                title: Response List Api Keys Api Auth Api Keys Get
      security:
      - OAuth2PasswordBearer: []
    post:
      tags:
      - Auth
      summary: Generate API key
      description: Generate a new API key. The plaintext is shown only once — save it now.
      operationId: create_api_key_api_auth_api_keys_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/APIKeyCreateRequest'
        required: true
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIKeyCreateResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - OAuth2PasswordBearer: []
  /api/auth/api-keys/{key_id}:
    delete:
      tags:
      - Auth
      summary: Revoke API key
      description: Revoke an API key. The key is immediately invalidated.
      operationId: revoke_api_key_api_auth_api_keys__key_id__delete
      security:
      - OAuth2PasswordBearer: []
      parameters:
      - name: key_id
        in: path
        required: true
        schema:
          type: string
          title: Key Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIKeyRevokeResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    LoginRequest:
      properties:
        email:
          type: string
          format: email
          title: Email
        password:
          type: string
          title: Password
      type: object
      required:
      - email
      - password
      title: LoginRequest
    APIKeyListItem:
      properties:
        id:
          type: string
          title: Id
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        last_used_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Last Used At
        created_at:
          type: string
          format: date-time
          title: Created At
      type: object
      required:
      - id
      - name
      - last_used_at
      - created_at
      title: APIKeyListItem
    RegisterRequest:
      properties:
        email:
          type: string
          format: email
          title: Email
        password:
          type: string
          title: Password
      type: object
      required:
      - email
      - password
      title: RegisterRequest
    APIKeyRevokeResponse:
      properties:
        id:
          type: string
          title: Id
        revoked:
          type: boolean
          title: Revoked
      type: object
      required:
      - id
      - revoked
      title: APIKeyRevokeResponse
    TokenResponse:
      properties:
        access_token:
          type: string
          title: Access Token
        token_type:
          type: string
          title: Token Type
      type: object
      required:
      - access_token
      - token_type
      title: TokenResponse
      description: Login response — standard OAuth2 shape (D-07).
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    DeleteAccountRequest:
      properties:
        password:
          type: string
          title: Password
      type: object
      required:
      - password
      title: DeleteAccountRequest
      description: 'The password again: a stolen session alone must not be able to erase an account.'
    APIKeyCreateResponse:
      properties:
        id:
          type: string
          title: Id
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        api_key:
          type: string
          title: Api Key
        created_at:
          type: string
          format: date-time
          title: Created At
      type: object
      required:
      - id
      - name
      - api_key
      - created_at
      title: APIKeyCreateResponse
      description: Plaintext key shown only once at creation.
    APIKeyCreateRequest:
      properties:
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
      type: object
      title: APIKeyCreateRequest
    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
    UserResponse:
      properties:
        id:
          type: string
          title: Id
        email:
          type: string
          title: Email
        plan:
          type: string
          title: Plan
        created_at:
          type: string
          format: date-time
          title: Created At
      type: object
      required:
      - id
      - email
      - plan
      - created_at
      title: UserResponse
      description: Registration and /me response. Never includes password fields.
  securitySchemes:
    OAuth2PasswordBearer:
      type: oauth2
      flows:
        password:
          scopes: {}
          tokenUrl: /api/auth/login