openapi: 3.2.0 info: title: Truepill API documentation Copay Request API version: 0.0.1 description: DOCS servers: - url: https://rxapi.fuzehealth.com/ - url: http://rxapi.fuzehealth.com/ security: - apiKey: [] tags: - name: Copay Request paths: /v1/copay_request/{request_id}: get: summary: Get Copay Request by request_id operationId: getV1Copay_requestRequest_id description: Get information around an existing Copay Request parameters: - description: Request id name: request_id in: path required: true schema: type: string tags: - Copay Request responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/Model45' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Model46' /api/v1/copay_request/{request_id}: get: summary: Get Copay Request by request_id operationId: getApiV1Copay_requestRequest_id description: Get information around an existing Copay Request parameters: - description: Request id name: request_id in: path required: true schema: type: string tags: - Copay Request responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/Model45' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Model46' /v1/copay_request: post: summary: Create Copay Request operationId: postV1Copay_request description: Generate a Copay Request to retrieve copay information on a patient's prescription(s). We can support multiple insurances on a copay request tags: - Copay Request responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/Model133' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Model134' requestBody: content: application/json: schema: $ref: '#/components/schemas/Model130' /api/v1/copay_request: post: summary: Create Copay Request operationId: postApiV1Copay_request description: Generate a Copay Request to retrieve copay information on a patient's prescription(s). We can support multiple insurances on a copay request tags: - Copay Request responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/Model133' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Model134' requestBody: content: application/json: schema: $ref: '#/components/schemas/Model130' /v1/copay_request/cancel: post: summary: Cancel Copay Request operationId: postV1Copay_requestCancel description: Cancel an existing Copay Request if the status is 'Pending' or 'Triage'. tags: - Copay Request responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/Model212' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Model213' requestBody: content: application/json: schema: $ref: '#/components/schemas/Model210' /api/v1/copay_request/cancel: post: summary: Cancel Copay Request operationId: postApiV1Copay_requestCancel description: Cancel an existing Copay Request if the status is 'Pending' or 'Triage'. tags: - Copay Request responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/Model212' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Model213' requestBody: content: application/json: schema: $ref: '#/components/schemas/Model210' components: schemas: Model44: type: object properties: prescription_token: type: string example: abc123 prescribed_written_name: type: string example: Ibuprofen quantity: type: number example: 30 copay_amount: type: number example: 10 fill_number: type: number example: 1 error_code: type: string example: R009 rejection_reason: type: string example: Not covered by insurance additional_rejection_details: type: string example: Med not covered by insurance insurance_tokens: type: array items: type: string copay_request_prescriptions_tokens: type: array items: $ref: '#/components/schemas/Model131' Model129: type: array example: - skhsyq83rkd3uht9 - ubqfc1a0a17hjb1c - oi4aafwcsv5zzvvj minItems: 1 items: type: string Model132: type: object properties: copay_request_token: type: string example: a2fcd842de60b010 copay_request_prescriptions_tokens: $ref: '#/components/schemas/copay_request_prescriptions_tokens' Model211: type: object properties: code: type: string example: CUSTOMER_CANCELLATION_REQUEST description: type: string example: Copay Request Cancelled by Customer Request message: type: string example: 'Accepted: Copay Request 34f68f71f980f78bb0bc has been cancelled.' Model131: type: object properties: prescription_token: type: string example: 9df7a51822e2 copay_request_prescription_token: type: string example: e13eab97b91c6b27 status: type: string example: pending Model128: type: array description: Patient's prescriptions. example: - prescription_token: z3q2jr quantity: 8.7 days_supply: 30 patient_consent: consent_statement: Patient Bruce Banner consented that Truepill pharmacy will bill their insurance in order to provide a fill of Medication Sildenafil 10mg for a quantity of 10. patient_name: Bruce Banner consent_provided_by: Hulk item: sildenafil 10mg consent_method: VERBAL consent_date: ' 2021-01-25 15:17:51.000Z' consent_type: INSURANCE claim_overrides: - insurance_token: adcbc795028c009d prior_authorization_number: ABC123 submission_clarification_code: '4' - insurance_token: 75539ed9ffb86f38 other_coverage_code: '8' - b5q3t2 - h3r55c items: type: string description: Prescription token example: 4526d90a minLength: 1 x-alternatives: - type: string description: Prescription token example: 4526d90a minLength: 1 - $ref: '#/x-alt-definitions/Model4' Model45: type: object properties: created_at: type: string example: '2021-09-14T14:22:37.000Z' status: type: string example: success error_code: type: string example: CR019 rejection_reason: type: string example: Bad Insurance Details additional_rejection_details: type: string example: Missing/Invalid Group Number triage_reason: type: string example: Other Reason additional_triage_details: type: string example: Maint dose patient_token: type: string example: abc123 insurance_tokens: $ref: '#/components/schemas/insurance_tokens' prescriptions: $ref: '#/components/schemas/prescriptions' metadata: type: string example: RX12343565 notes: type: string example: Med notes ship_to_state: type: string example: CA x-constraint: length: 2 Model212: type: object properties: request_id: type: string example: 40277544de5c6ba685dc4161e189d3e2 timestamp: type: integer example: 1631571795.423 status: type: string example: success details: $ref: '#/components/schemas/Model211' prescriptions: type: array items: $ref: '#/components/schemas/Model44' Model213: type: object properties: message: type: string example: Copay not found Model210: type: object properties: copay_request_token: type: string description: Copay token example: 4526d90a request_id: type: string description: Request id example: bf11da52584eb54188bf8ebed33ef15f Model130: type: object properties: prescriptions: $ref: '#/components/schemas/Model128' insurance_token: $ref: '#/components/schemas/Model129' x-alternatives: - $ref: '#/x-alt-definitions/insurance_token' - type: string metadata: type: string description: Customer-side identifier to reference the Copay Request in Customer system example: cfe146 patient_token: type: string description: Patient token example: 4526d90a notes: type: string description: Additional information customer wishes to convey relating to this Copay Request example: This is a note ship_to_state: type: string description: State prescription is being shipped to as 2 letter abbreviation example: CA x-constraint: length: 2 x-convert: case: upper patient_payment_type: type: string description: Whether to run with insurance (must be provided) or as cash enum: - cash - insurance required: - patient_token Model133: type: object properties: request_id: type: string example: 40277544de5c6ba685dc4161e189d3e2 timestamp: type: integer example: 1631571795.423 status: type: string example: success details: $ref: '#/components/schemas/Model132' Model46: type: object properties: statusCode: type: number example: 404 error: type: string example: Not Found message: type: string example: Unable to find Copay Request. Model134: type: object properties: message: type: string example: Patient not found securitySchemes: apiKey: type: apiKey name: Authorization in: header x-alt-definitions: selected_allergies: type: array items: type: string allergies: type: object properties: selected_allergies: $ref: '#/x-alt-definitions/selected_allergies' presented_allergies: $ref: '#/x-alt-definitions/selected_allergies' free_form_allergy_information: type: string required: - selected_allergies - presented_allergies - free_form_allergy_information Model1: type: object properties: name: type: string strength: type: number dosage: type: string frequency: type: string required: - name medications: type: array items: $ref: '#/x-alt-definitions/Model1' Model2: type: object properties: type: type: string year: type: number reason: type: string required: - type - year - reason events: type: array items: $ref: '#/x-alt-definitions/Model2' patient_consent: type: object properties: consent_statement: type: string consent_method: type: string consent_date: type: string consent_type: type: string patient_name: type: string consent_provided_by: type: string item: type: string Model3: type: object properties: insurance_token: type: string description: Insurance token example: adcbc795028c009d minLength: 1 prior_authorization_number: type: string example: ABC123 pattern: ^[0-9a-zA-Z]{1,35}$ other_coverage_code: type: string example: '8' pattern: ^[0-8]{1}$ submission_clarification_code: type: string example: '3' pattern: ^(?:[1-9]\d?|0)$ required: - insurance_token claim_overrides: type: array items: $ref: '#/x-alt-definitions/Model3' pricing: type: object properties: ingredient_cost_submitted: type: number x-constraint: greater: 0 precision: 2 Model4: type: object properties: prescription_token: type: string description: Prescription token example: 4526d90a minLength: 1 quantity: type: number example: 8.7 days_supply: type: number example: 30 patient_consent: $ref: '#/x-alt-definitions/patient_consent' claim_overrides: $ref: '#/x-alt-definitions/claim_overrides' ndc: type: string description: National drug code example: '71858002504' pattern: ^[0-9]{10,11}$ daw: type: string example: '2' enum: - '0' - '2' copay_limit: type: number minimum: 0 x-constraint: precision: 2 pricing: $ref: '#/x-alt-definitions/pricing' required: - prescription_token - daw insurance_token: type: array example: - skhsyq83rkd3uht9 - ubqfc1a0a17hjb1c - oi4aafwcsv5zzvvj minItems: 1 items: type: string copay_payment: type: object properties: cardholder_name: type: string description: Cardholder name example: John Doe payment_type: type: string last_four_digits: type: string example: '4132' transaction_amount: type: number card_type: type: string transaction_date: type: string transaction_id: type: string required: - payment_type Medication: type: object description: Medication description example: - prescription_token: z3q2jr - prescription_token: 3cs873 properties: medication_name: type: string description: Medication name example: Ritalin maxLength: 255 quantity_dispensed: type: number description: Dispensed medication quantity example: 60 days_supply: type: number description: Days supply example: 30 is_refill: type: boolean description: Is prescription a refill or new fill example: true medication_sig: type: string description: Recommendations for medicines example: Apply daily. prescribing_doctor: type: string description: Prescribing doctor example: Dr. Storm prescription_token: type: string description: Prescription token example: 4526d90a minLength: 1 rx_link: type: string minLength: 1 quantity: type: number description: Quantity sent example: 30 x-constraint: greater: 0 copay_payment: $ref: '#/x-alt-definitions/copay_payment' ndc: type: string description: National drug code example: '12345678901' pattern: ^[0-9]{11}$ daw: type: string example: '2' enum: - '0' - '2' patient_consent: $ref: '#/x-alt-definitions/patient_consent' required: - daw MedicationArray: type: array x-constraint: {} items: $ref: '#/x-alt-definitions/Medication' auto_refill: type: object properties: date_provided: type: string format: date description: Date of consent example: '2022-05-12' consent_statement: type: string description: Statement confirming consent example: I consent required: - date_provided - consent_statement Model5: type: object properties: consent_statement: type: string consent_method: type: string consent_date: type: string consent_type: type: string patient_name: type: string consent_provided_by: type: string item: type: string auto_refill: $ref: '#/x-alt-definitions/auto_refill' Model6: type: object description: Medication description example: - prescription_token: z3q2jr - prescription_token: 3cs873 properties: medication_name: type: string description: Medication name example: Ritalin maxLength: 255 quantity_dispensed: type: number description: Dispensed medication quantity example: 60 days_supply: type: number description: Days supply example: 30 is_refill: type: boolean description: Is prescription a refill or new fill example: true medication_sig: type: string description: Recommendations for medicines example: Apply daily. prescribing_doctor: type: string description: Prescribing doctor example: Dr. Storm prescription_token: type: string description: Prescription token example: 4526d90a minLength: 1 rx_link: type: string minLength: 1 quantity: type: number description: Quantity sent example: 30 x-constraint: greater: 0 copay_payment: $ref: '#/x-alt-definitions/copay_payment' ndc: type: string description: National drug code example: '12345678901' pattern: ^[0-9]{11}$ daw: type: string example: '2' enum: - '0' - '2' patient_consent: $ref: '#/x-alt-definitions/Model5' required: - daw Model7: type: array x-constraint: {} items: $ref: '#/x-alt-definitions/Model6' Shipping Address: type: object properties: name: type: string minLength: 1 company: type: string minLength: 0 street1: type: string description: Primary street of the address minLength: 1 street2: type: string description: Secondary street minLength: 0 city: type: string description: City minLength: 1 state: type: string description: State minLength: 1 zip: type: string minLength: 0 pattern: ^\d{5}(-\d{4})?$ country: type: string description: Country default: US minLength: 1 phone: type: string minLength: 0 email: type: string minLength: 1 fax: type: string minLength: 0 required: - name - street1 - city - state - zip - country - email shipping_address: type: object properties: phone: type: string minLength: 0 required: - phone external_location: type: object properties: id: type: string description: 'Stringified UUIDv4. See [RFC 4112](https://tools.ietf.org/html/rfc4122)' minLength: 0 pattern: ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-4[0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$ pharmacy: type: string description: References GET /v1/external_location_pharmacies minLength: 0 npi: type: string description: NPI - likely type 2 minLength: 0 maxLength: 10 pattern: ^[0-9]{10}$ address_to_street1: type: string minLength: 0 address_to_street2: type: string minLength: 0 address_to_city: type: string minLength: 0 address_to_state: type: string minLength: 0 pattern: ^[A-Z]{2}$ address_to_zip: type: string minLength: 0 pattern: ^\d{5}(-?\d{4})?$ address_to_country: type: string minLength: 0 pattern: ^[A-Z]{2}$ address_to_phone: type: string minLength: 0 pattern: ^(\+)?[1-9]\d{1,14}$ address_to_fax: type: string description: The fax number of the address minLength: 0 maxLength: 255 pattern: ^[1-9]\d{1,14}$ required: - id - pharmacy - npi - address_to_street1 - address_to_city - address_to_state - address_to_zip - address_to_country Model8: type: object properties: ncpdpid: type: string description: NCPDP ID - National Council for Prescription Drug Programs minLength: 0 distance_from_origin: type: number description: Approximate distance rounded to nearest 0.01 mile required: - ncpdpid