tirdad-sdk 2.1.12__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (613) hide show
  1. tirdad_sdk-2.1.12/MANIFEST.in +3 -0
  2. tirdad_sdk-2.1.12/PKG-INFO +209 -0
  3. tirdad_sdk-2.1.12/README.md +197 -0
  4. tirdad_sdk-2.1.12/examples/.env.sample +3 -0
  5. tirdad_sdk-2.1.12/examples/.gitignore +2 -0
  6. tirdad_sdk-2.1.12/examples/README.md +14 -0
  7. tirdad_sdk-2.1.12/examples/async_event_example.py +51 -0
  8. tirdad_sdk-2.1.12/examples/complete.py +472 -0
  9. tirdad_sdk-2.1.12/examples/example.py +60 -0
  10. tirdad_sdk-2.1.12/examples/requirements.txt +2 -0
  11. tirdad_sdk-2.1.12/pyproject.toml +53 -0
  12. tirdad_sdk-2.1.12/setup.cfg +4 -0
  13. tirdad_sdk-2.1.12/src/acme_sdk/_hooks/registration.py +13 -0
  14. tirdad_sdk-2.1.12/src/flexprice/_hooks/registration.py +13 -0
  15. tirdad_sdk-2.1.12/src/omkar_sdk/_hooks/registration.py +13 -0
  16. tirdad_sdk-2.1.12/src/tirdad_sdk/__init__.py +17 -0
  17. tirdad_sdk-2.1.12/src/tirdad_sdk/_hooks/__init__.py +5 -0
  18. tirdad_sdk-2.1.12/src/tirdad_sdk/_hooks/registration.py +13 -0
  19. tirdad_sdk-2.1.12/src/tirdad_sdk/_hooks/sdkhooks.py +76 -0
  20. tirdad_sdk-2.1.12/src/tirdad_sdk/_hooks/types.py +112 -0
  21. tirdad_sdk-2.1.12/src/tirdad_sdk/_version.py +15 -0
  22. tirdad_sdk-2.1.12/src/tirdad_sdk/addons.py +1305 -0
  23. tirdad_sdk-2.1.12/src/tirdad_sdk/alerts.py +301 -0
  24. tirdad_sdk-2.1.12/src/tirdad_sdk/basesdk.py +396 -0
  25. tirdad_sdk-2.1.12/src/tirdad_sdk/costs.py +1793 -0
  26. tirdad_sdk-2.1.12/src/tirdad_sdk/coupons.py +1164 -0
  27. tirdad_sdk-2.1.12/src/tirdad_sdk/credit_grants.py +1141 -0
  28. tirdad_sdk-2.1.12/src/tirdad_sdk/credit_notes.py +878 -0
  29. tirdad_sdk-2.1.12/src/tirdad_sdk/customers.py +2093 -0
  30. tirdad_sdk-2.1.12/src/tirdad_sdk/entitlements.py +1803 -0
  31. tirdad_sdk-2.1.12/src/tirdad_sdk/environments.py +238 -0
  32. tirdad_sdk-2.1.12/src/tirdad_sdk/events.py +1935 -0
  33. tirdad_sdk-2.1.12/src/tirdad_sdk/features.py +1291 -0
  34. tirdad_sdk-2.1.12/src/tirdad_sdk/groups.py +895 -0
  35. tirdad_sdk-2.1.12/src/tirdad_sdk/httpclient.py +125 -0
  36. tirdad_sdk-2.1.12/src/tirdad_sdk/integrations.py +612 -0
  37. tirdad_sdk-2.1.12/src/tirdad_sdk/invoices.py +3240 -0
  38. tirdad_sdk-2.1.12/src/tirdad_sdk/models/__init__.py +3273 -0
  39. tirdad_sdk-2.1.12/src/tirdad_sdk/models/activatedraftsubscriptionrequest.py +16 -0
  40. tirdad_sdk-2.1.12/src/tirdad_sdk/models/activatesubscriptionop.py +30 -0
  41. tirdad_sdk-2.1.12/src/tirdad_sdk/models/addaddonrequest.py +66 -0
  42. tirdad_sdk-2.1.12/src/tirdad_sdk/models/addaddontosubscriptionrequest.py +63 -0
  43. tirdad_sdk-2.1.12/src/tirdad_sdk/models/addon.py +81 -0
  44. tirdad_sdk-2.1.12/src/tirdad_sdk/models/addonassociationentitytype.py +15 -0
  45. tirdad_sdk-2.1.12/src/tirdad_sdk/models/addonassociationresponse.py +113 -0
  46. tirdad_sdk-2.1.12/src/tirdad_sdk/models/addoncadence.py +10 -0
  47. tirdad_sdk-2.1.12/src/tirdad_sdk/models/addonfilter.py +87 -0
  48. tirdad_sdk-2.1.12/src/tirdad_sdk/models/addonresponse.py +95 -0
  49. tirdad_sdk-2.1.12/src/tirdad_sdk/models/addonstatus.py +15 -0
  50. tirdad_sdk-2.1.12/src/tirdad_sdk/models/address.py +55 -0
  51. tirdad_sdk-2.1.12/src/tirdad_sdk/models/aggregatedentitlement.py +54 -0
  52. tirdad_sdk-2.1.12/src/tirdad_sdk/models/aggregatedfeature.py +40 -0
  53. tirdad_sdk-2.1.12/src/tirdad_sdk/models/aggregationtype.py +20 -0
  54. tirdad_sdk-2.1.12/src/tirdad_sdk/models/alertcondition.py +14 -0
  55. tirdad_sdk-2.1.12/src/tirdad_sdk/models/alertentitytype.py +14 -0
  56. tirdad_sdk-2.1.12/src/tirdad_sdk/models/alertinfo.py +38 -0
  57. tirdad_sdk-2.1.12/src/tirdad_sdk/models/alertlogfilter.py +102 -0
  58. tirdad_sdk-2.1.12/src/tirdad_sdk/models/alertlogresponse.py +117 -0
  59. tirdad_sdk-2.1.12/src/tirdad_sdk/models/alertsettings.py +41 -0
  60. tirdad_sdk-2.1.12/src/tirdad_sdk/models/alertstate.py +16 -0
  61. tirdad_sdk-2.1.12/src/tirdad_sdk/models/alertthreshold.py +35 -0
  62. tirdad_sdk-2.1.12/src/tirdad_sdk/models/alerttype.py +15 -0
  63. tirdad_sdk-2.1.12/src/tirdad_sdk/models/applicationstatus.py +17 -0
  64. tirdad_sdk-2.1.12/src/tirdad_sdk/models/attemptinvoicepaymentop.py +18 -0
  65. tirdad_sdk-2.1.12/src/tirdad_sdk/models/autotopup.py +40 -0
  66. tirdad_sdk-2.1.12/src/tirdad_sdk/models/billingcadence.py +7 -0
  67. tirdad_sdk-2.1.12/src/tirdad_sdk/models/billingcycle.py +14 -0
  68. tirdad_sdk-2.1.12/src/tirdad_sdk/models/billingcycleinfo.py +66 -0
  69. tirdad_sdk-2.1.12/src/tirdad_sdk/models/billingmodel.py +15 -0
  70. tirdad_sdk-2.1.12/src/tirdad_sdk/models/billingperiod.py +19 -0
  71. tirdad_sdk-2.1.12/src/tirdad_sdk/models/billingperiodinfo.py +40 -0
  72. tirdad_sdk-2.1.12/src/tirdad_sdk/models/billingtier.py +14 -0
  73. tirdad_sdk-2.1.12/src/tirdad_sdk/models/bulkingesteventrequest.py +15 -0
  74. tirdad_sdk-2.1.12/src/tirdad_sdk/models/cancelimmediatelyinvoicepolicy.py +10 -0
  75. tirdad_sdk-2.1.12/src/tirdad_sdk/models/cancellationtype.py +15 -0
  76. tirdad_sdk-2.1.12/src/tirdad_sdk/models/cancelschedulerequest.py +46 -0
  77. tirdad_sdk-2.1.12/src/tirdad_sdk/models/cancelscheduleresponse.py +41 -0
  78. tirdad_sdk-2.1.12/src/tirdad_sdk/models/cancelsubscriptionop.py +30 -0
  79. tirdad_sdk-2.1.12/src/tirdad_sdk/models/cancelsubscriptionrequest.py +56 -0
  80. tirdad_sdk-2.1.12/src/tirdad_sdk/models/cancelsubscriptionresponse.py +80 -0
  81. tirdad_sdk-2.1.12/src/tirdad_sdk/models/cancelsubscriptionscheduleop.py +48 -0
  82. tirdad_sdk-2.1.12/src/tirdad_sdk/models/changedinvoice.py +56 -0
  83. tirdad_sdk-2.1.12/src/tirdad_sdk/models/changedinvoiceaction.py +15 -0
  84. tirdad_sdk-2.1.12/src/tirdad_sdk/models/changedinvoicestatus.py +15 -0
  85. tirdad_sdk-2.1.12/src/tirdad_sdk/models/changedlineitem.py +52 -0
  86. tirdad_sdk-2.1.12/src/tirdad_sdk/models/changedlineitemaction.py +16 -0
  87. tirdad_sdk-2.1.12/src/tirdad_sdk/models/changedresources.py +40 -0
  88. tirdad_sdk-2.1.12/src/tirdad_sdk/models/changedsubscription.py +50 -0
  89. tirdad_sdk-2.1.12/src/tirdad_sdk/models/changedsubscriptionaction.py +15 -0
  90. tirdad_sdk-2.1.12/src/tirdad_sdk/models/cloneenvironmentop.py +30 -0
  91. tirdad_sdk-2.1.12/src/tirdad_sdk/models/cloneenvironmentrequest.py +46 -0
  92. tirdad_sdk-2.1.12/src/tirdad_sdk/models/clonefeatureop.py +27 -0
  93. tirdad_sdk-2.1.12/src/tirdad_sdk/models/clonefeaturerequest.py +46 -0
  94. tirdad_sdk-2.1.12/src/tirdad_sdk/models/cloneplanop.py +27 -0
  95. tirdad_sdk-2.1.12/src/tirdad_sdk/models/cloneplanrequest.py +53 -0
  96. tirdad_sdk-2.1.12/src/tirdad_sdk/models/collectionmethod.py +10 -0
  97. tirdad_sdk-2.1.12/src/tirdad_sdk/models/commitmentinfo.py +77 -0
  98. tirdad_sdk-2.1.12/src/tirdad_sdk/models/commitmenttype.py +14 -0
  99. tirdad_sdk-2.1.12/src/tirdad_sdk/models/costanalyticitem.py +100 -0
  100. tirdad_sdk-2.1.12/src/tirdad_sdk/models/costpoint.py +40 -0
  101. tirdad_sdk-2.1.12/src/tirdad_sdk/models/costsheet_filter.py +105 -0
  102. tirdad_sdk-2.1.12/src/tirdad_sdk/models/costsheetresponse.py +88 -0
  103. tirdad_sdk-2.1.12/src/tirdad_sdk/models/coupon.py +119 -0
  104. tirdad_sdk-2.1.12/src/tirdad_sdk/models/couponapplicationresponse.py +122 -0
  105. tirdad_sdk-2.1.12/src/tirdad_sdk/models/couponassociationresponse.py +106 -0
  106. tirdad_sdk-2.1.12/src/tirdad_sdk/models/couponcadence.py +15 -0
  107. tirdad_sdk-2.1.12/src/tirdad_sdk/models/couponfilter.py +72 -0
  108. tirdad_sdk-2.1.12/src/tirdad_sdk/models/couponresponse.py +119 -0
  109. tirdad_sdk-2.1.12/src/tirdad_sdk/models/coupontype.py +14 -0
  110. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createaddonrequest.py +40 -0
  111. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createaddonresponse.py +93 -0
  112. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createapikeyrequest.py +42 -0
  113. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createapikeyresponse.py +35 -0
  114. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createbulkentitlementrequest.py +18 -0
  115. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createbulkentitlementresponse.py +32 -0
  116. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createbulkpricerequest.py +15 -0
  117. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createbulkpriceresponse.py +32 -0
  118. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createcostsheetrequest.py +40 -0
  119. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createcostsheetresponse.py +32 -0
  120. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createcouponrequest.py +78 -0
  121. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createcreditgrantrequest.py +121 -0
  122. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createcreditnotelineitemrequest.py +46 -0
  123. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createcreditnoterequest.py +78 -0
  124. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createcustomerrequest.py +127 -0
  125. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createentitlementrequest.py +85 -0
  126. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createentityintegrationmappingrequest.py +44 -0
  127. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createfeaturerequest.py +83 -0
  128. tirdad_sdk-2.1.12/src/tirdad_sdk/models/creategrouprequest.py +19 -0
  129. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createinvoicelineitemrequest.py +173 -0
  130. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createinvoicerequest.py +207 -0
  131. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createmeterrequest.py +46 -0
  132. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createpaymentrequest.py +81 -0
  133. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createplanrequest.py +45 -0
  134. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createpricerequest.py +141 -0
  135. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createpricetier.py +55 -0
  136. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createpriceunitrequest.py +72 -0
  137. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createpriceunitresponse.py +89 -0
  138. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createscheduledtaskrequest.py +46 -0
  139. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createsubscriptionlineitemop.py +30 -0
  140. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createsubscriptionlineitemrequest.py +107 -0
  141. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createsubscriptionrequest.py +281 -0
  142. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createtaskrequest.py +49 -0
  143. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createtaxassociationrequest.py +63 -0
  144. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createtaxraterequest.py +75 -0
  145. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createuserrequest.py +42 -0
  146. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createuserresponse.py +55 -0
  147. tirdad_sdk-2.1.12/src/tirdad_sdk/models/createwalletrequest.py +143 -0
  148. tirdad_sdk-2.1.12/src/tirdad_sdk/models/creditbreakdown.py +34 -0
  149. tirdad_sdk-2.1.12/src/tirdad_sdk/models/creditgrantapplicationreason.py +15 -0
  150. tirdad_sdk-2.1.12/src/tirdad_sdk/models/creditgrantapplicationresponse.py +124 -0
  151. tirdad_sdk-2.1.12/src/tirdad_sdk/models/creditgrantcadence.py +14 -0
  152. tirdad_sdk-2.1.12/src/tirdad_sdk/models/creditgrantexpirydurationunit.py +16 -0
  153. tirdad_sdk-2.1.12/src/tirdad_sdk/models/creditgrantexpirytype.py +15 -0
  154. tirdad_sdk-2.1.12/src/tirdad_sdk/models/creditgrantperiod.py +18 -0
  155. tirdad_sdk-2.1.12/src/tirdad_sdk/models/creditgrantresponse.py +162 -0
  156. tirdad_sdk-2.1.12/src/tirdad_sdk/models/creditgrantscope.py +14 -0
  157. tirdad_sdk-2.1.12/src/tirdad_sdk/models/creditnote_creditnotelineitem.py +89 -0
  158. tirdad_sdk-2.1.12/src/tirdad_sdk/models/creditnotereason.py +19 -0
  159. tirdad_sdk-2.1.12/src/tirdad_sdk/models/creditnoteresponse.py +178 -0
  160. tirdad_sdk-2.1.12/src/tirdad_sdk/models/creditnotestatus.py +15 -0
  161. tirdad_sdk-2.1.12/src/tirdad_sdk/models/creditnotetype.py +14 -0
  162. tirdad_sdk-2.1.12/src/tirdad_sdk/models/customanalyticitem.py +49 -0
  163. tirdad_sdk-2.1.12/src/tirdad_sdk/models/customer.py +129 -0
  164. tirdad_sdk-2.1.12/src/tirdad_sdk/models/customerentitlementsresponse.py +35 -0
  165. tirdad_sdk-2.1.12/src/tirdad_sdk/models/customerfilter.py +97 -0
  166. tirdad_sdk-2.1.12/src/tirdad_sdk/models/customerinvoicesummary.py +91 -0
  167. tirdad_sdk-2.1.12/src/tirdad_sdk/models/customerlookupresult.py +40 -0
  168. tirdad_sdk-2.1.12/src/tirdad_sdk/models/customermulticurrencyinvoicesummary.py +47 -0
  169. tirdad_sdk-2.1.12/src/tirdad_sdk/models/customerresponse.py +141 -0
  170. tirdad_sdk-2.1.12/src/tirdad_sdk/models/customerusagesummaryresponse.py +43 -0
  171. tirdad_sdk-2.1.12/src/tirdad_sdk/models/datatype.py +12 -0
  172. tirdad_sdk-2.1.12/src/tirdad_sdk/models/debugtracker.py +61 -0
  173. tirdad_sdk-2.1.12/src/tirdad_sdk/models/debugtrackerstatus.py +16 -0
  174. tirdad_sdk-2.1.12/src/tirdad_sdk/models/deleteaddonop.py +18 -0
  175. tirdad_sdk-2.1.12/src/tirdad_sdk/models/deleteapikeyop.py +18 -0
  176. tirdad_sdk-2.1.12/src/tirdad_sdk/models/deletecostsheetop.py +18 -0
  177. tirdad_sdk-2.1.12/src/tirdad_sdk/models/deletecostsheetresponse.py +34 -0
  178. tirdad_sdk-2.1.12/src/tirdad_sdk/models/deletecouponop.py +18 -0
  179. tirdad_sdk-2.1.12/src/tirdad_sdk/models/deletecreditgrantop.py +48 -0
  180. tirdad_sdk-2.1.12/src/tirdad_sdk/models/deletecreditgrantrequest.py +34 -0
  181. tirdad_sdk-2.1.12/src/tirdad_sdk/models/deletecustomerop.py +18 -0
  182. tirdad_sdk-2.1.12/src/tirdad_sdk/models/deleteentitlementop.py +18 -0
  183. tirdad_sdk-2.1.12/src/tirdad_sdk/models/deletefeatureop.py +18 -0
  184. tirdad_sdk-2.1.12/src/tirdad_sdk/models/deletegroupop.py +18 -0
  185. tirdad_sdk-2.1.12/src/tirdad_sdk/models/deletepaymentop.py +18 -0
  186. tirdad_sdk-2.1.12/src/tirdad_sdk/models/deleteplanop.py +18 -0
  187. tirdad_sdk-2.1.12/src/tirdad_sdk/models/deletepriceop.py +27 -0
  188. tirdad_sdk-2.1.12/src/tirdad_sdk/models/deletepricerequest.py +32 -0
  189. tirdad_sdk-2.1.12/src/tirdad_sdk/models/deletepriceunitop.py +18 -0
  190. tirdad_sdk-2.1.12/src/tirdad_sdk/models/deletescheduledtaskop.py +18 -0
  191. tirdad_sdk-2.1.12/src/tirdad_sdk/models/deletesubscriptionlineitemop.py +30 -0
  192. tirdad_sdk-2.1.12/src/tirdad_sdk/models/deletesubscriptionlineitemrequest.py +35 -0
  193. tirdad_sdk-2.1.12/src/tirdad_sdk/models/deletetaxassociationop.py +18 -0
  194. tirdad_sdk-2.1.12/src/tirdad_sdk/models/deletetaxrateop.py +18 -0
  195. tirdad_sdk-2.1.12/src/tirdad_sdk/models/downloadtaskexportop.py +18 -0
  196. tirdad_sdk-2.1.12/src/tirdad_sdk/models/entitlemententitytype.py +15 -0
  197. tirdad_sdk-2.1.12/src/tirdad_sdk/models/entitlementfilter.py +105 -0
  198. tirdad_sdk-2.1.12/src/tirdad_sdk/models/entitlementresponse.py +143 -0
  199. tirdad_sdk-2.1.12/src/tirdad_sdk/models/entitlementsource.py +73 -0
  200. tirdad_sdk-2.1.12/src/tirdad_sdk/models/entitlementsourceentitytype.py +15 -0
  201. tirdad_sdk-2.1.12/src/tirdad_sdk/models/entitlementusageresetperiod.py +19 -0
  202. tirdad_sdk-2.1.12/src/tirdad_sdk/models/entityintegrationmappingresponse.py +86 -0
  203. tirdad_sdk-2.1.12/src/tirdad_sdk/models/entitysyncconfig.py +38 -0
  204. tirdad_sdk-2.1.12/src/tirdad_sdk/models/entitytype.py +16 -0
  205. tirdad_sdk-2.1.12/src/tirdad_sdk/models/environmenttype.py +10 -0
  206. tirdad_sdk-2.1.12/src/tirdad_sdk/models/errorcode.py +24 -0
  207. tirdad_sdk-2.1.12/src/tirdad_sdk/models/errorresponse.py +38 -0
  208. tirdad_sdk-2.1.12/src/tirdad_sdk/models/errors/__init__.py +39 -0
  209. tirdad_sdk-2.1.12/src/tirdad_sdk/models/errors/errorresponse.py +31 -0
  210. tirdad_sdk-2.1.12/src/tirdad_sdk/models/errors/no_response_error.py +17 -0
  211. tirdad_sdk-2.1.12/src/tirdad_sdk/models/errors/responsevalidationerror.py +27 -0
  212. tirdad_sdk-2.1.12/src/tirdad_sdk/models/errors/tirdaddefaulterror.py +40 -0
  213. tirdad_sdk-2.1.12/src/tirdad_sdk/models/errors/tirdaderror.py +30 -0
  214. tirdad_sdk-2.1.12/src/tirdad_sdk/models/event.py +63 -0
  215. tirdad_sdk-2.1.12/src/tirdad_sdk/models/eventcostinfo.py +41 -0
  216. tirdad_sdk-2.1.12/src/tirdad_sdk/models/eventprocessingstatustype.py +15 -0
  217. tirdad_sdk-2.1.12/src/tirdad_sdk/models/executesubscriptionchangeop.py +30 -0
  218. tirdad_sdk-2.1.12/src/tirdad_sdk/models/executesubscriptionmodifyop.py +30 -0
  219. tirdad_sdk-2.1.12/src/tirdad_sdk/models/executesubscriptionmodifyrequest.py +67 -0
  220. tirdad_sdk-2.1.12/src/tirdad_sdk/models/exportmetadataentitytype.py +14 -0
  221. tirdad_sdk-2.1.12/src/tirdad_sdk/models/exportmetadatafield.py +42 -0
  222. tirdad_sdk-2.1.12/src/tirdad_sdk/models/failurepoint.py +36 -0
  223. tirdad_sdk-2.1.12/src/tirdad_sdk/models/failurepointtype.py +16 -0
  224. tirdad_sdk-2.1.12/src/tirdad_sdk/models/feature.py +117 -0
  225. tirdad_sdk-2.1.12/src/tirdad_sdk/models/featurefilter.py +101 -0
  226. tirdad_sdk-2.1.12/src/tirdad_sdk/models/featureresponse.py +122 -0
  227. tirdad_sdk-2.1.12/src/tirdad_sdk/models/featuretype.py +15 -0
  228. tirdad_sdk-2.1.12/src/tirdad_sdk/models/featureusageinfo.py +64 -0
  229. tirdad_sdk-2.1.12/src/tirdad_sdk/models/featureusagesummary.py +70 -0
  230. tirdad_sdk-2.1.12/src/tirdad_sdk/models/filetype.py +14 -0
  231. tirdad_sdk-2.1.12/src/tirdad_sdk/models/filtercondition.py +43 -0
  232. tirdad_sdk-2.1.12/src/tirdad_sdk/models/filteroperatortype.py +17 -0
  233. tirdad_sdk-2.1.12/src/tirdad_sdk/models/finalizeinvoiceop.py +18 -0
  234. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getaddonbylookupkeyop.py +18 -0
  235. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getaddonentitlementsop.py +18 -0
  236. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getaddonop.py +18 -0
  237. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getcostanalyticsrequest.py +70 -0
  238. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getcostsheetop.py +44 -0
  239. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getcostsheetresponse.py +32 -0
  240. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getcouponop.py +18 -0
  241. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getcreditgrantop.py +18 -0
  242. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getcreditnoteop.py +18 -0
  243. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getcustomerbyexternalidop.py +18 -0
  244. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getcustomerentitlementsop.py +18 -0
  245. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getcustomerinvoicesummaryop.py +18 -0
  246. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getcustomerop.py +18 -0
  247. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getcustomerupcominggrantsop.py +18 -0
  248. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getcustomerusagesummaryop.py +67 -0
  249. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getcustomerwalletsop.py +78 -0
  250. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getdetailedcostanalyticsresponse.py +85 -0
  251. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getentitlementop.py +18 -0
  252. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getentityintegrationmappingsop.py +25 -0
  253. tirdad_sdk-2.1.12/src/tirdad_sdk/models/geteventbyidresponse.py +44 -0
  254. tirdad_sdk-2.1.12/src/tirdad_sdk/models/geteventop.py +18 -0
  255. tirdad_sdk-2.1.12/src/tirdad_sdk/models/geteventsrequest.py +118 -0
  256. tirdad_sdk-2.1.12/src/tirdad_sdk/models/geteventsresponse.py +56 -0
  257. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getgroupop.py +18 -0
  258. tirdad_sdk-2.1.12/src/tirdad_sdk/models/gethuggingfacebillingdataresponse.py +32 -0
  259. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getinvoiceop.py +52 -0
  260. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getinvoicepdfop.py +52 -0
  261. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getpaymentop.py +18 -0
  262. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getpendingschedulesresponse.py +46 -0
  263. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getplancreditgrantsop.py +18 -0
  264. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getplanentitlementsop.py +18 -0
  265. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getplanop.py +18 -0
  266. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getpreviewinvoicerequest.py +51 -0
  267. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getpricebylookupkeyop.py +18 -0
  268. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getpriceop.py +18 -0
  269. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getpriceunitbycodeop.py +18 -0
  270. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getpriceunitop.py +18 -0
  271. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getrbacroleop.py +18 -0
  272. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getscheduledtaskop.py +18 -0
  273. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getsubscriptionaddonassociationsop.py +18 -0
  274. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getsubscriptionentitlementsop.py +44 -0
  275. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getsubscriptionop.py +18 -0
  276. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getsubscriptionscheduleop.py +18 -0
  277. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getsubscriptionupcominggrantsop.py +18 -0
  278. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getsubscriptionv2op.py +44 -0
  279. tirdad_sdk-2.1.12/src/tirdad_sdk/models/gettaskop.py +18 -0
  280. tirdad_sdk-2.1.12/src/tirdad_sdk/models/gettaskresultop.py +18 -0
  281. tirdad_sdk-2.1.12/src/tirdad_sdk/models/gettaxassociationop.py +18 -0
  282. tirdad_sdk-2.1.12/src/tirdad_sdk/models/gettaxrateop.py +18 -0
  283. tirdad_sdk-2.1.12/src/tirdad_sdk/models/gettaxratesop.py +122 -0
  284. tirdad_sdk-2.1.12/src/tirdad_sdk/models/gettenantbyidop.py +18 -0
  285. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getusageanalyticsrequest.py +91 -0
  286. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getusageanalyticsresponse.py +42 -0
  287. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getusagebymeterrequest.py +102 -0
  288. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getusagebysubscriptionrequest.py +41 -0
  289. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getusagebysubscriptionresponse.py +86 -0
  290. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getusagerequest.py +126 -0
  291. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getusageresponse.py +42 -0
  292. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getwalletbalanceop.py +44 -0
  293. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getwalletop.py +18 -0
  294. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getwalletsbycustomeridop.py +18 -0
  295. tirdad_sdk-2.1.12/src/tirdad_sdk/models/getwallettransactionsop.py +210 -0
  296. tirdad_sdk-2.1.12/src/tirdad_sdk/models/group_group.py +82 -0
  297. tirdad_sdk-2.1.12/src/tirdad_sdk/models/groupedinvoicingaction.py +10 -0
  298. tirdad_sdk-2.1.12/src/tirdad_sdk/models/groupentitytype.py +14 -0
  299. tirdad_sdk-2.1.12/src/tirdad_sdk/models/groupfilter.py +97 -0
  300. tirdad_sdk-2.1.12/src/tirdad_sdk/models/groupresponse.py +68 -0
  301. tirdad_sdk-2.1.12/src/tirdad_sdk/models/ingesteventrequest.py +55 -0
  302. tirdad_sdk-2.1.12/src/tirdad_sdk/models/integrationconfigentry.py +39 -0
  303. tirdad_sdk-2.1.12/src/tirdad_sdk/models/integrationconfigresponse.py +35 -0
  304. tirdad_sdk-2.1.12/src/tirdad_sdk/models/integrationentitytype.py +22 -0
  305. tirdad_sdk-2.1.12/src/tirdad_sdk/models/invoicebillingreason.py +17 -0
  306. tirdad_sdk-2.1.12/src/tirdad_sdk/models/invoicecadence.py +14 -0
  307. tirdad_sdk-2.1.12/src/tirdad_sdk/models/invoicecoupon.py +34 -0
  308. tirdad_sdk-2.1.12/src/tirdad_sdk/models/invoicefilter.py +215 -0
  309. tirdad_sdk-2.1.12/src/tirdad_sdk/models/invoicelineitemcoupon.py +39 -0
  310. tirdad_sdk-2.1.12/src/tirdad_sdk/models/invoicelineitempreview.py +74 -0
  311. tirdad_sdk-2.1.12/src/tirdad_sdk/models/invoicelineitemresponse.py +198 -0
  312. tirdad_sdk-2.1.12/src/tirdad_sdk/models/invoicepreview.py +65 -0
  313. tirdad_sdk-2.1.12/src/tirdad_sdk/models/invoiceresponse.py +340 -0
  314. tirdad_sdk-2.1.12/src/tirdad_sdk/models/invoicestatus.py +16 -0
  315. tirdad_sdk-2.1.12/src/tirdad_sdk/models/invoicesyncsettings.py +32 -0
  316. tirdad_sdk-2.1.12/src/tirdad_sdk/models/invoicetype.py +15 -0
  317. tirdad_sdk-2.1.12/src/tirdad_sdk/models/lineitemcommitmentconfig.py +71 -0
  318. tirdad_sdk-2.1.12/src/tirdad_sdk/models/lineitemquantitychange.py +44 -0
  319. tirdad_sdk-2.1.12/src/tirdad_sdk/models/linkintegrationmappingrequest.py +44 -0
  320. tirdad_sdk-2.1.12/src/tirdad_sdk/models/linkintegrationmappingresponse.py +35 -0
  321. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listaddonsresponse.py +36 -0
  322. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listalertlogsresponse.py +36 -0
  323. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listallsubscriptionschedulesop.py +61 -0
  324. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listapikeysop.py +53 -0
  325. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listcostsheetresponse.py +36 -0
  326. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listcouponsresponse.py +36 -0
  327. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listcreditgrantapplicationsresponse.py +39 -0
  328. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listcreditgrantsresponse.py +36 -0
  329. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listcustomersresponse.py +40 -0
  330. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listentitlementsresponse.py +36 -0
  331. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listentityintegrationmappingsresponse.py +39 -0
  332. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listfeaturesresponse.py +36 -0
  333. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listgroupsresponse.py +36 -0
  334. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listinvoicesresponse.py +36 -0
  335. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listpaymentsop.py +166 -0
  336. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listpaymentsresponse.py +36 -0
  337. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listplansresponse.py +36 -0
  338. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listpricesresponse.py +36 -0
  339. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listpriceunitsop.py +76 -0
  340. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listpriceunitsresponse.py +36 -0
  341. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listresponse_dto_walletresponse.py +36 -0
  342. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listscheduledtasksop.py +79 -0
  343. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listscheduledtasksresponse.py +36 -0
  344. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listsecretsresponse.py +36 -0
  345. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listsubscriptionlineitemsresponse.py +39 -0
  346. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listsubscriptionschedulesop.py +18 -0
  347. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listsubscriptionsresponse.py +36 -0
  348. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listtasksop.py +158 -0
  349. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listtasksresponse.py +36 -0
  350. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listtaxassociationsop.py +63 -0
  351. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listtaxassociationsresponse.py +39 -0
  352. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listusersresponse.py +36 -0
  353. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listwallettransactionsresponse.py +39 -0
  354. tirdad_sdk-2.1.12/src/tirdad_sdk/models/listworkflowsresponse.py +36 -0
  355. tirdad_sdk-2.1.12/src/tirdad_sdk/models/matchedmeter.py +38 -0
  356. tirdad_sdk-2.1.12/src/tirdad_sdk/models/matchedprice.py +41 -0
  357. tirdad_sdk-2.1.12/src/tirdad_sdk/models/matchedsubscriptionlineitem.py +68 -0
  358. tirdad_sdk-2.1.12/src/tirdad_sdk/models/meter_aggregation.py +82 -0
  359. tirdad_sdk-2.1.12/src/tirdad_sdk/models/meter_filter.py +46 -0
  360. tirdad_sdk-2.1.12/src/tirdad_sdk/models/meter_meter.py +108 -0
  361. tirdad_sdk-2.1.12/src/tirdad_sdk/models/metermatchingresult.py +40 -0
  362. tirdad_sdk-2.1.12/src/tirdad_sdk/models/meterresponse.py +75 -0
  363. tirdad_sdk-2.1.12/src/tirdad_sdk/models/models_temporalworkflowresult.py +37 -0
  364. tirdad_sdk-2.1.12/src/tirdad_sdk/models/overrideentitlementrequest.py +52 -0
  365. tirdad_sdk-2.1.12/src/tirdad_sdk/models/overridelineitemrequest.py +85 -0
  366. tirdad_sdk-2.1.12/src/tirdad_sdk/models/paginationresponse.py +37 -0
  367. tirdad_sdk-2.1.12/src/tirdad_sdk/models/pausemode.py +15 -0
  368. tirdad_sdk-2.1.12/src/tirdad_sdk/models/pausestatus.py +17 -0
  369. tirdad_sdk-2.1.12/src/tirdad_sdk/models/paymentattemptresponse.py +72 -0
  370. tirdad_sdk-2.1.12/src/tirdad_sdk/models/paymentbehavior.py +12 -0
  371. tirdad_sdk-2.1.12/src/tirdad_sdk/models/paymentdestinationtype.py +7 -0
  372. tirdad_sdk-2.1.12/src/tirdad_sdk/models/paymentgatewaytype.py +14 -0
  373. tirdad_sdk-2.1.12/src/tirdad_sdk/models/paymentmethodtype.py +17 -0
  374. tirdad_sdk-2.1.12/src/tirdad_sdk/models/paymentresponse.py +151 -0
  375. tirdad_sdk-2.1.12/src/tirdad_sdk/models/paymentstatus.py +20 -0
  376. tirdad_sdk-2.1.12/src/tirdad_sdk/models/paymentterms.py +18 -0
  377. tirdad_sdk-2.1.12/src/tirdad_sdk/models/plan.py +85 -0
  378. tirdad_sdk-2.1.12/src/tirdad_sdk/models/planfilter.py +91 -0
  379. tirdad_sdk-2.1.12/src/tirdad_sdk/models/planresponse.py +104 -0
  380. tirdad_sdk-2.1.12/src/tirdad_sdk/models/plansummary.py +48 -0
  381. tirdad_sdk-2.1.12/src/tirdad_sdk/models/previewsubscriptionchangeop.py +30 -0
  382. tirdad_sdk-2.1.12/src/tirdad_sdk/models/previewsubscriptionmodifyop.py +30 -0
  383. tirdad_sdk-2.1.12/src/tirdad_sdk/models/price_jsonbtransformquantity.py +37 -0
  384. tirdad_sdk-2.1.12/src/tirdad_sdk/models/price_price.py +293 -0
  385. tirdad_sdk-2.1.12/src/tirdad_sdk/models/price_pricetier.py +55 -0
  386. tirdad_sdk-2.1.12/src/tirdad_sdk/models/price_transformquantity.py +37 -0
  387. tirdad_sdk-2.1.12/src/tirdad_sdk/models/priceentitytype.py +17 -0
  388. tirdad_sdk-2.1.12/src/tirdad_sdk/models/pricefilter.py +117 -0
  389. tirdad_sdk-2.1.12/src/tirdad_sdk/models/pricelookupresult.py +40 -0
  390. tirdad_sdk-2.1.12/src/tirdad_sdk/models/priceresponse.py +320 -0
  391. tirdad_sdk-2.1.12/src/tirdad_sdk/models/pricetype.py +14 -0
  392. tirdad_sdk-2.1.12/src/tirdad_sdk/models/priceunitconfig.py +38 -0
  393. tirdad_sdk-2.1.12/src/tirdad_sdk/models/priceunitfilter.py +83 -0
  394. tirdad_sdk-2.1.12/src/tirdad_sdk/models/priceunitresponse.py +89 -0
  395. tirdad_sdk-2.1.12/src/tirdad_sdk/models/priceunittype.py +14 -0
  396. tirdad_sdk-2.1.12/src/tirdad_sdk/models/processcreditnoteop.py +18 -0
  397. tirdad_sdk-2.1.12/src/tirdad_sdk/models/processpaymentop.py +18 -0
  398. tirdad_sdk-2.1.12/src/tirdad_sdk/models/prorationbehavior.py +14 -0
  399. tirdad_sdk-2.1.12/src/tirdad_sdk/models/prorationdetail.py +63 -0
  400. tirdad_sdk-2.1.12/src/tirdad_sdk/models/prorationdetails.py +98 -0
  401. tirdad_sdk-2.1.12/src/tirdad_sdk/models/queryfilter.py +53 -0
  402. tirdad_sdk-2.1.12/src/tirdad_sdk/models/recalculateinvoiceop.py +18 -0
  403. tirdad_sdk-2.1.12/src/tirdad_sdk/models/recalculateinvoicev2op.py +44 -0
  404. tirdad_sdk-2.1.12/src/tirdad_sdk/models/removeaddonrequest.py +52 -0
  405. tirdad_sdk-2.1.12/src/tirdad_sdk/models/reportingunit.py +43 -0
  406. tirdad_sdk-2.1.12/src/tirdad_sdk/models/resetusage.py +14 -0
  407. tirdad_sdk-2.1.12/src/tirdad_sdk/models/resumemode.py +15 -0
  408. tirdad_sdk-2.1.12/src/tirdad_sdk/models/roundtype.py +14 -0
  409. tirdad_sdk-2.1.12/src/tirdad_sdk/models/s3compressiontype.py +14 -0
  410. tirdad_sdk-2.1.12/src/tirdad_sdk/models/s3encryptiontype.py +15 -0
  411. tirdad_sdk-2.1.12/src/tirdad_sdk/models/s3exportconfig.py +65 -0
  412. tirdad_sdk-2.1.12/src/tirdad_sdk/models/s3jobconfig.py +78 -0
  413. tirdad_sdk-2.1.12/src/tirdad_sdk/models/scheduledraftfinalizationop.py +13 -0
  414. tirdad_sdk-2.1.12/src/tirdad_sdk/models/scheduledtaskentitytype.py +17 -0
  415. tirdad_sdk-2.1.12/src/tirdad_sdk/models/scheduledtaskinterval.py +17 -0
  416. tirdad_sdk-2.1.12/src/tirdad_sdk/models/scheduledtaskresponse.py +79 -0
  417. tirdad_sdk-2.1.12/src/tirdad_sdk/models/schedulestatus.py +17 -0
  418. tirdad_sdk-2.1.12/src/tirdad_sdk/models/scheduletype.py +10 -0
  419. tirdad_sdk-2.1.12/src/tirdad_sdk/models/scheduleupdatebillingperiodop.py +21 -0
  420. tirdad_sdk-2.1.12/src/tirdad_sdk/models/secretprovider.py +24 -0
  421. tirdad_sdk-2.1.12/src/tirdad_sdk/models/secretresponse.py +86 -0
  422. tirdad_sdk-2.1.12/src/tirdad_sdk/models/secrettype.py +15 -0
  423. tirdad_sdk-2.1.12/src/tirdad_sdk/models/security.py +24 -0
  424. tirdad_sdk-2.1.12/src/tirdad_sdk/models/sortcondition.py +35 -0
  425. tirdad_sdk-2.1.12/src/tirdad_sdk/models/sortdirection.py +10 -0
  426. tirdad_sdk-2.1.12/src/tirdad_sdk/models/sourceusageitem.py +53 -0
  427. tirdad_sdk-2.1.12/src/tirdad_sdk/models/status.py +15 -0
  428. tirdad_sdk-2.1.12/src/tirdad_sdk/models/submodifygroupedinvoicingparams.py +40 -0
  429. tirdad_sdk-2.1.12/src/tirdad_sdk/models/submodifyinheritancerequest.py +31 -0
  430. tirdad_sdk-2.1.12/src/tirdad_sdk/models/submodifyquantitychangerequest.py +18 -0
  431. tirdad_sdk-2.1.12/src/tirdad_sdk/models/submodifytrialendrequest.py +38 -0
  432. tirdad_sdk-2.1.12/src/tirdad_sdk/models/subscription_subscriptionlineitem.py +195 -0
  433. tirdad_sdk-2.1.12/src/tirdad_sdk/models/subscription_subscriptionpause.py +130 -0
  434. tirdad_sdk-2.1.12/src/tirdad_sdk/models/subscriptionchangeexecuteresponse.py +97 -0
  435. tirdad_sdk-2.1.12/src/tirdad_sdk/models/subscriptionchangepreviewresponse.py +89 -0
  436. tirdad_sdk-2.1.12/src/tirdad_sdk/models/subscriptionchangerequest.py +67 -0
  437. tirdad_sdk-2.1.12/src/tirdad_sdk/models/subscriptionchangetype.py +15 -0
  438. tirdad_sdk-2.1.12/src/tirdad_sdk/models/subscriptionentitlementsresponse.py +38 -0
  439. tirdad_sdk-2.1.12/src/tirdad_sdk/models/subscriptionfilter.py +179 -0
  440. tirdad_sdk-2.1.12/src/tirdad_sdk/models/subscriptioninheritanceconfig.py +71 -0
  441. tirdad_sdk-2.1.12/src/tirdad_sdk/models/subscriptionlineitementitytype.py +15 -0
  442. tirdad_sdk-2.1.12/src/tirdad_sdk/models/subscriptionlineitemfilter.py +124 -0
  443. tirdad_sdk-2.1.12/src/tirdad_sdk/models/subscriptionlineitemlookupresult.py +43 -0
  444. tirdad_sdk-2.1.12/src/tirdad_sdk/models/subscriptionlineitemresponse.py +195 -0
  445. tirdad_sdk-2.1.12/src/tirdad_sdk/models/subscriptionmodifyresponse.py +36 -0
  446. tirdad_sdk-2.1.12/src/tirdad_sdk/models/subscriptionmodifytype.py +12 -0
  447. tirdad_sdk-2.1.12/src/tirdad_sdk/models/subscriptionphasecreaterequest.py +83 -0
  448. tirdad_sdk-2.1.12/src/tirdad_sdk/models/subscriptionphaseresponse.py +91 -0
  449. tirdad_sdk-2.1.12/src/tirdad_sdk/models/subscriptionpricecreaterequest.py +123 -0
  450. tirdad_sdk-2.1.12/src/tirdad_sdk/models/subscriptionresponse.py +377 -0
  451. tirdad_sdk-2.1.12/src/tirdad_sdk/models/subscriptionresponsev2.py +390 -0
  452. tirdad_sdk-2.1.12/src/tirdad_sdk/models/subscriptionschedulechangetype.py +14 -0
  453. tirdad_sdk-2.1.12/src/tirdad_sdk/models/subscriptionscheduleresponse.py +140 -0
  454. tirdad_sdk-2.1.12/src/tirdad_sdk/models/subscriptionstatus.py +18 -0
  455. tirdad_sdk-2.1.12/src/tirdad_sdk/models/subscriptionsummary.py +79 -0
  456. tirdad_sdk-2.1.12/src/tirdad_sdk/models/subscriptiontype.py +17 -0
  457. tirdad_sdk-2.1.12/src/tirdad_sdk/models/subscriptionusagebymetersresponse.py +82 -0
  458. tirdad_sdk-2.1.12/src/tirdad_sdk/models/successresponse.py +31 -0
  459. tirdad_sdk-2.1.12/src/tirdad_sdk/models/syncconfig.py +70 -0
  460. tirdad_sdk-2.1.12/src/tirdad_sdk/models/syncplanpricesop.py +18 -0
  461. tirdad_sdk-2.1.12/src/tirdad_sdk/models/taskresponse.py +137 -0
  462. tirdad_sdk-2.1.12/src/tirdad_sdk/models/taskstatus.py +16 -0
  463. tirdad_sdk-2.1.12/src/tirdad_sdk/models/tasktype.py +14 -0
  464. tirdad_sdk-2.1.12/src/tirdad_sdk/models/taxappliedresponse.py +111 -0
  465. tirdad_sdk-2.1.12/src/tirdad_sdk/models/taxassociationresponse.py +115 -0
  466. tirdad_sdk-2.1.12/src/tirdad_sdk/models/taxassociationupdaterequest.py +37 -0
  467. tirdad_sdk-2.1.12/src/tirdad_sdk/models/taxrateentitytype.py +16 -0
  468. tirdad_sdk-2.1.12/src/tirdad_sdk/models/taxrateoverride.py +43 -0
  469. tirdad_sdk-2.1.12/src/tirdad_sdk/models/taxrateresponse.py +104 -0
  470. tirdad_sdk-2.1.12/src/tirdad_sdk/models/taxratescope.py +15 -0
  471. tirdad_sdk-2.1.12/src/tirdad_sdk/models/taxratestatus.py +14 -0
  472. tirdad_sdk-2.1.12/src/tirdad_sdk/models/taxratetype.py +14 -0
  473. tirdad_sdk-2.1.12/src/tirdad_sdk/models/tenantbillingdetails.py +41 -0
  474. tirdad_sdk-2.1.12/src/tirdad_sdk/models/tenantbillingusage.py +39 -0
  475. tirdad_sdk-2.1.12/src/tirdad_sdk/models/tenantresponse.py +61 -0
  476. tirdad_sdk-2.1.12/src/tirdad_sdk/models/terminatewalletop.py +18 -0
  477. tirdad_sdk-2.1.12/src/tirdad_sdk/models/timerangefilter.py +35 -0
  478. tirdad_sdk-2.1.12/src/tirdad_sdk/models/topupwalletop.py +27 -0
  479. tirdad_sdk-2.1.12/src/tirdad_sdk/models/topupwalletrequest.py +97 -0
  480. tirdad_sdk-2.1.12/src/tirdad_sdk/models/topupwalletresponse.py +44 -0
  481. tirdad_sdk-2.1.12/src/tirdad_sdk/models/transactionreason.py +23 -0
  482. tirdad_sdk-2.1.12/src/tirdad_sdk/models/transactionstatus.py +15 -0
  483. tirdad_sdk-2.1.12/src/tirdad_sdk/models/transactiontype.py +14 -0
  484. tirdad_sdk-2.1.12/src/tirdad_sdk/models/trialendaction.py +10 -0
  485. tirdad_sdk-2.1.12/src/tirdad_sdk/models/triggerforcerunrequest.py +35 -0
  486. tirdad_sdk-2.1.12/src/tirdad_sdk/models/triggerforcerunresponse.py +48 -0
  487. tirdad_sdk-2.1.12/src/tirdad_sdk/models/triggerinvoicecommswebhookop.py +18 -0
  488. tirdad_sdk-2.1.12/src/tirdad_sdk/models/triggerscheduledtaskrunop.py +48 -0
  489. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updateaddonop.py +27 -0
  490. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updateaddonrequest.py +37 -0
  491. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updatecostsheetop.py +30 -0
  492. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updatecostsheetrequest.py +40 -0
  493. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updatecostsheetresponse.py +32 -0
  494. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updatecouponop.py +27 -0
  495. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updatecouponrequest.py +34 -0
  496. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updatecreditgrantop.py +30 -0
  497. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updatecreditgrantrequest.py +34 -0
  498. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updatecustomerop.py +54 -0
  499. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updatecustomerrequest.py +109 -0
  500. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updateentitlementop.py +30 -0
  501. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updateentitlementrequest.py +52 -0
  502. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updatefeatureop.py +27 -0
  503. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updatefeaturerequest.py +72 -0
  504. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updateinvoiceop.py +27 -0
  505. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updateinvoicepaymentstatusop.py +30 -0
  506. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updateinvoicerequest.py +40 -0
  507. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updatepaymentop.py +27 -0
  508. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updatepaymentrequest.py +64 -0
  509. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updatepaymentstatusrequest.py +37 -0
  510. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updateplanop.py +27 -0
  511. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updateplanrequest.py +45 -0
  512. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updatepriceop.py +27 -0
  513. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updatepricerequest.py +114 -0
  514. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updatepriceunitop.py +30 -0
  515. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updatepriceunitrequest.py +34 -0
  516. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updatescheduledtaskop.py +30 -0
  517. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updatescheduledtaskrequest.py +13 -0
  518. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updatesubscriptionlineitemop.py +30 -0
  519. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updatesubscriptionlineitemrequest.py +106 -0
  520. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updatesubscriptionop.py +30 -0
  521. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updatesubscriptionrequest.py +46 -0
  522. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updatetaskstatusop.py +30 -0
  523. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updatetaskstatusrequest.py +14 -0
  524. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updatetaxassociationop.py +30 -0
  525. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updatetaxrateop.py +27 -0
  526. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updatetaxraterequest.py +54 -0
  527. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updatetenantrequest.py +38 -0
  528. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updateuserrequest.py +31 -0
  529. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updateuserresponse.py +50 -0
  530. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updatewalletop.py +27 -0
  531. tirdad_sdk-2.1.12/src/tirdad_sdk/models/updatewalletrequest.py +58 -0
  532. tirdad_sdk-2.1.12/src/tirdad_sdk/models/usageanalyticitem.py +186 -0
  533. tirdad_sdk-2.1.12/src/tirdad_sdk/models/usageanalyticpoint.py +63 -0
  534. tirdad_sdk-2.1.12/src/tirdad_sdk/models/usagebreakdownitem.py +55 -0
  535. tirdad_sdk-2.1.12/src/tirdad_sdk/models/usageresult.py +34 -0
  536. tirdad_sdk-2.1.12/src/tirdad_sdk/models/userfilter.py +94 -0
  537. tirdad_sdk-2.1.12/src/tirdad_sdk/models/userresponse.py +50 -0
  538. tirdad_sdk-2.1.12/src/tirdad_sdk/models/usertype.py +14 -0
  539. tirdad_sdk-2.1.12/src/tirdad_sdk/models/value.py +50 -0
  540. tirdad_sdk-2.1.12/src/tirdad_sdk/models/voidcreditnoteop.py +18 -0
  541. tirdad_sdk-2.1.12/src/tirdad_sdk/models/voidinvoiceop.py +18 -0
  542. tirdad_sdk-2.1.12/src/tirdad_sdk/models/walletbalanceresponse.py +176 -0
  543. tirdad_sdk-2.1.12/src/tirdad_sdk/models/walletconfig.py +38 -0
  544. tirdad_sdk-2.1.12/src/tirdad_sdk/models/walletconfigpricetype.py +15 -0
  545. tirdad_sdk-2.1.12/src/tirdad_sdk/models/walletfilter.py +70 -0
  546. tirdad_sdk-2.1.12/src/tirdad_sdk/models/walletresponse.py +156 -0
  547. tirdad_sdk-2.1.12/src/tirdad_sdk/models/walletstatus.py +15 -0
  548. tirdad_sdk-2.1.12/src/tirdad_sdk/models/wallettransactionfilter.py +126 -0
  549. tirdad_sdk-2.1.12/src/tirdad_sdk/models/wallettransactionresponse.py +170 -0
  550. tirdad_sdk-2.1.12/src/tirdad_sdk/models/wallettxreferencetype.py +16 -0
  551. tirdad_sdk-2.1.12/src/tirdad_sdk/models/wallettype.py +14 -0
  552. tirdad_sdk-2.1.12/src/tirdad_sdk/models/webhookdto_alertwebhookpayload.py +61 -0
  553. tirdad_sdk-2.1.12/src/tirdad_sdk/models/webhookdto_communicationwebhookpayload.py +36 -0
  554. tirdad_sdk-2.1.12/src/tirdad_sdk/models/webhookdto_creditnotewebhookpayload.py +36 -0
  555. tirdad_sdk-2.1.12/src/tirdad_sdk/models/webhookdto_customerwebhookpayload.py +38 -0
  556. tirdad_sdk-2.1.12/src/tirdad_sdk/models/webhookdto_entitlementwebhookpayload.py +36 -0
  557. tirdad_sdk-2.1.12/src/tirdad_sdk/models/webhookdto_featurewebhookpayload.py +36 -0
  558. tirdad_sdk-2.1.12/src/tirdad_sdk/models/webhookdto_invoicewebhookpayload.py +36 -0
  559. tirdad_sdk-2.1.12/src/tirdad_sdk/models/webhookdto_paymentwebhookpayload.py +36 -0
  560. tirdad_sdk-2.1.12/src/tirdad_sdk/models/webhookdto_subscriptionphasewebhookpayload.py +39 -0
  561. tirdad_sdk-2.1.12/src/tirdad_sdk/models/webhookdto_subscriptionwebhookpayload.py +36 -0
  562. tirdad_sdk-2.1.12/src/tirdad_sdk/models/webhookdto_transactionwebhookpayload.py +43 -0
  563. tirdad_sdk-2.1.12/src/tirdad_sdk/models/webhookdto_walletalertinfo.py +52 -0
  564. tirdad_sdk-2.1.12/src/tirdad_sdk/models/webhookdto_walletwebhookpayload.py +49 -0
  565. tirdad_sdk-2.1.12/src/tirdad_sdk/models/webhookeventname.py +54 -0
  566. tirdad_sdk-2.1.12/src/tirdad_sdk/models/windowsize.py +22 -0
  567. tirdad_sdk-2.1.12/src/tirdad_sdk/models/workflowexecutiondto.py +84 -0
  568. tirdad_sdk-2.1.12/src/tirdad_sdk/models/workflowexecutionfilter.py +111 -0
  569. tirdad_sdk-2.1.12/src/tirdad_sdk/payments.py +1407 -0
  570. tirdad_sdk-2.1.12/src/tirdad_sdk/plans.py +1567 -0
  571. tirdad_sdk-2.1.12/src/tirdad_sdk/price_units.py +1513 -0
  572. tirdad_sdk-2.1.12/src/tirdad_sdk/prices.py +1805 -0
  573. tirdad_sdk-2.1.12/src/tirdad_sdk/py.typed +1 -0
  574. tirdad_sdk-2.1.12/src/tirdad_sdk/rbac.py +340 -0
  575. tirdad_sdk-2.1.12/src/tirdad_sdk/scheduled_tasks.py +1679 -0
  576. tirdad_sdk-2.1.12/src/tirdad_sdk/sdk.py +265 -0
  577. tirdad_sdk-2.1.12/src/tirdad_sdk/sdkconfiguration.py +51 -0
  578. tirdad_sdk-2.1.12/src/tirdad_sdk/secrets.py +629 -0
  579. tirdad_sdk-2.1.12/src/tirdad_sdk/subscriptions.py +6359 -0
  580. tirdad_sdk-2.1.12/src/tirdad_sdk/tasks.py +1302 -0
  581. tirdad_sdk-2.1.12/src/tirdad_sdk/tax_associations.py +1074 -0
  582. tirdad_sdk-2.1.12/src/tirdad_sdk/tax_rates.py +1122 -0
  583. tirdad_sdk-2.1.12/src/tirdad_sdk/tenants.py +604 -0
  584. tirdad_sdk-2.1.12/src/tirdad_sdk/types/__init__.py +24 -0
  585. tirdad_sdk-2.1.12/src/tirdad_sdk/types/base64fileinput.py +39 -0
  586. tirdad_sdk-2.1.12/src/tirdad_sdk/types/basemodel.py +77 -0
  587. tirdad_sdk-2.1.12/src/tirdad_sdk/users.py +881 -0
  588. tirdad_sdk-2.1.12/src/tirdad_sdk/utils/__init__.py +175 -0
  589. tirdad_sdk-2.1.12/src/tirdad_sdk/utils/annotations.py +79 -0
  590. tirdad_sdk-2.1.12/src/tirdad_sdk/utils/datetimes.py +23 -0
  591. tirdad_sdk-2.1.12/src/tirdad_sdk/utils/dynamic_imports.py +54 -0
  592. tirdad_sdk-2.1.12/src/tirdad_sdk/utils/enums.py +134 -0
  593. tirdad_sdk-2.1.12/src/tirdad_sdk/utils/eventstreaming.py +309 -0
  594. tirdad_sdk-2.1.12/src/tirdad_sdk/utils/forms.py +234 -0
  595. tirdad_sdk-2.1.12/src/tirdad_sdk/utils/headers.py +136 -0
  596. tirdad_sdk-2.1.12/src/tirdad_sdk/utils/logger.py +22 -0
  597. tirdad_sdk-2.1.12/src/tirdad_sdk/utils/metadata.py +119 -0
  598. tirdad_sdk-2.1.12/src/tirdad_sdk/utils/queryparams.py +217 -0
  599. tirdad_sdk-2.1.12/src/tirdad_sdk/utils/requestbodies.py +67 -0
  600. tirdad_sdk-2.1.12/src/tirdad_sdk/utils/retries.py +271 -0
  601. tirdad_sdk-2.1.12/src/tirdad_sdk/utils/security.py +198 -0
  602. tirdad_sdk-2.1.12/src/tirdad_sdk/utils/serializers.py +225 -0
  603. tirdad_sdk-2.1.12/src/tirdad_sdk/utils/unmarshal_json_response.py +38 -0
  604. tirdad_sdk-2.1.12/src/tirdad_sdk/utils/url.py +155 -0
  605. tirdad_sdk-2.1.12/src/tirdad_sdk/utils/values.py +137 -0
  606. tirdad_sdk-2.1.12/src/tirdad_sdk/wallets.py +2745 -0
  607. tirdad_sdk-2.1.12/src/tirdad_sdk/webhook_events.py +6814 -0
  608. tirdad_sdk-2.1.12/src/tirdad_sdk/workflows.py +307 -0
  609. tirdad_sdk-2.1.12/src/tirdad_sdk.egg-info/PKG-INFO +209 -0
  610. tirdad_sdk-2.1.12/src/tirdad_sdk.egg-info/SOURCES.txt +611 -0
  611. tirdad_sdk-2.1.12/src/tirdad_sdk.egg-info/dependency_links.txt +1 -0
  612. tirdad_sdk-2.1.12/src/tirdad_sdk.egg-info/requires.txt +3 -0
  613. tirdad_sdk-2.1.12/src/tirdad_sdk.egg-info/top_level.txt +4 -0
