---
title: "Create Prior Auth Route"
method: POST
path: "/prior-authorization"
tags: ["public-api"]
---

# Create Prior Auth Route

`POST /prior-authorization`

## Request body

- CreatePriorAuthRequest — Represents a request for creating a prior authorization for a medication. This includes detailed information about the patient, their diagnosis, prescribed medication, evidence supporting the need for treatment, insurance details, and responses to relevant questionnaires.
  - `diagnoses` Diagnosis[] — Clinical diagnoses for the patient in ICD-10 format. i.e. 'E66.9'
    - `code` string, required — ICD-10 code for the diagnosis. i.e. 'E66.9'
  - `evidence` EvidenceItem[] — A collection of evidence items supporting the authorization request. Any supporting evidence that doesn't belong in the other predefined fields can be added here.
    - `asset` Asset
      - `file_content` string — The file content, encoded in Base64 format. Currently only PDF files are supported. This field cannot be used if `file_url` is provided.
      - `file_url` string, uri — URL pointing to the file. The file will be downloaded immediately. This field cannot be used if `file_content` is provided.
    - `content` union — Detailed content of the evidence, which varies based on the type of evidence.
      - object
      - string
    - `date_created` string, date-time, required — The date and time (if available) when the evidence was created. This is important for ensuring we have an accurate timeline of the patient's history.
    - `document_date` string, date — Optional explicit clinical/source document date. Only provide this when it comes from a trusted source document/event field, not upload, export, or ingestion time.
    - `title` string, required — Title of the evidence. This will be shown to users in the platform UI so it's recommended to give it a name that would be meaningful to them, such as 'Intake Form'
  - `patient` Patient, required — Represents patient information.
    - `address` Address, required — Represents a postal address.
      - `street` string, required — Street address of residence.
      - `street_line_2` string — Additional street address information.
      - `city` string, required — City of residence.
      - `state_province` string, required — State or province of residence.
      - `zip_postal_code` string, required — ZIP or postal code part of the address.
      - `country` string — Country of residence.
    - `date_of_birth` string, date, required — The patient's date of birth
    - `email` string, email — The patient's email address
    - `first_name` string, required — The patient's first name
    - `last_name` string, required — The patient's last name
    - `gender` 'male' | 'female' | 'other' | 'not_specified', required — An enumeration.
    - `internal_id` string, required — Your internal ID for this patient. This is used for linking all of the requests for a given patient.
    - `mrn` string — Medical record number
    - `phone` string — The patient's phone number
  - `insurance` ApiSchemasPlatformPublicApiInsuranceDocumentInsuranceDocument[] — Insurance information for the patient. We will extract the required information from the insurance card images you provide. Please provide both the front and the back of the card. This is optional if you provide `insurance_content`, but highly recommended to ensure best results.
    - `file_content` string, required
  - `insurance_content` PartialInsuranceInfo
    - `client_name` string — The client/employer name.
    - `group_number` string — The group number on the card.
    - `member_name` string — The member name on the card.
    - `member_number` string — The member number on the card.
    - `payer_name` string — The payer name on the card. This field is not normalized, so the same plan may have different names depending on the way it appears on the card. i.e. 'United Healthcare', 'United', 'United Health' could all appear
    - `plan_name` string — The plan name on the card. This field is not normalized, so the same plan may have different names depending on the way it appears on the card
    - `rx_bin` string — The Rx BIN number on the card.
    - `rx_group` string — The Rx group number on the card.
    - `rx_pcn` string — The Rx PCN number on the card.
  - `prescription` union — Information regarding the prescription this prior authorization is being created for. Required unless `ndp_submission` is provided with a `prescription_message_id`. Prefer coded prescriptions when NDCs are available.
    - CodedPrescription — Represents a prescription issued by a healthcare provider. This is an alternative to the Prescription model that is more closely aligned with NCPDP standards and helps reduce any confusion on the payer-side. Prefer this model over Prescription when NDCs are available.
      - `ndc` string, required — The NDC of the medication. Both 10 and 11-digit NDCs are supported.
      - `directions` string, required — Instructions on how the medication should be taken.
      - `quantity` integer, required — The quantity of the medication.
      - `quantity_unit_of_measure` string — The unit of measurement for the quantity of the medication (subset code C89510). Either an NCIt code or the name of the term. If not provided, C38046 (Unspecified) will be used.
      - `days_supply` integer, required — The number of days the prescription will be expected to last.
      - `expected_length_of_therapy` string — The expected length of therapy for the prescribed drug. Defaults to 'Until No Longer Needed' if not provided.
      - `extra` object — An optional dictionary containing additional information related to the drug or future prescription.
      - `prescription_date` string, date-time, required — The date the prescription was issued
    - Prescription — Represents a prescription issued by a healthcare provider. Prefer CodedPrescription when NDCs are available.
      - `days_supply` integer, required — The number of days the prescription will be expected to last.
      - `quantity` integer, required — The quantity of the medication.
      - `directions` string, required — Instructions on how the medication should be taken.
      - `drug_name` string, required — The name of the medication.
      - `strength` string, required — The strength of the medication.
      - `dose_form` 'aerosol' | 'bar' | 'bead' | 'breadstick' | 'bulk' | 'capsule' | 'catheter' | 'cement' | 'cigarette' | 'cloth' | 'concentrate' | 'cone' | 'cream' | 'crystal' | 'culture' | 'dentifrice' | 'deposit' | 'device' | 'diaphragm' | 'disc' | 'douche' | 'dressing' | 'drops' | 'elixir' | 'emulsion' | 'enema' | 'extract' | 'film' | 'food' | 'foam' | 'gel' | 'generator' | 'globule' | 'graft' | 'gum' | 'implant' | 'infusion' | 'inhalant' | 'inhalation' | 'inhaler' | 'injectable' | 'injection' | 'insert' | 'irrigant' | 'irrigation' | 'jelly' | 'kit' | 'lens' | 'liner' | 'liniment' | 'lipstick' | 'liquid' | 'lollipop' | 'lotion' | 'lozenge' | 'miscellaneous' | 'mouthwash' | 'mucilage' | 'oil' | 'ointment' | 'packing' | 'paste' | 'pastille' | 'patch' | 'pellet' | 'pill' | 'plaster' | 'poultice' | 'powder' | 'resin' | 'ring' | 'rinse' | 'rod' | 'salve' | 'shampoo' | 'soap' | 'sol' | 'solution' | 'sponge' | 'spray' | 'stick' | 'strip' | 'suppository' | 'suspension' | 'suture' | 'swab' | 'syrup' | 'tablet' | 'tampon' | 'tape' | 'tea' | 'test' | 'tincture' | 'troche' | 'vaginal_suppository' | 'vaginal_tablet' | 'wafer' | 'wash' | 'wax', required — An enumeration.
      - `route_of_administration` 'auricular (otic)' | 'otic' | 'buccal' | 'conjunctival' | 'cutaneous' | 'dental' | 'electro-osmosis' | 'endocervical' | 'endosinusial' | 'endotracheal' | 'enteral' | 'epidural' | 'extra-amniotic' | 'extracorporeal' | 'hemodialysis' | 'infiltration' | 'interstitial' | 'intra-abdominal' | 'intra-amniotic' | 'intra-arterial' | 'intra-articular' | 'intrabiliary' | 'intrabronchial' | 'intrabursal' | 'intracameral' | 'intracanalicular' | 'intracardiac' | 'intracartilaginous' | 'intracaudal' | 'intracavernous' | 'intracavitary' | 'intracerebral' | 'intracisternal' | 'intracorneal' | 'intracoronal, dental' | 'intracoronary' | 'intracorporus cavernosum' | 'intracranial' | 'intradermal' | 'intradiscal' | 'intraductal' | 'intraduodenal' | 'intradural' | 'intraepicardial' | 'intraepidermal' | 'intraesophageal' | 'intragastric' | 'intragingival' | 'intrahepatic' | 'intraileal' | 'intralesional' | 'intralingual' | 'intraluminal' | 'intralymphatic' | 'intramammary' | 'intramedullary' | 'intrameningeal' | 'intramuscular' | 'intranodal' | 'intraocular' | 'intraomentum' | 'intraovarian' | 'intrapericardial' | 'intraperitoneal' | 'intrapleural' | 'intraprostatic' | 'intrapulmonary' | 'intraruminal' | 'intrasinal' | 'intraspinal' | 'intrasynovial' | 'intratendinous' | 'intratesticular' | 'intrathecal' | 'intrathoracic' | 'intratubular' | 'intratumor' | 'intratympanic' | 'intrauterine' | 'intravascular' | 'intravenous' | 'intraventricular' | 'intravesical' | 'intravitreal' | 'iontophoresis' | 'irrigation' | 'laryngeal' | 'nasal' | 'nasogastric' | 'not applicable' | 'occlusive dressing technique' | 'ophthalmic' | 'oral' | 'oropharyngeal' | 'parenteral' | 'percutaneous' | 'periarticular' | 'peridural' | 'perineural' | 'periodontal' | 'rectal' | 'respiratory (inhalation)' | 'inhalation' | 'retrobulbar' | 'soft tissue' | 'subarachnoid' | 'subconjunctival' | 'subcutaneous' | 'subgingival' | 'sublingual' | 'submucosal' | 'subretinal' | 'suprachoroidal' | 'topical' | 'transdermal' | 'transendocardial' | 'transmucosal' | 'transplacental' | 'transtracheal' | 'transtympanic' | 'ureteral' | 'urethral' | 'vaginal', required — See: https://www.fda.gov/industry/structured-product-labeling-resources/route-administration
      - `extra` object — An optional dictionary containing additional information related to the drug or future prescription.
      - `expected_length_of_therapy` string — The expected length of therapy for the prescribed drug. Defaults to 'Until No Longer Needed' if not provided.
      - `prescription_date` string, date-time, required — The date the prescription was issued
  - `provider` Provider, required — Represents a healthcare provider.
    - `address` OptionalAddress, required — Represents a postal address with optional fields. Used for cases where address information may not be complete at creation time.
      - `street` string — Street address of residence.
      - `street_line_2` string — Additional street address information.
      - `city` string — City of residence.
      - `state_province` string — State or province of residence.
      - `zip_postal_code` string — ZIP or postal code part of the address.
      - `country` string — Country of residence.
    - `email` string, email — The provider's email address.
    - `fax` string — The provider's fax number.
    - `first_name` string, required — The provider's first name.
    - `internal_id` string — Your internal ID for this provider. This is used for linking all of the requests for a given provider.
    - `last_name` string, required — The provider's last name.
    - `npi` string, required — The provider's NPI.
    - `phone` string — The provider's phone number.
  - `pharmacy` Pharmacy — Represents a pharmacy. Attributes: name (str): The name of the pharmacy. address (Address): The pharmacy's postal address.
    - `name` string, required — The name of the pharmacy.
    - `address` Address — Represents a postal address.
      - `street` string, required — Street address of residence.
      - `street_line_2` string — Additional street address information.
      - `city` string, required — City of residence.
      - `state_province` string, required — State or province of residence.
      - `zip_postal_code` string, required — ZIP or postal code part of the address.
      - `country` string — Country of residence.
  - `questionnaires` Questionnaire[] — List of questionnaires. This is the best place to send structured Q&A format data, such as intake forms, etc.
    - `questions` Question[], required — A list of questions included in the questionnaire.
      - `answer` string, required — The answer to the question.
      - `choices` string[] — Optional list of choices for the question. If provided, the answer must be one of the choices. It's important to include this list of choices for any multiple choice question. This allows our AI to know what a user has effectively said 'no' to by picking another option. I.e. for a question 'Do you have any of the following conditions: Diabetes, Heart Disease, Cancer, None of the above' if the user answers 'None of the above' we can infer that they don't have any of those conditions. Without the choices list we would have no way of knowing that.
      - `question` string, required — The question to be answered.
    - `date_created` string, date-time, required — The date and time when the questionnaire was answered. This is important for ensuring we have an accurate timeline of the patient's history.
  - `visit_notes` VisitNote[] — List of visit notes.
    - `title` string — The title of the visit note. This is optional and can be used to give the note a meaningful name, such as 'Initial Consultation'.
    - `content` string, required — The content of the visit note.
    - `date_created` string, date-time, required — The date and time (if available) when the visit note was created. This is important for ensuring we have an accurate timeline of the patient's history.
  - `ndp_submission` PriorAuthRequestNDPSubmission — Configuration for processing the prescription associated with this PA request. This field should only be provided when a prescription has been sent to Develop Health's non-dispensing pharmacy.
    - `prescription_message_id` string, required — The Surescripts message ID for the prescription transfer.
    - `ignore_eligibility_check_error` boolean, required — If set to True, error responses from the eligibility check will not terminate the PA request.
    - `submit_pa_with_eligibility_check_government_plan` boolean — If set to True, the PA request will be submitted even if the eligibility check reveals the patient has only government insurance plan(s).
    - `preferred_pharmacy_ncpdp_id` string — The NCPDP ID of the preferred pharmacy where the prescription will be transferred after the PA request has been approved.
    - `preferred_pharmacy_details` string — Free-text pharmacy preference information (e.g. 'CVS Pharmacy, 123 Main St, Portland OR 97201'). At least one of preferred_pharmacy_ncpdp_id or preferred_pharmacy_details must be provided.
  - `resubmission_info` PriorAuthRequestResubmissionInfo — Information provided when resubmitting a prior authorization request.
    - `previous_prior_auth_request_id` string — Identifier of the previous prior authorization request.
    - `note` string — Reason for resubmission or additional instructions for this attempt. Required unless `appeal_details` is provided.
    - `quantity_limit_exception_reason` string — Explanation for requesting an exception to the plan's quantity limit. Required when resubmitting due to a quantity limit denial.
  - `appeal_details` AppealDetails — Details for submitting an appeal of a previously denied prior authorization.
    - `appeal_letter` AppealLetter, required — An appeal letter file to include with the appeal submission.
      - `asset` Asset, required
        - `file_content` string — The file content, encoded in Base64 format. Currently only PDF files are supported. This field cannot be used if `file_url` is provided.
        - `file_url` string, uri — URL pointing to the file. The file will be downloaded immediately. This field cannot be used if `file_content` is provided.
      - `title` string, required — Title of the appeal letter
      - `date_created` string, date-time, required — The date and time when the appeal letter was created.
    - `is_urgent` boolean — Whether this appeal should be treated as urgent.
  - `mock_result` union — Specifies the simulated outcome for a completed prior authorization. This field is only accepted for sandbox organizations. Setting this field will instantly complete the prior authorization request and send a webhook with the value of this field. You will not be charged for these requests and you will not be sent the prior auth for manual review.
    - PriorAuthMockResultApproved — Represents a mock result for a prior authorization request.
      - `result` 'Approved' — The Prior Authorization has been approved.
      - `detail_code` 'prior_auth_not_required' | 'approval' | 'existing_approval' — An enumeration.
      - `prescription_transfer_error_code` 'pharmacy_does_not_exist' | 'pharmacy_permanently_closed' | 'pharmacy_unable_to_accept_transfer' | 'pharmacy_unable_to_fill_prescription' | 'prescription_transfer_not_received' | 'transfer_timed_out' | 'other' — An enumeration.
    - PriorAuthMockResultDenied — Represents a mock result for a prior authorization request.
      - `result` 'Denied' — The Prior Authorization has been denied.
      - `detail_code` 'formulary_alternative_preferred' | 'medical_necessity_criteria_not_met' | 'plan_exclusion' | 'step_therapy_criteria_not_met' | 'existing_denial' | 'coverage_limits_exceeded' | 'prior_weight_loss_program_required' | 'unknown' — An enumeration.
      - `client_code` string — A client-specific outcome code for the denial. This will be returned in the outcome response.
    - PriorAuthMockResultOther — Represents a mock result for a prior authorization request.
      - `result` 'Other' — The Prior Authorization has completed without an approval/denial determination.
      - `detail_code` 'coverage_inactive' | 'coverage_not_yet_started' | 'no_pharmacy_benefits' | 'payer_unable_to_locate_member' | 'npi_taxonomy_ineligible' | 'payer_reported_invalid_patient_info' | 'duplicate_request' | 'prior_auth_not_required' | 'patient_consent_required' | 'more_information_required' | 'other' — Public version of PriorAuthOutcomeOtherDetail. This is used in the API response.
      - `trigger_message` boolean — If True, a message will be added to the prior authorization after creation. This simulates a follow-up message and will trigger the prior authorization message webhook.
    - PriorAuthMockResultNotSubmitted — Represents a mock result where the prior authorization was NOT submitted because the eligibility check either encountered an error or revealed the patient has a government plan.
      - `result` 'Not Submitted' — The prior authorization request will not be submitted. For example, when the eligibility check is enabled and the check returns as error.
      - `detail_code` 'eligibility_check_error' | 'eligibility_check_government_plan' | 'prescription_message_not_found' | 'more_information_required' | 'formulary_alternative_required' | 'benefit_verification_no_medication_coverage' | 'benefit_verification_only_alternative_medication_covered' | 'benefit_verification_pa_not_required' | 'pbm_excluded' | 'payer_not_supported' — An enumeration.
  - `priority` 0 | 1 | 2 | 3 — Represents a priority level. Lower numbers are higher priority. - CRITICAL: 0 - HIGH: 1 - MEDIUM: 2 - LOW: 3
  - `trigger_benefit_verification` TriggerBenefitVerificationConfig
    - `enabled` boolean, required — Whether to trigger a benefit verification when creating this PA.
    - `additional_medications` TriggerBenefitVerificationMedication[] — Additional medications to check coverage for alongside the prescribed medication.
      - `ndc` string, required — The NDC of the additional medication to check coverage for.
      - `quantity` integer, required — The quantity of the medication to check coverage for.
  - `provider_outreach` ProviderOutreachConfig — Configuration for requesting provider outreach for a prior authorization.
    - `enabled` boolean — Whether to request clinical documents from the provider before answering begins.

