> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pav.bio/llms.txt
> Use this file to discover all available pages before exploring further.

# Get a drug

> One drug with its names, holders and programs. `status` picks which programs count (default `active`). A merged id returns the surviving drug.



## OpenAPI

````yaml /openapi.json get /v1/drugs/{drug_id}
openapi: 3.1.0
info:
  title: Pav Enterprise API
  description: >-
    Read-only API over Pav's biopharma data: programs, drugs, companies, trials,
    deals, patents, FDA records and changes. Send `Authorization: Bearer
    <api_key>`. Lists return `{data, next_cursor, total}`; errors return
    `{error: {code, message, request_id}}`. Parameter rules:
    [Conventions](https://docs.pav.bio/conventions).
  version: 2.0.0
servers:
  - url: https://api.pav.bio
    description: Production
security: []
tags:
  - name: search
    description: Find the id of a company, drug, program, target or indication.
    x-group: Search
  - name: programs
    description: 'Drug programs: one drug in one indication at one company.'
    x-group: Programs
  - name: drugs
    description: >-
      One drug product across every company that develops it, under all its
      names, with its programs.
    x-group: Drugs
  - name: companies
    description: Biopharma companies, their owners and their trials.
    x-group: Companies
  - name: trials
    description: ClinicalTrials.gov trials linked to programs and companies.
    x-group: Trials
  - name: deals
    description: M&A, licensing and collaboration deals with terms and sources.
    x-group: Deals
  - name: patents
    description: US patent families with owners, members and term.
    x-group: Patents
  - name: fda
    description: FDA records, one endpoint per record type.
    x-group: FDA
  - name: changes
    description: Program and trial changes, newest first.
    x-group: Changes
  - name: stats
    description: Dataset counts.
    x-group: Stats
paths:
  /v1/drugs/{drug_id}:
    get:
      tags:
        - drugs
      summary: Get a drug
      description: >-
        One drug with its names, holders and programs. `status` picks which
        programs count (default `active`). A merged id returns the surviving
        drug.
      operationId: get_drug
      parameters:
        - name: drug_id
          in: path
          required: true
          schema:
            type: integer
            description: Drug id.
            examples:
              - 5120
            title: Drug Id
          description: Drug id.
        - name: status
          in: query
          required: false
          schema:
            anyOf:
              - items:
                  type: string
                type: array
              - type: 'null'
            description: '`active` (default), `inactive`, `discontinued`; comma-separated.'
            examples:
              - active,discontinued
            title: Status
          description: '`active` (default), `inactive`, `discontinued`; comma-separated.'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DrugDetail'
        '400':
          description: Invalid parameter (`validation_error`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '401':
          description: Missing or invalid API key (`unauthorized`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '404':
          description: Unknown id or route (`not_found`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '429':
          description: Rate limit exceeded (`rate_limited`); honor `Retry-After`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
      security:
        - EnterpriseApiKey: []
components:
  schemas:
    DrugDetail:
      properties:
        drug_id:
          type: integer
          title: Drug Id
          description: Durable Pav drug identifier.
          examples:
            - 5120
        name:
          type: string
          title: Name
          description: Display name (the INN when there is one).
          examples:
            - duvakitug
        inn:
          anyOf:
            - type: string
            - type: 'null'
          title: Inn
          description: International nonproprietary name, when the drug has one.
          examples:
            - duvakitug
        kind:
          type: string
          title: Kind
          description: >-
            `originator` (the innovator product, whoever lists it), `biosimilar`
            or `generic`.
          examples:
            - originator
        aliases:
          items:
            $ref: '#/components/schemas/DrugAlias'
          type: array
          title: Aliases
          description: Every name the drug goes by across its companies.
        modality:
          anyOf:
            - type: string
            - type: 'null'
          title: Modality
          description: >-
            The drug's modality in Pav's modality vocabulary (the
            `modality_norm` of all its programs). Null when not known.
          examples:
            - antibody
        modality_subclass:
          anyOf:
            - type: string
            - type: 'null'
          title: Modality Subclass
          description: Nucleic-acid class within `rna` or `oligonucleotide` (e.g. `sirna`).
          examples:
            - sirna
        modality_formats:
          items:
            type: string
          type: array
          title: Modality Formats
          description: Format facets (e.g. `bispecific`, `antibody_drug_conjugate`).
          examples:
            - - bispecific
        highest_phase:
          anyOf:
            - type: string
            - type: 'null'
          title: Highest Phase
          description: Most advanced phase across all companies' programs of the drug.
          examples:
            - Phase 3
        program_count:
          type: integer
          title: Program Count
          description: Programs of the drug across companies.
          default: 0
          examples:
            - 3
        companies:
          items:
            $ref: '#/components/schemas/DrugCompany'
          type: array
          title: Companies
          description: >-
            Companies with programs of this drug: the originator and its
            partners, licensees or parent, most advanced first.
        programs:
          items:
            $ref: '#/components/schemas/ProgramSummary'
          type: array
          title: Programs
          description: >-
            The drug's programs across companies (one per company, indication
            and territory).
      type: object
      required:
        - drug_id
        - name
        - kind
      title: DrugDetail
    ErrorEnvelope:
      properties:
        error:
          $ref: '#/components/schemas/ErrorBody'
          description: Error detail. Present only on 4xx/5xx responses.
      required:
        - error
      title: ErrorEnvelope
      type: object
    DrugAlias:
      properties:
        alias:
          type: string
          title: Alias
          description: A name of the drug as written by a company.
          examples:
            - TEV-'574
        kind:
          type: string
          title: Kind
          description: >-
            `inn` (nonproprietary name), `code` (research code), `brand` or
            `name`.
          examples:
            - code
      type: object
      required:
        - alias
        - kind
      title: DrugAlias
    DrugCompany:
      properties:
        company_id:
          type: integer
          title: Company Id
          description: Pav company id.
          examples:
            - 412
        name:
          type: string
          title: Name
          description: Company display name.
          examples:
            - Sanofi
        short_name:
          type: string
          title: Short Name
          description: Company slug.
          examples:
            - sanofi
        program_count:
          type: integer
          title: Program Count
          description: >-
            Programs of this drug the company lists (one per indication or
            territory).
          examples:
            - 2
        highest_phase:
          anyOf:
            - type: string
            - type: 'null'
          title: Highest Phase
          description: Most advanced phase among this company's programs of the drug.
          examples:
            - Phase 3
      type: object
      required:
        - company_id
        - name
        - short_name
        - program_count
      title: DrugCompany
    ProgramSummary:
      properties:
        program_id:
          type: integer
          title: Program Id
          description: Durable Pav program identifier.
          examples:
            - 18342
        status:
          type: string
          title: Status
          description: 'Lifecycle state: `active`, `inactive` or `discontinued`.'
          default: active
          examples:
            - active
        discontinued_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Discontinued At
          description: When a `discontinued` program stopped; null otherwise.
          examples:
            - null
        basis:
          type: string
          enum:
            - company_pipeline
            - regulatory_approval
            - clinical_trial_registry
          title: Basis
          description: >-
            `company_pipeline`, `regulatory_approval` or
            `clinical_trial_registry`.
          default: company_pipeline
          examples:
            - company_pipeline
        company_id:
          type: integer
          title: Company Id
          description: Pav company id that owns this program.
          examples:
            - 412
        short_name:
          type: string
          title: Short Name
          description: Company slug.
          examples:
            - pfizer
        company:
          type: string
          title: Company
          description: Company display name.
          examples:
            - Pfizer
        drug:
          type: string
          title: Drug
          description: Drug or asset name.
          examples:
            - Danuglipron
        drug_id:
          anyOf:
            - type: integer
            - type: 'null'
          title: Drug Id
          description: >-
            Pav drug identifier shared by every program of the same drug
            product.
          examples:
            - 5120
        indication:
          anyOf:
            - type: string
            - type: 'null'
          title: Indication
          description: Indication as published.
          examples:
            - Type 2 Diabetes
        phase_norm:
          anyOf:
            - type: string
            - type: 'null'
          title: Phase Norm
          description: Normalized development phase.
          examples:
            - Phase 2
        modality_norm:
          anyOf:
            - type: string
            - type: 'null'
          title: Modality Norm
          description: Normalized modality.
          examples:
            - small_molecule
        modality_subclass:
          anyOf:
            - type: string
            - type: 'null'
          title: Modality Subclass
          description: Nucleic-acid class (e.g. `sirna`).
          examples:
            - sirna
        modality_formats:
          items:
            type: string
          type: array
          title: Modality Formats
          description: Format facets (e.g. `bispecific`).
          examples:
            - - bispecific
        target:
          anyOf:
            - type: string
            - type: 'null'
          title: Target
          description: Molecular target.
          examples:
            - GLP-1R
        last_updated:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Last Updated
          description: When the latest program event happened.
        trial_count:
          type: integer
          title: Trial Count
          description: Number of clinical trials linked to the program.
          default: 0
          examples:
            - 3
      type: object
      required:
        - program_id
        - company_id
        - short_name
        - company
        - drug
      title: ProgramSummary
      description: >-
        A light program row for scanning lists; fetch the full record by
        `program_id`.
    ErrorBody:
      properties:
        code:
          description: >-
            Stable, machine-readable error code (e.g. `unauthorized`,
            `not_found`, `validation_error`, `error`).
          examples:
            - not_found
          title: Code
          type: string
        message:
          description: Human-readable explanation of the error.
          examples:
            - program 999999 not found
          title: Message
          type: string
        request_id:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: >-
            Correlation id echoed in the `X-Request-ID` response header. Quote
            it when contacting Pav support about a failed request.
          examples:
            - 3f2b9c1d8a7e4f6b9c0d1e2f3a4b5c6d
          title: Request Id
      required:
        - code
        - message
      title: ErrorBody
      type: object
  securitySchemes:
    EnterpriseApiKey:
      type: http
      description: >-
        Use a personal or organization Pav API key from Pav developer settings.
        Send it as Authorization: Bearer <api_key>.
      scheme: bearer
      bearerFormat: Pav API key

````