@@ -0,0 +1,3 @@
1
+ # Include examples folder and all its contents
2
+ graft examples
3
+ include README.md
@@ -0,0 +1,209 @@
1
+ Metadata-Version: 2.4
2
+ Name: tirdad-sdk
3
+ Version: 2.1.12
4
+ Summary: Python Client SDK for the Tirdad API.
5
+ Author: Tirdad
6
+ License: Apache-2.0
7
+ Requires-Python: >=3.10
8
+ Description-Content-Type: text/markdown
9
+ Requires-Dist: httpcore>=1.0.9
10
+ Requires-Dist: httpx>=0.28.1
11
+ Requires-Dist: pydantic>=2.11.2
12
+
13
+ # Tirdad Python SDK
14
+
15
+ Type-safe Python client for the Tirdad API: billing, metering, and subscription management for SaaS and usage-based products.
16
+
17
+ ## Requirements
18
+
19
+ - **Python 3.10+**
20
+
21
+ ## Installation
22
+
23
+ ```bash
24
+ pip install flexprice
25
+ ```
26
+
27
+ With uv or poetry:
28
+
29
+ ```bash
30
+ uv add flexprice
31
+ # or
32
+ poetry add flexprice
33
+ ```
34
+
35
+ Runnable samples are in the `examples/` directory.
36
+
37
+ ## Environment
38
+
39
+ | Variable | Required | Description |
40
+ | -------- | -------- | ----------- |
41
+ | `TIRDAD_API_KEY` | Yes | API key |
42
+ | `TIRDAD_API_HOST` | Optional | Full base URL including `https://` and `/v1` (default: `https://api.tirdad.ai/v1`). No trailing slash. |
43
+
44
+ **Integration tests** in [api/tests/python/test_sdk.py](../tests/python/test_sdk.py) use a different env shape; see [api/tests/README.md](../tests/README.md).
45
+
46
+ ## Quick start
47
+
48
+ Initialize the client, create a customer, ingest an event:
49
+
50
+ ```python
51
+ import os
52
+ from flexprice import Tirdad
53
+
54
+ api_key = os.getenv("TIRDAD_API_KEY", "YOUR_API_KEY")
55
+ server_url = os.getenv(
56
+ "TIRDAD_API_HOST", "https://api.tirdad.ai/v1"
57
+ )
58
+
59
+ with Tirdad(server_url=server_url, api_key_auth=api_key) as client:
60
+ external_id = "customer-123"
61
+ client.customers.create_customer(
62
+ external_id=external_id,
63
+ email="user@example.com",
64
+ name="Example Customer",
65
+ )
66
+ result = client.events.ingest_event(
67
+ request={
68
+ "event_name": "Sample Event",
69
+ "external_customer_id": external_id,
70
+ "properties": {"source": "python_app", "environment": "test"},
71
+ "source": "python_app",
72
+ }
73
+ )
74
+ print(result)
75
+ ```
76
+
77
+ ## Async usage
78
+
79
+ The same client supports async when used as an async context manager:
80
+
81
+ ```python
82
+ import asyncio
83
+ import os
84
+ from flexprice import Tirdad
85
+
86
+ async def main():
87
+ server_url = os.getenv(
88
+ "TIRDAD_API_HOST", "https://api.tirdad.ai/v1"
89
+ )
90
+ async with Tirdad(
91
+ server_url=server_url,
92
+ api_key_auth=os.getenv("TIRDAD_API_KEY", "YOUR_API_KEY"),
93
+ ) as client:
94
+ result = await client.events.ingest_event_async(
95
+ request={
96
+ "event_name": "Sample Event",
97
+ "external_customer_id": "customer-123",
98
+ "properties": {"source": "python_async", "environment": "test"},
99
+ "source": "python_async",
100
+ }
101
+ )
102
+ print(result)
103
+
104
+ asyncio.run(main())
105
+ ```
106
+
107
+ ## Authentication
108
+
109
+ - Pass your API key as `api_key_auth` when creating the client. The SDK sends it in the `x-api-key` header.
110
+ - Set `TIRDAD_API_HOST` to a full URL (see [Environment](#environment)) or use the default `https://api.tirdad.ai/v1`.
111
+ - Prefer environment variables; get keys from your [Tirdad dashboard](https://app.flexprice.io) or docs.
112
+
113
+ ## Error handling
114
+
115
+ API errors are raised as exceptions. Catch them and inspect the response as needed:
116
+
117
+ ```python
118
+ try:
119
+ with Tirdad(server_url="...", api_key_auth="...") as flexprice:
120
+ result = flexprice.events.ingest_event(request={...})
121
+ except Exception as e:
122
+ print(f"Error: {e}")
123
+ # Inspect status code and body if available on the exception
124
+ ```
125
+
126
+ See the [API docs](https://docs.flexprice.io) for error formats and status codes.
127
+
128
+ ## Features
129
+
130
+ - Full API coverage (customers, plans, events, invoices, payments, entitlements, etc.)
131
+ - Sync and async support
132
+ - Type-safe request/response models (Pydantic)
133
+ - Built-in retries and error handling
134
+
135
+ For a full list of operations, see the [API reference](https://docs.flexprice.io) and the [examples](examples/) in this repo.
136
+
137
+ ## Troubleshooting
138
+
139
+ - **Missing or invalid API key:** Ensure `api_key_auth` is set (or set `TIRDAD_API_KEY` and pass it in). Keys are for server-side use only.
140
+ - **Wrong server URL:** Use a full URL such as `https://api.tirdad.ai/v1` (include `/v1`; no trailing slash).
141
+ - **4xx/5xx on ingest:** Event ingest returns 202 Accepted; for errors, check request fields (`event_name`, `external_customer_id`, `properties`, `source`) against the [API docs](https://docs.flexprice.io).
142
+
143
+ ## Handling Webhooks
144
+
145
+ Tirdad sends webhook events to your server for async updates on payments, invoices, subscriptions, wallets, and more.
146
+
147
+ **Flow:**
148
+ 1. Register your endpoint URL in the Tirdad dashboard
149
+ 2. Receive `POST` with raw JSON body
150
+ 3. Read `event_type` to route
151
+ 4. Parse payload into typed model
152
+ 5. Handle business logic idempotently
153
+ 6. Return `200` quickly
154
+
155
+ ```python
156
+ import json
157
+ from flexprice.models import (
158
+ WebhookDtoPaymentWebhookPayload,
159
+ WebhookDtoSubscriptionWebhookPayload,
160
+ WebhookDtoInvoiceWebhookPayload,
161
+ )
162
+
163
+ def handle_webhook(raw_body: str) -> None:
164
+ event = json.loads(raw_body)
165
+
166
+ match event.get("event_type"):
167
+ case "payment.success" | "payment.failed" | "payment.updated":
168
+ payload = WebhookDtoPaymentWebhookPayload.model_validate(event)
169
+ if payload.payment:
170
+ print(f"payment {payload.payment.id}")
171
+ # TODO: update payment record
172
+
173
+ case "subscription.activated" | "subscription.cancelled" | "subscription.updated":
174
+ payload = WebhookDtoSubscriptionWebhookPayload.model_validate(event)
175
+ if payload.subscription:
176
+ print(f"subscription {payload.subscription.id}")
177
+
178
+ case "invoice.update.finalized" | "invoice.payment.overdue":
179
+ payload = WebhookDtoInvoiceWebhookPayload.model_validate(event)
180
+ if payload.invoice:
181
+ print(f"invoice {payload.invoice.id}")
182
+
183
+ case _:
184
+ print(f"unhandled event: {event.get('event_type')}")
185
+ ```
186
+
187
+ ### Event types
188
+
189
+ | Category | Events |
190
+ |---|---|
191
+ | **Payment** | `payment.created` · `payment.updated` · `payment.success` · `payment.failed` · `payment.pending` |
192
+ | **Invoice** | `invoice.create.drafted` · `invoice.update` · `invoice.update.finalized` · `invoice.update.payment` · `invoice.update.voided` · `invoice.payment.overdue` · `invoice.communication.triggered` |
193
+ | **Subscription** | `subscription.created` · `subscription.draft.created` · `subscription.activated` · `subscription.updated` · `subscription.paused` · `subscription.resumed` · `subscription.cancelled` · `subscription.renewal.due` |
194
+ | **Subscription Phase** | `subscription.phase.created` · `subscription.phase.updated` · `subscription.phase.deleted` |
195
+ | **Customer** | `customer.created` · `customer.updated` · `customer.deleted` |
196
+ | **Wallet** | `wallet.created` · `wallet.updated` · `wallet.terminated` · `wallet.transaction.created` · `wallet.credit_balance.dropped` · `wallet.credit_balance.recovered` · `wallet.ongoing_balance.dropped` · `wallet.ongoing_balance.recovered` |
197
+ | **Feature / Entitlement** | `feature.created` · `feature.updated` · `feature.deleted` · `feature.wallet_balance.alert` · `entitlement.created` · `entitlement.updated` · `entitlement.deleted` |
198
+ | **Credit Note** | `credit_note.created` · `credit_note.updated` |
199
+
200
+ **Production rules:**
201
+ - Keep handlers idempotent — Tirdad retries on non-`2xx`
202
+ - Return `200` for unknown event types — prevents unnecessary retries
203
+ - Do heavy processing async — respond fast, queue the work
204
+
205
+ ## Documentation
206
+
207
+ - [Tirdad API documentation](https://docs.flexprice.io)
208
+ - [Python SDK examples](examples/) in this repo
209
+ - [SDK integration tests](../tests/README.md) — different `TIRDAD_API_HOST` shape for automated tests
@@ -0,0 +1,197 @@
1
+ # Tirdad Python SDK
2
+
3
+ Type-safe Python client for the Tirdad API: billing, metering, and subscription management for SaaS and usage-based products.
4
+
5
+ ## Requirements
6
+
7
+ - **Python 3.10+**
8
+
9
+ ## Installation
10
+
11
+ ```bash
12
+ pip install flexprice
13
+ ```
14
+
15
+ With uv or poetry:
16
+
17
+ ```bash
18
+ uv add flexprice
19
+ # or
20
+ poetry add flexprice
21
+ ```
22
+
23
+ Runnable samples are in the `examples/` directory.
24
+
25
+ ## Environment
26
+
27
+ | Variable | Required | Description |
28
+ | -------- | -------- | ----------- |
29
+ | `TIRDAD_API_KEY` | Yes | API key |
30
+ | `TIRDAD_API_HOST` | Optional | Full base URL including `https://` and `/v1` (default: `https://api.tirdad.ai/v1`). No trailing slash. |
31
+
32
+ **Integration tests** in [api/tests/python/test_sdk.py](../tests/python/test_sdk.py) use a different env shape; see [api/tests/README.md](../tests/README.md).
33
+
34
+ ## Quick start
35
+
36
+ Initialize the client, create a customer, ingest an event:
37
+
38
+ ```python
39
+ import os
40
+ from flexprice import Tirdad
41
+
42
+ api_key = os.getenv("TIRDAD_API_KEY", "YOUR_API_KEY")
43
+ server_url = os.getenv(
44
+ "TIRDAD_API_HOST", "https://api.tirdad.ai/v1"
45
+ )
46
+
47
+ with Tirdad(server_url=server_url, api_key_auth=api_key) as client:
48
+ external_id = "customer-123"
49
+ client.customers.create_customer(
50
+ external_id=external_id,
51
+ email="user@example.com",
52
+ name="Example Customer",
53
+ )
54
+ result = client.events.ingest_event(
55
+ request={
56
+ "event_name": "Sample Event",
57
+ "external_customer_id": external_id,
58
+ "properties": {"source": "python_app", "environment": "test"},
59
+ "source": "python_app",
60
+ }
61
+ )
62
+ print(result)
63
+ ```
64
+
65
+ ## Async usage
66
+
67
+ The same client supports async when used as an async context manager:
68
+
69
+ ```python
70
+ import asyncio
71
+ import os
72
+ from flexprice import Tirdad
73
+
74
+ async def main():
75
+ server_url = os.getenv(
76
+ "TIRDAD_API_HOST", "https://api.tirdad.ai/v1"
77
+ )
78
+ async with Tirdad(
79
+ server_url=server_url,
80
+ api_key_auth=os.getenv("TIRDAD_API_KEY", "YOUR_API_KEY"),
81
+ ) as client:
82
+ result = await client.events.ingest_event_async(
83
+ request={
84
+ "event_name": "Sample Event",
85
+ "external_customer_id": "customer-123",
86
+ "properties": {"source": "python_async", "environment": "test"},
87
+ "source": "python_async",
88
+ }
89
+ )
90
+ print(result)
91
+
92
+ asyncio.run(main())
93
+ ```
94
+
95
+ ## Authentication
96
+
97
+ - Pass your API key as `api_key_auth` when creating the client. The SDK sends it in the `x-api-key` header.
98
+ - Set `TIRDAD_API_HOST` to a full URL (see [Environment](#environment)) or use the default `https://api.tirdad.ai/v1`.
99
+ - Prefer environment variables; get keys from your [Tirdad dashboard](https://app.flexprice.io) or docs.
100
+
101
+ ## Error handling
102
+
103
+ API errors are raised as exceptions. Catch them and inspect the response as needed:
104
+
105
+ ```python
106
+ try:
107
+ with Tirdad(server_url="...", api_key_auth="...") as flexprice:
108
+ result = flexprice.events.ingest_event(request={...})
109
+ except Exception as e:
110
+ print(f"Error: {e}")
111
+ # Inspect status code and body if available on the exception
112
+ ```
113
+
114
+ See the [API docs](https://docs.flexprice.io) for error formats and status codes.
115
+
116
+ ## Features
117
+
118
+ - Full API coverage (customers, plans, events, invoices, payments, entitlements, etc.)
119
+ - Sync and async support
120
+ - Type-safe request/response models (Pydantic)
121
+ - Built-in retries and error handling
122
+
123
+ For a full list of operations, see the [API reference](https://docs.flexprice.io) and the [examples](examples/) in this repo.
124
+
125
+ ## Troubleshooting
126
+
127
+ - **Missing or invalid API key:** Ensure `api_key_auth` is set (or set `TIRDAD_API_KEY` and pass it in). Keys are for server-side use only.
128
+ - **Wrong server URL:** Use a full URL such as `https://api.tirdad.ai/v1` (include `/v1`; no trailing slash).
129
+ - **4xx/5xx on ingest:** Event ingest returns 202 Accepted; for errors, check request fields (`event_name`, `external_customer_id`, `properties`, `source`) against the [API docs](https://docs.flexprice.io).
130
+
131
+ ## Handling Webhooks
132
+
133
+ Tirdad sends webhook events to your server for async updates on payments, invoices, subscriptions, wallets, and more.
134
+
135
+ **Flow:**
136
+ 1. Register your endpoint URL in the Tirdad dashboard
137
+ 2. Receive `POST` with raw JSON body
138
+ 3. Read `event_type` to route
139
+ 4. Parse payload into typed model
140
+ 5. Handle business logic idempotently
141
+ 6. Return `200` quickly
142
+
143
+ ```python
144
+ import json
145
+ from flexprice.models import (
146
+ WebhookDtoPaymentWebhookPayload,
147
+ WebhookDtoSubscriptionWebhookPayload,
148
+ WebhookDtoInvoiceWebhookPayload,
149
+ )
150
+
151
+ def handle_webhook(raw_body: str) -> None:
152
+ event = json.loads(raw_body)
153
+
154
+ match event.get("event_type"):
155
+ case "payment.success" | "payment.failed" | "payment.updated":
156
+ payload = WebhookDtoPaymentWebhookPayload.model_validate(event)
157
+ if payload.payment:
158
+ print(f"payment {payload.payment.id}")
159
+ # TODO: update payment record
160
+
161
+ case "subscription.activated" | "subscription.cancelled" | "subscription.updated":
162
+ payload = WebhookDtoSubscriptionWebhookPayload.model_validate(event)
163
+ if payload.subscription:
164
+ print(f"subscription {payload.subscription.id}")
165
+
166
+ case "invoice.update.finalized" | "invoice.payment.overdue":
167
+ payload = WebhookDtoInvoiceWebhookPayload.model_validate(event)
168
+ if payload.invoice:
169
+ print(f"invoice {payload.invoice.id}")
170
+
171
+ case _:
172
+ print(f"unhandled event: {event.get('event_type')}")
173
+ ```
174
+
175
+ ### Event types
176
+
177
+ | Category | Events |
178
+ |---|---|
179
+ | **Payment** | `payment.created` · `payment.updated` · `payment.success` · `payment.failed` · `payment.pending` |
180
+ | **Invoice** | `invoice.create.drafted` · `invoice.update` · `invoice.update.finalized` · `invoice.update.payment` · `invoice.update.voided` · `invoice.payment.overdue` · `invoice.communication.triggered` |
181
+ | **Subscription** | `subscription.created` · `subscription.draft.created` · `subscription.activated` · `subscription.updated` · `subscription.paused` · `subscription.resumed` · `subscription.cancelled` · `subscription.renewal.due` |
182
+ | **Subscription Phase** | `subscription.phase.created` · `subscription.phase.updated` · `subscription.phase.deleted` |
183
+ | **Customer** | `customer.created` · `customer.updated` · `customer.deleted` |
184
+ | **Wallet** | `wallet.created` · `wallet.updated` · `wallet.terminated` · `wallet.transaction.created` · `wallet.credit_balance.dropped` · `wallet.credit_balance.recovered` · `wallet.ongoing_balance.dropped` · `wallet.ongoing_balance.recovered` |
185
+ | **Feature / Entitlement** | `feature.created` · `feature.updated` · `feature.deleted` · `feature.wallet_balance.alert` · `entitlement.created` · `entitlement.updated` · `entitlement.deleted` |
186
+ | **Credit Note** | `credit_note.created` · `credit_note.updated` |
187
+
188
+ **Production rules:**
189
+ - Keep handlers idempotent — Tirdad retries on non-`2xx`
190
+ - Return `200` for unknown event types — prevents unnecessary retries
191
+ - Do heavy processing async — respond fast, queue the work
192
+
193
+ ## Documentation
194
+
195
+ - [Tirdad API documentation](https://docs.flexprice.io)
196
+ - [Python SDK examples](examples/) in this repo
197
+ - [SDK integration tests](../tests/README.md) — different `TIRDAD_API_HOST` shape for automated tests
@@ -0,0 +1,3 @@
1
+ # Full base URL including https:// and /v1; no trailing slash.
2
+ FLEXPRICE_API_KEY=your_api_key_here
3
+ FLEXPRICE_API_HOST=https://us.api.flexprice.io/v1
@@ -0,0 +1,2 @@
1
+ .env
2
+ !.env.sample
@@ -0,0 +1,14 @@
1
+ # Python SDK examples
2
+
3
+ 1. Create a virtual environment and install dependencies:
4
+ ```bash
5
+ python -m venv venv
6
+ source venv/bin/activate # Windows: venv\Scripts\activate
7
+ pip install -r requirements.txt
8
+ ```
9
+ 2. Copy `.env.sample` to `.env` and set **`TIRDAD_API_KEY`**. Optionally set **`TIRDAD_API_HOST`** to a full URL (default: `https://api.tirdad.ai/v1`).
10
+ 3. Run the sync example: `python example.py`
11
+ Run the async example: `python async_event_example.py`
12
+ (From the package root: `python examples/example.py` or `python examples/async_event_example.py`.)
13
+
14
+ **Integration tests:** Full API flows are in [api/tests/python/test_sdk.py](../../tests/python/test_sdk.py). Install with `pip install -r requirements.txt` in `api/tests/python`; see [api/tests/README.md](../../tests/README.md).
@@ -0,0 +1,51 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ FlexPrice Python SDK example – async client, ingest events.
4
+
5
+ Default base URL: https://us.api.flexprice.io/v1
6
+ Override with FLEXPRICE_API_HOST (full URL). Set FLEXPRICE_API_KEY in .env or environment.
7
+ """
8
+
9
+ import asyncio
10
+ import logging
11
+ import os
12
+ from dotenv import load_dotenv
13
+
14
+ load_dotenv()
15
+
16
+ from flexprice import Flexprice
17
+
18
+ logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s")
19
+ logger = logging.getLogger(__name__)
20
+
21
+
22
+ async def main():
23
+ api_key = os.getenv("FLEXPRICE_API_KEY")
24
+ server_url = os.getenv(
25
+ "FLEXPRICE_API_HOST", "https://us.api.flexprice.io/v1"
26
+ )
27
+
28
+ if not api_key:
29
+ raise SystemExit("Set FLEXPRICE_API_KEY in .env or environment")
30
+
31
+ logger.info("Using async FlexPrice client")
32
+
33
+ async with Flexprice(
34
+ server_url=server_url,
35
+ api_key_auth=api_key,
36
+ ) as flexprice:
37
+ result = await flexprice.events.ingest_event_async(
38
+ request={
39
+ "event_name": "Sample Event",
40
+ "external_customer_id": "customer-async-123",
41
+ "properties": {"source": "python_async", "environment": "test"},
42
+ "source": "python_async",
43
+ }
44
+ )
45
+ logger.info("Event ingested: %s", result)
46
+
47
+ logger.info("Async example complete!")
48
+
49
+
50
+ if __name__ == "__main__":
51
+ asyncio.run(main())