## Response `200`

Successful creation of a prior authorization

- CreatePriorAuthResponse — Models the response received upon creating a prior authorization request.
  - `status` union
    - 'success'
    - 'error'
  - `error` CreatePriorAuthResponseError
    - `title` string, required — A brief title summarizing the error.
    - `description` string — A detailed message explaining the error. These messages may be unique to the specific prior authorization request.
    - `code` 'unsupported_patient' | 'unsupported_drug' | 'daily_prior_auth_request_limit_reached' | 'daily_prior_auth_request_new_plan_limit_reached' | 'insurance_card_member_id_ocr_failure' | 'insurance_content_invalid_rx_bin' | 'prescription_message_not_found' | 'prescription_message_already_linked' | 'provider_not_authorized' | 'evidence_file_download_failed' | 'invalid_qle_resubmission' | 'previous_pa_request_in_progress' | 'mock_result_not_allowed' | 'invalid_npi' | 'invalid_diagnosis_codes' | 'provider_outreach_not_supported' | 'provider_outreach_fax_required' | 'provider_outreach_mock_result_conflict' | 'other', required — Public version of PriorAuthErrorCode. This is used in the API response.
    - `existing_prior_auth_request_id` string — Identifier of an existing prior authorization request related to this error.
  - `data` CreatePriorAuthResponseData — Represents the data contained in the response for a create prior authorization request.
    - `id` string, required — The unique identifier for the created prior authorization request.
    - `provider_outreach` ProviderOutreachResponse — Initial outcome of provider outreach for a prior authorization.
      - `status` 'sent' | 'failed', required — The initial provider outreach outcome.

## Other responses

- `400` — API error during creation of the prior authorization request
- `409` — Conflict: prescription message already linked to existing prior authorization
- `422` — Validation Error

---

[API](https://skmtc.net/develophealth/apis/develop-health-public-api.md) · [All operations](https://skmtc.net/develophealth/apis/develop-health-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/develophealth/develop-health-public-api/revisions/1684e1dda9be/schema)
