Truepill Prescriptions & Orders API

Retrieve prescription details and orchestrate prescription routing via transfer requests and direct transfers (v1 and v2) into Truepill/FuzeRx pharmacy fulfillment.

OpenAPI Specification

truepill-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Truepill (FuzeRx) API
  description: >-
    REST API for Truepill's pharmacy and healthcare-infrastructure platform,
    now shipping as FuzeRx after LetsGetChecked's 2024 acquisition of Truepill
    and the May 2025 rebrand to Fuze Health. The API exposes JSON over HTTPS for
    patient management, prescriptions, pharmacy-to-pharmacy transfers, insurance
    and copay adjudication, and webhook event retrieval. Endpoints and field
    names below reflect Truepill/FuzeRx public developer documentation; request
    and response bodies are summarized and should be reconciled against the live
    reference at https://rxdocs.fuzehealth.com before production use.
  termsOfService: https://www.truepill.com/terms-of-service
  contact:
    name: FuzeRx Support
    email: rx.support@fuzehealth.com
  version: 'v1'
servers:
  - url: https://rxapi.fuzehealth.com/v1
    description: Production
  - url: https://rxapi.sandbox.fuzehealth.com/v1
    description: Sandbox
security:
  - ApiKeyAuth: []
tags:
  - name: Patients
    description: Patient records and demographics.
  - name: Prescriptions
    description: Prescription details and routing.
  - name: Transfers
    description: Pharmacy-to-pharmacy prescription transfers.
  - name: Insurance
    description: Insurance objects, copay requests, and claim adjudication.
  - name: Webhooks
    description: Asynchronous event retrieval.
