{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/taigabilling-com/main/json-schema/taigabilling-com-post-api-service-lines-v2-request-schema.json",
  "title": "PostApiServiceLinesV2Request",
  "x-generated": "2026-10-24",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_ae-authored/taigabilling-com-openapi-generated.yml#/components/schemas/PostApiServiceLinesV2Request",
  "type": "object",
  "properties": {
    "claim_id": {
      "type": "string"
    },
    "procedure_code": {
      "type": "string"
    },
    "quantity": {
      "type": "string",
      "description": "String representation of a Decimal that can be parsed by most libraries. For professional claims, a ServiceLine quantity cannot contain more than one digit of precision (Example: 1.1 is valid, 1.11 is not). For institutional claims, a ServiceLine quantity cannot contain more than three decimal digits of precision."
    },
    "units": {
      "type": "string",
      "description": "Allowed values: MJ, UN"
    },
    "charge_amount_cents": {
      "type": "integer",
      "description": "The total amount charged for this service line, factoring in quantity. The system will attempt to set it based on the chargemaster configuration and the service line’s quantity."
    },
    "custom_procedure_code": {
      "type": "string",
      "description": "Represents and preserves the custom CPT code received on this service line."
    },
    "date_of_service": {
      "type": "string"
    },
    "denial_reason": {
      "type": "string",
      "description": "The reason a given service line was denied within a given time range."
    },
    "description": {
      "type": "string",
      "description": "A free-form description to clarify the related data elements and their content."
    },
    "diagnosis_id_one": {
      "type": "string"
    },
    "diagnosis_id_three": {
      "type": "string"
    },
    "diagnosis_id_two": {
      "type": "string"
    },
    "diagnosis_id_zero": {
      "type": "string"
    },
    "drug_identification": {
      "type": "string"
    },
    "end_date_of_service": {
      "type": "string"
    },
    "external_id": {
      "type": "string",
      "description": "An external identifier for this service line. Must be unique on a given claim."
    },
    "has_epsdt_indicator": {
      "type": "boolean"
    },
    "has_family_planning_indicator": {
      "type": "boolean"
    },
    "modifiers": {
      "type": "array",
      "description": "Allowed values: AV, AU, AW, AY, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16, 22, 23, 24, 25, 26, 27, 28, 32, 33, 47, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 62, 63, 66, 73, 74, 76, 77, 78, 79, 80, 81, 82, 90, 91, 92, 93, 95, 96, 97, 99, A1, A2, A3, A4, A5, A6, A7, A8, A9, AA, AB, AD, AE, AF, AG, AH, AI, AJ, AK, AM, AO, AP, AQ, AR, AS, AT, AZ, BA, BL, BO, BP, BR, BU, CA, CB, CC, CD, CE, CF, CG, CH, CI, CJ, CK, CL, CM, CN, CR, CS, CT, CO, CQ, DA, E1, E2, E3, E4, EA, EB, EC, ED, EE, EJ, EM, EP, ER, ET, EV, EX, EY, F1, F2, F3, F4, F5, F6, F7, F8, F9, FA, FB, FC, FP, FQ, FR, FS, FT, FX, FY, G0, G1, G2, G3, G4, G5, G6, G7, G8, G9, GA, GB, GC, GE, GF, GG, GH, GJ, GK, GL, GM, GN, GO, GP, GQ, GR, GS, GT, GU, GV, GW, GX, GY, GZ, HA, HB, HC, HD, HE, HF, HG, HH, HI, HJ, HK, HL, HM, HN, HO, HP, HQ, HR, HS, HT, HU, HV, HW, HX, HY, HZ, J1, J2, J3, J4, J5, JA, JB, JC, JD, JE, JG, JW, JZ, K0, K1, K2, K3, K4, KA, KB, KC, KD, KE, KF, KG, KH, KI, KJ, KK, KL, KM, KN, KO, KP, KQ, KR, KS, KT, KU, KV, KW, KX, KY, KZ, LC, LD, LL, LM, LR, LS, LT, LU, M2, MA, MB, MC, MD, ME, MF, MG, MH, MS, N1, N2, N3, NB, NR, NU, P1, P2, P3, P4, P5, P6, PA, PB, PC, PD, PI, PL, PM, PN, PO, PS, PT, Q0, Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, QA, QB, QC, QD, QE, QF, QG, QH, QJ, QK, QL, QM, QN, QP, QQ, QR, QS, QT, QW, QX, QY, QZ, RA, RB, RC, RD, RE, RI, RR, RT, SA, SB, SC, SD, SE, SF, SG, SH, SJ, SL, SM, SN, SQ, SS, ST, SU, SV, SW, SY, T1, T2, T3, T4, T5, T6, T7, T8, T9, TA, TB, TC, TD, TE, TF, TG, TH, TJ, TK, TL, TM, TN, TP, TQ, TR, TS, TT, TU, TV, TW, U1, U2, U3, U4, U5, U6, U7, U8, U9, UA, UB, UC, UD, UE, UF, UG, UH, UJ, UK, UN, UP, UQ, UR, US, V1, V2, V3, W1, W2, W3, WC, WH, X4, XE, XP, XS, XU, XY, ZZ"
    },
    "note": {
      "type": "string"
    },
    "ordering_provider": {
      "type": "string"
    },
    "place_of_service_code": {
      "type": "string",
      "description": "Allowed values: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 31, 32, 33, 34, 41, 42, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 60, 61, 62, 65, 71, 72, 81, 99"
    },
    "prior_authorization_number": {
      "type": "string"
    },
    "test_results": {
      "type": "array"
    }
  },
  "required": [
    "claim_id",
    "procedure_code",
    "quantity",
    "units"
  ]
}