openapi: 3.2.0 info: title: Truepill API documentation Transfer Request API version: 0.0.1 description: DOCS servers: - url: https://rxapi.fuzehealth.com/ - url: http://rxapi.fuzehealth.com/ security: - apiKey: [] tags: - name: Transfer Request paths: /v1/transfer_request: get: summary: Get a list of Transfers operationId: getV1Transfer_request description: 'This endpoint retrieves a list of all the transfer requests you have made to the Truepill ecosystem. List transfers utilizes an optional pagination functionality when retrieving a large number of transfers. By default, this endpoint retrieves 50 transfers at a time, starting with the earliest transfers. For example, if you were looking to retrieve the 70-80th transfers made to Truepill, you would use a pagination of 1 (zero base indexing). To paginate, append a `?` at the end of the API endpoint along with the `page=[PAGE_NUMBER]`, and replace `[PAGE_NUMBER]` with an integer. If the pagination value surpasses the number of transfers in the system, an empty array `[]` will be returned. This endpoint retrieves 50 transfers at a time, starting with the earliest-made transfers. If you have a large number of transfers and are looking to retrieve more recent transfers, you will need to paginate.' tags: - Transfer Request responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Model31' post: summary: Create a Transfer operationId: postV1Transfer_request description: 'A transfer request can be created using our `transfer_request` API endpoint. Truepill will provide a receipt confirmation of the request, but please note the subsequent webhook event notifying you of a successful transfer may take 1-3 days. The following endpoint requests the transfer of a prescription from a third-party pharmacy to Truepill’s pharmacy. If the prescription in question was generated by a physician contracted by the API User then this endpoint does not need to be called; otherwise this request is necessary for the Fill Request to be fulfilled. Note: You MUST send either pharmacy contact information or prescriber contact information to avoid an error. If `medications` field is not provided in the request, Truepill will transfer all possible patient prescriptions.' tags: - Transfer Request responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Model178' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Model181' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Model24' requestBody: content: application/json: schema: $ref: '#/components/schemas/Transfer%20request' /api/v1/transfer_request: get: summary: Get a list of Transfers operationId: getApiV1Transfer_request description: 'This endpoint retrieves a list of all the transfer requests you have made to the Truepill ecosystem. List transfers utilizes an optional pagination functionality when retrieving a large number of transfers. By default, this endpoint retrieves 50 transfers at a time, starting with the earliest transfers. For example, if you were looking to retrieve the 70-80th transfers made to Truepill, you would use a pagination of 1 (zero base indexing). To paginate, append a `?` at the end of the API endpoint along with the `page=[PAGE_NUMBER]`, and replace `[PAGE_NUMBER]` with an integer. If the pagination value surpasses the number of transfers in the system, an empty array `[]` will be returned. This endpoint retrieves 50 transfers at a time, starting with the earliest-made transfers. If you have a large number of transfers and are looking to retrieve more recent transfers, you will need to paginate.' tags: - Transfer Request responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Model31' post: summary: Create a Transfer operationId: postApiV1Transfer_request description: 'A transfer request can be created using our `transfer_request` API endpoint. Truepill will provide a receipt confirmation of the request, but please note the subsequent webhook event notifying you of a successful transfer may take 1-3 days. The following endpoint requests the transfer of a prescription from a third-party pharmacy to Truepill’s pharmacy. If the prescription in question was generated by a physician contracted by the API User then this endpoint does not need to be called; otherwise this request is necessary for the Fill Request to be fulfilled. Note: You MUST send either pharmacy contact information or prescriber contact information to avoid an error. If `medications` field is not provided in the request, Truepill will transfer all possible patient prescriptions.' tags: - Transfer Request responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Model178' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Model181' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Model24' requestBody: content: application/json: schema: $ref: '#/components/schemas/Transfer%20request' /v1/transfer_request/{token}: get: summary: Get a Transfer by token operationId: getV1Transfer_requestToken description: 'Once a transfer has been created in the Truepill ecosystem, you can access the transfer information at any time using the `transfer_token` that was provided on the Create Transfer response. If the `transfer_token` does not map to a transfer record, a `404 Not Found` will be returned. Querying for transfer information that does not belong to you will return an error response.' parameters: - description: Transfer token name: token in: path required: true schema: type: string tags: - Transfer Request responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Model68' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Model69' /api/v1/transfer_request/{token}: get: summary: Get a Transfer by token operationId: getApiV1Transfer_requestToken description: 'Once a transfer has been created in the Truepill ecosystem, you can access the transfer information at any time using the `transfer_token` that was provided on the Create Transfer response. If the `transfer_token` does not map to a transfer record, a `404 Not Found` will be returned. Querying for transfer information that does not belong to you will return an error response.' parameters: - description: Transfer token name: token in: path required: true schema: type: string tags: - Transfer Request responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Model68' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Model69' components: schemas: Model31: type: array items: $ref: '#/components/schemas/Model30' Model65: type: object properties: url_token: type: string example: e6014ac9da658c1c medication_name: type: string example: duloxetine 30mg capsule rejection_reason: type: string rejection_reason_other: type: string prescription: $ref: '#/components/schemas/Model64' Model178: type: object properties: request_id: type: string example: 7b8b4ed9ef459888d6bbb503363e5f00 timestamp: type: integer example: 1631571795 status: type: string example: success details: $ref: '#/components/schemas/Model177' Model30: type: object properties: created_at: type: string format: date example: '2021-02-28T22:34:50.000Z' url_token: type: string example: e4bce6d1e2 status: type: string example: completed transfer_medications: $ref: '#/components/schemas/transfer_medications' Model24: type: object properties: statusCode: type: number example: 404 error: type: string example: Not Found message: type: string example: Unable to find Patient. Model64: type: object properties: url_token: type: string example: 0a5211b5f1db prescribed_written_name: type: string example: Lisinopril 5 mg Oral Tablet prescribed_generic_name: type: string example: Generic 10mg tablet last_filled_date: type: string example: '2021-02-28T22:34:50.000Z' prescribed_quantity: type: number example: 60 prescriber: type: string example: Dr. Nick Rivera num_refills_remaining: type: number example: 0 medication_name: type: string example: Generic 10mg tablet prescription_date: type: string days_supply: type: string example: '30' num_refills_filled: type: string example: '0' Model179: type: object properties: key: type: string example: '' message: type: string example: Transfer request must contain at least one of [patient_token, patient_first_name] Model66: type: array items: $ref: '#/components/schemas/Model65' transfer_medications: type: array items: $ref: '#/components/schemas/Model29' Model177: type: object properties: message: type: string example: Your transfer request has been received. transfer_id: type: string example: d01f30b320 transfer_token: type: string example: d01f30b320 transfer_medications: $ref: '#/components/schemas/Model176' patient_id: type: string example: 507ee4b3ea5318b7 patient_token: type: string example: 507ee4b3ea5318b7 Model68: type: array items: $ref: '#/components/schemas/Model67' Model175: type: object properties: transfer_medication_id: type: string example: a4d262ba4793835c transfer_medication_token: type: string example: a4d262ba4793835c medication_name: type: string example: Lisinopril 5 mg Oral Tablet *[41]* Model29: type: object properties: url_token: type: string example: e6014ac9da658c1c medication_name: type: string example: duloxetine 30mg capsule Model69: type: object properties: statusCode: type: number example: 404 error: type: string example: Not Found message: type: string example: Transfer not found. Model176: type: array items: $ref: '#/components/schemas/Model175' Model180: type: array items: $ref: '#/components/schemas/Model179' Model67: type: object properties: created_at: type: string example: '2021-02-28T22:34:50.000Z' url_token: type: string example: e4bce6d1e2 status: type: string example: completed cancel_reason: type: string cancel_reason_other: type: string pharmacy_name: type: string example: Test pharmacy_phone: type: string example: +1 (111) 222-3333 prescriber_name: type: string prescriber_phone: type: string notes: type: string example: A note metadata: type: string example: m3t4 reject_reason: type: string reject_reason_other: type: string transfer_medications: $ref: '#/components/schemas/Model66' Model181: type: object properties: statusCode: type: number example: 400 error: type: string example: Bad Request validation_errors: $ref: '#/components/schemas/Model180' 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