paths:
  /patient:
    put:
      operationId: createPatient
      tags:
        - Patients
      summary: Create a patient record.
      description: >-
        Creates a patient and returns an opaque patient_token used to reference
        the patient on subsequent requests.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatientRequest'
      responses:
        '200':
          description: Patient created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientResponse'
    get:
      operationId: findPatient
      tags:
        - Patients
      summary: Find a patient by demographics.
      parameters:
        - name: first_name
          in: query
          schema:
            type: string
        - name: last_name
          in: query
          schema:
            type: string
        - name: dob
          in: query
          schema:
            type: string
            format: date
      responses:
        '200':
          description: Matching patient(s).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientResponse'
  /patient/{patient_token}:
    get:
      operationId: getPatient
      tags:
        - Patients
      summary: Retrieve patient details.
      parameters:
        - $ref: '#/components/parameters/PatientToken'
      responses:
        '200':
          description: Patient details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientResponse'
    post:
      operationId: updatePatient
      tags:
        - Patients
      summary: Update patient information.
      parameters:
        - $ref: '#/components/parameters/PatientToken'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatientRequest'
      responses:
        '200':
          description: Patient updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientResponse'
  /patient/{patient_token}/prescriptions:
    get:
      operationId: listPatientPrescriptions
      tags:
        - Patients
        - Prescriptions
      summary: List a patient's prescriptions.
      parameters:
        - $ref: '#/components/parameters/PatientToken'
      responses:
        '200':
          description: Prescriptions for the patient.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Prescription'
  /prescription/{prescription_token}:
    get:
      operationId: getPrescription
      tags:
        - Prescriptions
      summary: Get prescription details.
      parameters:
        - name: prescription_token
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Prescription details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Prescription'
  /transfer_request:
    post:
      operationId: createTransferRequest
      tags:
        - Transfers
      summary: Initiate a pharmacy transfer request.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransferRequest'
      responses:
        '200':
          description: Transfer request created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransferResponse'
    get:
      operationId: listTransferRequests
      tags:
        - Transfers
      summary: List all transfer requests.
      responses:
        '200':
          description: Transfer requests.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TransferResponse'
  /transfer_request/{transfer_token}:
    get:
      operationId: getTransferRequest
      tags:
        - Transfers
      summary: Get a specific transfer request.
      parameters:
        - name: transfer_token
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Transfer request details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransferResponse'
  /direct_transfer:
    post:
      operationId: createDirectTransfer
      tags:
        - Transfers
      summary: Create a direct transfer (v1).
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransferRequest'
      responses:
        '200':
          description: Direct transfer created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransferResponse'
  /v2/direct_transfer:
    post:
      operationId: createDirectTransferV2
      tags:
        - Transfers
      summary: Create a direct transfer (v2).
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransferRequest'
      responses:
        '200':
          description: Direct transfer created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransferResponse'
  /insurance:
    post:
      operationId: createInsurance
      tags:
        - Insurance
      summary: Create an insurance object for a patient.
      description: >-
        Establishes a patient's pharmacy benefit details (BIN, PCN, group
        number, member ID) for use in copay determination and claim adjudication.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Insurance'
      responses:
        '200':
          description: Insurance object created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insurance'
  /copay_request:
    post:
      operationId: createCopayRequest
      tags:
        - Insurance
      summary: Create a copay request.
      description: >-
        Submits patient insurance and prescription details to determine a
        patient's real-time out-of-pocket expense for a medication. Results may
        also be delivered asynchronously via webhook events.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CopayRequest'
      responses:
        '200':
          description: Copay request accepted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CopayResponse'
  /insurance_claim:
    get:
      operationId: getInsuranceClaim
      tags:
        - Insurance
      summary: Get insurance claim details.
      description: >-
        Queries claim details from successfully adjudicated insurance claims.
        Access to this endpoint is restricted.
      responses:
        '200':
          description: Insurance claim details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsuranceClaim'
  /webhook_events/{webhook_type}:
    get:
      operationId: getWebhookEvents
      tags:
        - Webhooks
      summary: Retrieve webhook events by type.
      parameters:
        - name: webhook_type
          in: path
          required: true
          schema:
            type: string
          description: Webhook event type (e.g., notify_rx).
      responses:
        '200':
          description: Webhook events.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WebhookEvent'
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        API key passed as `Authorization: ApiKey <YOUR_API_KEY>`. Separate keys
        are issued for the sandbox and production environments.
  parameters:
    PatientToken:
      name: patient_token
      in: path
      required: true
      schema:
        type: string
      description: Opaque token identifying the patient.
  schemas:
    PatientRequest:
      type: object
      properties:
        first_name:
          type: string
        last_name:
          type: string
        dob:
          type: string
          format: date
        gender:
          type: string
        ssn:
          type: string
        address_1:
          type: string
        address_2:
          type: string
        city:
          type: string
        state:
          type: string
        zip:
          type: string
        phone_number:
          type: string
        email:
          type: string
        language_preference:
          type: string
        species:
          type: string
          description: Supports veterinary dispensing.
    PatientResponse:
      type: object
      properties:
        status:
          type: string
        timestamp:
          type: string
          format: date-time
        request_id:
          type: string
        details:
          type: object
          properties:
            patient_token:
              type: string
            first_name:
              type: string
            last_name:
              type: string
            dob:
              type: string
              format: date
    Prescription:
      type: object
      properties:
        prescription_token:
          type: string
        patient_token:
          type: string
        medication_name:
          type: string
        ndc:
          type: string
          description: National Drug Code.
        quantity:
          type: number
        days_supply:
          type: integer
        directions:
          type: string
        status:
          type: string
        refills_remaining:
          type: integer
    TransferRequest:
      type: object
      properties:
        patient_token:
          type: string
        prescription_token:
          type: string
        from_pharmacy:
          type: string
        to_pharmacy:
          type: string
        medication_name:
          type: string
    TransferResponse:
      type: object
      properties:
        transfer_token:
          type: string
        status:
          type: string
        timestamp:
          type: string
          format: date-time
        details:
          type: object
    Insurance:
      type: object
      properties:
        patient_token:
          type: string
        bin:
          type: string
        pcn:
          type: string
        group_number:
          type: string
        member_id:
          type: string
        relationship_code:
          type: string
        priority:
          type: string
          description: primary, secondary, or tertiary.
    CopayRequest:
      type: object
      properties:
        patient_token:
          type: string
        prescription_token:
          type: string
        ndc:
          type: string
        quantity:
          type: number
        days_supply:
          type: integer
    CopayResponse:
      type: object
      properties:
        copay_request_token:
          type: string
        status:
          type: string
        copay_amount:
          type: number
        currency:
          type: string
        timestamp:
          type: string
          format: date-time
    InsuranceClaim:
      type: object
      properties:
        claim_id:
          type: string
        prescription_token:
          type: string
        bin:
          type: string
        adjudicated_amount:
          type: number
        patient_pay_amount:
          type: number
        status:
          type: string
    WebhookEvent:
      type: object
      properties:
        callback_type:
          type: string
        status:
          type: string
          description: success or error.
        timestamp:
          type: string
          format: date-time
        details:
          type: object
          description: Event-specific payload.