@cmarket/partner-sdk 45.6.0 → 45.7.0

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 (1015) hide show
  1. package/README.md +6 -4
  2. package/api/embed-api.ts +1 -1
  3. package/api/oauth-api.ts +64 -1
  4. package/api/partner-api-api.ts +1 -1
  5. package/api/products-api.ts +1 -1
  6. package/api/webhooks-api.ts +1 -1
  7. package/api/well-known-api.ts +1 -1
  8. package/api.ts +1 -1
  9. package/base.ts +1 -1
  10. package/common.ts +1 -1
  11. package/configuration.ts +1 -1
  12. package/dist/api/embed-api.d.ts +1 -1
  13. package/dist/api/embed-api.js +1 -1
  14. package/dist/api/oauth-api.d.ts +30 -1
  15. package/dist/api/oauth-api.js +60 -1
  16. package/dist/api/partner-api-api.d.ts +1 -1
  17. package/dist/api/partner-api-api.js +1 -1
  18. package/dist/api/products-api.d.ts +1 -1
  19. package/dist/api/products-api.js +1 -1
  20. package/dist/api/webhooks-api.d.ts +1 -1
  21. package/dist/api/webhooks-api.js +1 -1
  22. package/dist/api/well-known-api.d.ts +1 -1
  23. package/dist/api/well-known-api.js +1 -1
  24. package/dist/api.d.ts +1 -1
  25. package/dist/api.js +1 -1
  26. package/dist/base.d.ts +1 -1
  27. package/dist/base.js +1 -1
  28. package/dist/common.d.ts +1 -1
  29. package/dist/common.js +1 -1
  30. package/dist/configuration.d.ts +1 -1
  31. package/dist/configuration.js +1 -1
  32. package/dist/esm/api/embed-api.d.ts +1 -1
  33. package/dist/esm/api/embed-api.js +1 -1
  34. package/dist/esm/api/oauth-api.d.ts +30 -1
  35. package/dist/esm/api/oauth-api.js +60 -1
  36. package/dist/esm/api/partner-api-api.d.ts +1 -1
  37. package/dist/esm/api/partner-api-api.js +1 -1
  38. package/dist/esm/api/products-api.d.ts +1 -1
  39. package/dist/esm/api/products-api.js +1 -1
  40. package/dist/esm/api/webhooks-api.d.ts +1 -1
  41. package/dist/esm/api/webhooks-api.js +1 -1
  42. package/dist/esm/api/well-known-api.d.ts +1 -1
  43. package/dist/esm/api/well-known-api.js +1 -1
  44. package/dist/esm/api.d.ts +1 -1
  45. package/dist/esm/api.js +1 -1
  46. package/dist/esm/base.d.ts +1 -1
  47. package/dist/esm/base.js +1 -1
  48. package/dist/esm/common.d.ts +1 -1
  49. package/dist/esm/common.js +1 -1
  50. package/dist/esm/configuration.d.ts +1 -1
  51. package/dist/esm/configuration.js +1 -1
  52. package/dist/esm/index.d.ts +1 -1
  53. package/dist/esm/index.js +1 -1
  54. package/dist/esm/models/acceptance-result-response-dto.d.ts +1 -1
  55. package/dist/esm/models/acceptance-result-response-dto.js +1 -1
  56. package/dist/esm/models/acknowledge-product-receipt200-response.d.ts +1 -1
  57. package/dist/esm/models/acknowledge-product-receipt200-response.js +1 -1
  58. package/dist/esm/models/acknowledge-products-request-dto.d.ts +1 -1
  59. package/dist/esm/models/acknowledge-products-request-dto.js +1 -1
  60. package/dist/esm/models/api-catalog-dto.d.ts +1 -1
  61. package/dist/esm/models/api-catalog-dto.js +1 -1
  62. package/dist/esm/models/api-catalog-entry-dto.d.ts +1 -1
  63. package/dist/esm/models/api-catalog-entry-dto.js +1 -1
  64. package/dist/esm/models/api-catalog-link-dto.d.ts +1 -1
  65. package/dist/esm/models/api-catalog-link-dto.js +1 -1
  66. package/dist/esm/models/authorization-server-metadata-dto.d.ts +1 -1
  67. package/dist/esm/models/authorization-server-metadata-dto.js +1 -1
  68. package/dist/esm/models/avalues-input-dto.d.ts +1 -1
  69. package/dist/esm/models/avalues-input-dto.js +1 -1
  70. package/dist/esm/models/award-method-public.d.ts +1 -1
  71. package/dist/esm/models/award-method-public.js +1 -1
  72. package/dist/esm/models/award-registered-v2-response-dto.d.ts +1 -1
  73. package/dist/esm/models/award-registered-v2-response-dto.js +1 -1
  74. package/dist/esm/models/award-reverted-v2-response-dto.d.ts +1 -1
  75. package/dist/esm/models/award-reverted-v2-response-dto.js +1 -1
  76. package/dist/esm/models/bid-acceptance-dto.d.ts +1 -1
  77. package/dist/esm/models/bid-acceptance-dto.js +1 -1
  78. package/dist/esm/models/bid-attachment-dto.d.ts +1 -1
  79. package/dist/esm/models/bid-attachment-dto.js +1 -1
  80. package/dist/esm/models/bid-attachment-input-dto.d.ts +1 -1
  81. package/dist/esm/models/bid-attachment-input-dto.js +1 -1
  82. package/dist/esm/models/bid-avalues-dto.d.ts +1 -1
  83. package/dist/esm/models/bid-avalues-dto.js +1 -1
  84. package/dist/esm/models/bid-award-method-detail-dto.d.ts +1 -1
  85. package/dist/esm/models/bid-award-method-detail-dto.js +1 -1
  86. package/dist/esm/models/bid-bond-dto.d.ts +1 -1
  87. package/dist/esm/models/bid-bond-dto.js +1 -1
  88. package/dist/esm/models/bid-cancellation-dto.d.ts +1 -1
  89. package/dist/esm/models/bid-cancellation-dto.js +1 -1
  90. package/dist/esm/models/bid-cancelled-response-dto.d.ts +1 -1
  91. package/dist/esm/models/bid-cancelled-response-dto.js +1 -1
  92. package/dist/esm/models/bid-category-public.d.ts +1 -1
  93. package/dist/esm/models/bid-category-public.js +1 -1
  94. package/dist/esm/models/bid-contact-dto.d.ts +1 -1
  95. package/dist/esm/models/bid-contact-dto.js +1 -1
  96. package/dist/esm/models/bid-contacts-dto.d.ts +1 -1
  97. package/dist/esm/models/bid-contacts-dto.js +1 -1
  98. package/dist/esm/models/bid-contract-document-dto.d.ts +1 -1
  99. package/dist/esm/models/bid-contract-document-dto.js +1 -1
  100. package/dist/esm/models/bid-delivery-terms-dto.d.ts +1 -1
  101. package/dist/esm/models/bid-delivery-terms-dto.js +1 -1
  102. package/dist/esm/models/bid-detail-response-dto.d.ts +1 -1
  103. package/dist/esm/models/bid-detail-response-dto.js +1 -1
  104. package/dist/esm/models/bid-document-dto.d.ts +1 -1
  105. package/dist/esm/models/bid-document-dto.js +1 -1
  106. package/dist/esm/models/bid-failed-v2-response-dto.d.ts +1 -1
  107. package/dist/esm/models/bid-failed-v2-response-dto.js +1 -1
  108. package/dist/esm/models/bid-item-dto.d.ts +1 -1
  109. package/dist/esm/models/bid-item-dto.js +1 -1
  110. package/dist/esm/models/bid-license-requirement-dto.d.ts +1 -1
  111. package/dist/esm/models/bid-license-requirement-dto.js +1 -1
  112. package/dist/esm/models/bid-lifecycle-dto.d.ts +1 -1
  113. package/dist/esm/models/bid-lifecycle-dto.js +1 -1
  114. package/dist/esm/models/bid-manager-dto.d.ts +1 -1
  115. package/dist/esm/models/bid-manager-dto.js +1 -1
  116. package/dist/esm/models/bid-must-read-notice-dto.d.ts +1 -1
  117. package/dist/esm/models/bid-must-read-notice-dto.js +1 -1
  118. package/dist/esm/models/bid-payment-terms-dto.d.ts +1 -1
  119. package/dist/esm/models/bid-payment-terms-dto.js +1 -1
  120. package/dist/esm/models/bid-preliminary-price-dto.d.ts +1 -1
  121. package/dist/esm/models/bid-preliminary-price-dto.js +1 -1
  122. package/dist/esm/models/bid-preliminary-price-slot-dto.d.ts +1 -1
  123. package/dist/esm/models/bid-preliminary-price-slot-dto.js +1 -1
  124. package/dist/esm/models/bid-product-dto.d.ts +1 -1
  125. package/dist/esm/models/bid-product-dto.js +1 -1
  126. package/dist/esm/models/bid-public-status.d.ts +1 -1
  127. package/dist/esm/models/bid-public-status.js +1 -1
  128. package/dist/esm/models/bid-qualification-review-dto.d.ts +1 -1
  129. package/dist/esm/models/bid-qualification-review-dto.js +1 -1
  130. package/dist/esm/models/bid-region-dto.d.ts +1 -1
  131. package/dist/esm/models/bid-region-dto.js +1 -1
  132. package/dist/esm/models/bid-region-restriction-dto.d.ts +1 -1
  133. package/dist/esm/models/bid-region-restriction-dto.js +1 -1
  134. package/dist/esm/models/bid-registered-response-dto.d.ts +1 -1
  135. package/dist/esm/models/bid-registered-response-dto.js +1 -1
  136. package/dist/esm/models/bid-related-bid-dto.d.ts +1 -1
  137. package/dist/esm/models/bid-related-bid-dto.js +1 -1
  138. package/dist/esm/models/bid-required-document-dto.d.ts +1 -1
  139. package/dist/esm/models/bid-required-document-dto.js +1 -1
  140. package/dist/esm/models/bid-result-participant-attachment-dto.d.ts +1 -1
  141. package/dist/esm/models/bid-result-participant-attachment-dto.js +1 -1
  142. package/dist/esm/models/bid-result-participant-dto.d.ts +1 -1
  143. package/dist/esm/models/bid-result-participant-dto.js +1 -1
  144. package/dist/esm/models/bid-results-response-dto.d.ts +1 -1
  145. package/dist/esm/models/bid-results-response-dto.js +1 -1
  146. package/dist/esm/models/bid-settlement-line-item-dto.d.ts +1 -1
  147. package/dist/esm/models/bid-settlement-line-item-dto.js +1 -1
  148. package/dist/esm/models/bid-settlement-participant-dto.d.ts +1 -1
  149. package/dist/esm/models/bid-settlement-participant-dto.js +1 -1
  150. package/dist/esm/models/bid-settlement-response-dto.d.ts +1 -1
  151. package/dist/esm/models/bid-settlement-response-dto.js +1 -1
  152. package/dist/esm/models/bid-site-briefing-dto.d.ts +1 -1
  153. package/dist/esm/models/bid-site-briefing-dto.js +1 -1
  154. package/dist/esm/models/bid-statement-response-dto.d.ts +1 -1
  155. package/dist/esm/models/bid-statement-response-dto.js +1 -1
  156. package/dist/esm/models/bid-summary-dto.d.ts +1 -1
  157. package/dist/esm/models/bid-summary-dto.js +1 -1
  158. package/dist/esm/models/bid-type-public.d.ts +1 -1
  159. package/dist/esm/models/bid-type-public.js +1 -1
  160. package/dist/esm/models/bid-updated-response-dto.d.ts +1 -1
  161. package/dist/esm/models/bid-updated-response-dto.js +1 -1
  162. package/dist/esm/models/bidding-style-public.d.ts +1 -1
  163. package/dist/esm/models/bidding-style-public.js +1 -1
  164. package/dist/esm/models/cancel-bid-request-dto.d.ts +1 -1
  165. package/dist/esm/models/cancel-bid-request-dto.js +1 -1
  166. package/dist/esm/models/cancel-bid200-response.d.ts +1 -1
  167. package/dist/esm/models/cancel-bid200-response.js +1 -1
  168. package/dist/esm/models/cancel-kcl-mro-order-request-dto.d.ts +1 -1
  169. package/dist/esm/models/cancel-kcl-mro-order-request-dto.js +1 -1
  170. package/dist/esm/models/cancel-kcl-mro-order-response-dto.d.ts +1 -1
  171. package/dist/esm/models/cancel-kcl-mro-order-response-dto.js +1 -1
  172. package/dist/esm/models/cancel-kcl-mro-order200-response.d.ts +1 -1
  173. package/dist/esm/models/cancel-kcl-mro-order200-response.js +1 -1
  174. package/dist/esm/models/card-payment-request-response-dto.d.ts +1 -1
  175. package/dist/esm/models/card-payment-request-response-dto.js +1 -1
  176. package/dist/esm/models/complete-acceptance-request-dto.d.ts +1 -1
  177. package/dist/esm/models/complete-acceptance-request-dto.js +1 -1
  178. package/dist/esm/models/complete-acceptance200-response.d.ts +1 -1
  179. package/dist/esm/models/complete-acceptance200-response.js +1 -1
  180. package/dist/esm/models/complete-invoice200-response.d.ts +1 -1
  181. package/dist/esm/models/complete-invoice200-response.js +1 -1
  182. package/dist/esm/models/complete-upload-request-dto.d.ts +1 -1
  183. package/dist/esm/models/complete-upload-request-dto.js +1 -1
  184. package/dist/esm/models/contract-restriction-confirm-input-dto.d.ts +1 -1
  185. package/dist/esm/models/contract-restriction-confirm-input-dto.js +1 -1
  186. package/dist/esm/models/create-bid-request-dto.d.ts +1 -1
  187. package/dist/esm/models/create-bid-request-dto.js +1 -1
  188. package/dist/esm/models/create-card-payment-dto.d.ts +1 -1
  189. package/dist/esm/models/create-card-payment-dto.js +1 -1
  190. package/dist/esm/models/create-card-payment-request-dto.d.ts +1 -1
  191. package/dist/esm/models/create-card-payment-request-dto.js +1 -1
  192. package/dist/esm/models/create-card-payment200-response.d.ts +1 -1
  193. package/dist/esm/models/create-card-payment200-response.js +1 -1
  194. package/dist/esm/models/create-embed-launch201-response.d.ts +1 -1
  195. package/dist/esm/models/create-embed-launch201-response.js +1 -1
  196. package/dist/esm/models/create-external-contract-documents-request-dto.d.ts +1 -1
  197. package/dist/esm/models/create-external-contract-documents-request-dto.js +1 -1
  198. package/dist/esm/models/create-external-contract-documents-response-dto.d.ts +1 -1
  199. package/dist/esm/models/create-external-contract-documents-response-dto.js +1 -1
  200. package/dist/esm/models/create-file-upload-url201-response.d.ts +1 -1
  201. package/dist/esm/models/create-file-upload-url201-response.js +1 -1
  202. package/dist/esm/models/create-upload-url-request-dto.d.ts +1 -1
  203. package/dist/esm/models/create-upload-url-request-dto.js +1 -1
  204. package/dist/esm/models/create-webhook-endpoint-request-dto.d.ts +1 -1
  205. package/dist/esm/models/create-webhook-endpoint-request-dto.js +1 -1
  206. package/dist/esm/models/create-webhook-endpoint201-response.d.ts +1 -1
  207. package/dist/esm/models/create-webhook-endpoint201-response.js +1 -1
  208. package/dist/esm/models/delivery-date-type-public.d.ts +1 -1
  209. package/dist/esm/models/delivery-date-type-public.js +1 -1
  210. package/dist/esm/models/delivery-method-public.d.ts +1 -1
  211. package/dist/esm/models/delivery-method-public.js +1 -1
  212. package/dist/esm/models/embed-bid-prefill-dto.d.ts +1 -1
  213. package/dist/esm/models/embed-bid-prefill-dto.js +1 -1
  214. package/dist/esm/models/embed-bid-prefill-item-dto.d.ts +1 -1
  215. package/dist/esm/models/embed-bid-prefill-item-dto.js +1 -1
  216. package/dist/esm/models/embed-bid-prefill-manager-dto.d.ts +1 -1
  217. package/dist/esm/models/embed-bid-prefill-manager-dto.js +1 -1
  218. package/dist/esm/models/embed-launch-request-dto.d.ts +1 -1
  219. package/dist/esm/models/embed-launch-request-dto.js +1 -1
  220. package/dist/esm/models/embed-launch-response-dto.d.ts +1 -1
  221. package/dist/esm/models/embed-launch-response-dto.js +1 -1
  222. package/dist/esm/models/excellent-procurement-public.d.ts +1 -1
  223. package/dist/esm/models/excellent-procurement-public.js +1 -1
  224. package/dist/esm/models/external-contract-document-item-dto.d.ts +1 -1
  225. package/dist/esm/models/external-contract-document-item-dto.js +1 -1
  226. package/dist/esm/models/external-contract-documents-response-dto.d.ts +1 -1
  227. package/dist/esm/models/external-contract-documents-response-dto.js +1 -1
  228. package/dist/esm/models/external-contract-item-dto.d.ts +1 -1
  229. package/dist/esm/models/external-contract-item-dto.js +1 -1
  230. package/dist/esm/models/external-contract-snapshot-dto.d.ts +1 -1
  231. package/dist/esm/models/external-contract-snapshot-dto.js +1 -1
  232. package/dist/esm/models/external-document-inputs-dto.d.ts +1 -1
  233. package/dist/esm/models/external-document-inputs-dto.js +1 -1
  234. package/dist/esm/models/file-meta-response-dto.d.ts +1 -1
  235. package/dist/esm/models/file-meta-response-dto.js +1 -1
  236. package/dist/esm/models/file-uploaded-response-dto.d.ts +1 -1
  237. package/dist/esm/models/file-uploaded-response-dto.js +1 -1
  238. package/dist/esm/models/generated-external-contract-document-dto.d.ts +1 -1
  239. package/dist/esm/models/generated-external-contract-document-dto.js +1 -1
  240. package/dist/esm/models/get-bid-settlement200-response.d.ts +1 -1
  241. package/dist/esm/models/get-bid-settlement200-response.js +1 -1
  242. package/dist/esm/models/get-bid-statement200-response.d.ts +1 -1
  243. package/dist/esm/models/get-bid-statement200-response.js +1 -1
  244. package/dist/esm/models/get-bid200-response.d.ts +1 -1
  245. package/dist/esm/models/get-bid200-response.js +1 -1
  246. package/dist/esm/models/get-file-meta200-response.d.ts +1 -1
  247. package/dist/esm/models/get-file-meta200-response.js +1 -1
  248. package/dist/esm/models/get-kcl-mro-order-status200-response.d.ts +1 -1
  249. package/dist/esm/models/get-kcl-mro-order-status200-response.js +1 -1
  250. package/dist/esm/models/get-supplier-card-payable-v2200-response.d.ts +1 -1
  251. package/dist/esm/models/get-supplier-card-payable-v2200-response.js +1 -1
  252. package/dist/esm/models/get-webhook-endpoint200-response.d.ts +1 -1
  253. package/dist/esm/models/get-webhook-endpoint200-response.js +1 -1
  254. package/dist/esm/models/green-product-public.d.ts +1 -1
  255. package/dist/esm/models/green-product-public.js +1 -1
  256. package/dist/esm/models/handover-type-public.d.ts +1 -1
  257. package/dist/esm/models/handover-type-public.js +1 -1
  258. package/dist/esm/models/health-controller-check200-response.d.ts +1 -1
  259. package/dist/esm/models/health-controller-check200-response.js +1 -1
  260. package/dist/esm/models/health-response-dto.d.ts +1 -1
  261. package/dist/esm/models/health-response-dto.js +1 -1
  262. package/dist/esm/models/hierarchical-region-dto.d.ts +1 -1
  263. package/dist/esm/models/hierarchical-region-dto.js +1 -1
  264. package/dist/esm/models/index.d.ts +1 -0
  265. package/dist/esm/models/index.js +1 -0
  266. package/dist/esm/models/introspect-request-dto.d.ts +1 -1
  267. package/dist/esm/models/introspect-request-dto.js +1 -1
  268. package/dist/esm/models/introspection-response-dto.d.ts +1 -1
  269. package/dist/esm/models/introspection-response-dto.js +1 -1
  270. package/dist/esm/models/invalid-param-dto.d.ts +1 -1
  271. package/dist/esm/models/invalid-param-dto.js +1 -1
  272. package/dist/esm/models/invoice-completed-response-dto.d.ts +1 -1
  273. package/dist/esm/models/invoice-completed-response-dto.js +1 -1
  274. package/dist/esm/models/invoice-split-response-dto.d.ts +1 -1
  275. package/dist/esm/models/invoice-split-response-dto.js +1 -1
  276. package/dist/esm/models/kcl-mro-order-item-dto.d.ts +1 -1
  277. package/dist/esm/models/kcl-mro-order-item-dto.js +1 -1
  278. package/dist/esm/models/kcl-mro-order-status-response-dto.d.ts +1 -1
  279. package/dist/esm/models/kcl-mro-order-status-response-dto.js +1 -1
  280. package/dist/esm/models/kcl-mro-quote-result-dto.d.ts +1 -1
  281. package/dist/esm/models/kcl-mro-quote-result-dto.js +1 -1
  282. package/dist/esm/models/kcl-mro-ship-to-dto.d.ts +1 -1
  283. package/dist/esm/models/kcl-mro-ship-to-dto.js +1 -1
  284. package/dist/esm/models/legal-mandatory-public.d.ts +1 -1
  285. package/dist/esm/models/legal-mandatory-public.js +1 -1
  286. package/dist/esm/models/license-combination-mode.d.ts +1 -1
  287. package/dist/esm/models/license-combination-mode.js +1 -1
  288. package/dist/esm/models/list-bid-results200-response.d.ts +1 -1
  289. package/dist/esm/models/list-bid-results200-response.js +1 -1
  290. package/dist/esm/models/list-bids200-response-meta.d.ts +1 -1
  291. package/dist/esm/models/list-bids200-response-meta.js +1 -1
  292. package/dist/esm/models/list-bids200-response.d.ts +1 -1
  293. package/dist/esm/models/list-bids200-response.js +1 -1
  294. package/dist/esm/models/list-products200-response.d.ts +1 -1
  295. package/dist/esm/models/list-products200-response.js +1 -1
  296. package/dist/esm/models/list-suppliers200-response.d.ts +1 -1
  297. package/dist/esm/models/list-suppliers200-response.js +1 -1
  298. package/dist/esm/models/list-webhook-deliveries-response-dto.d.ts +1 -1
  299. package/dist/esm/models/list-webhook-deliveries-response-dto.js +1 -1
  300. package/dist/esm/models/list-webhook-deliveries200-response.d.ts +1 -1
  301. package/dist/esm/models/list-webhook-deliveries200-response.js +1 -1
  302. package/dist/esm/models/list-webhook-endpoints200-response.d.ts +1 -1
  303. package/dist/esm/models/list-webhook-endpoints200-response.js +1 -1
  304. package/dist/esm/models/mark-bid-failed-request-dto.d.ts +1 -1
  305. package/dist/esm/models/mark-bid-failed-request-dto.js +1 -1
  306. package/dist/esm/models/mark-bid-failed201-response.d.ts +1 -1
  307. package/dist/esm/models/mark-bid-failed201-response.js +1 -1
  308. package/dist/esm/models/nominated-supplier-dto.d.ts +1 -1
  309. package/dist/esm/models/nominated-supplier-dto.js +1 -1
  310. package/dist/esm/models/oauth-error-response-dto.d.ts +1 -1
  311. package/dist/esm/models/oauth-error-response-dto.js +1 -1
  312. package/dist/esm/models/on-bid-award-reverted-request.d.ts +1 -1
  313. package/dist/esm/models/on-bid-award-reverted-request.js +1 -1
  314. package/dist/esm/models/on-bid-awarded-request.d.ts +1 -1
  315. package/dist/esm/models/on-bid-awarded-request.js +1 -1
  316. package/dist/esm/models/on-bid-canceled-request.d.ts +1 -1
  317. package/dist/esm/models/on-bid-canceled-request.js +1 -1
  318. package/dist/esm/models/on-bid-closed-request.d.ts +1 -1
  319. package/dist/esm/models/on-bid-closed-request.js +1 -1
  320. package/dist/esm/models/on-bid-failed-request.d.ts +1 -1
  321. package/dist/esm/models/on-bid-failed-request.js +1 -1
  322. package/dist/esm/models/on-ping-request.d.ts +1 -1
  323. package/dist/esm/models/on-ping-request.js +1 -1
  324. package/dist/esm/models/partner-webhook-delivery-status.d.ts +1 -1
  325. package/dist/esm/models/partner-webhook-delivery-status.js +1 -1
  326. package/dist/esm/models/partner-webhook-endpoint-status.d.ts +1 -1
  327. package/dist/esm/models/partner-webhook-endpoint-status.js +1 -1
  328. package/dist/esm/models/partner-webhook-event-type.d.ts +1 -1
  329. package/dist/esm/models/partner-webhook-event-type.js +1 -1
  330. package/dist/esm/models/payment-method-public.d.ts +1 -1
  331. package/dist/esm/models/payment-method-public.js +1 -1
  332. package/dist/esm/models/preconditions-dto.d.ts +1 -1
  333. package/dist/esm/models/preconditions-dto.js +1 -1
  334. package/dist/esm/models/preliminary-price-region-public.d.ts +1 -1
  335. package/dist/esm/models/preliminary-price-region-public.js +1 -1
  336. package/dist/esm/models/price-score-type-public.d.ts +1 -1
  337. package/dist/esm/models/price-score-type-public.js +1 -1
  338. package/dist/esm/models/pricing-type-public.d.ts +1 -1
  339. package/dist/esm/models/pricing-type-public.js +1 -1
  340. package/dist/esm/models/problem-details-dto.d.ts +1 -1
  341. package/dist/esm/models/problem-details-dto.js +1 -1
  342. package/dist/esm/models/product-receipt-response-dto.d.ts +1 -1
  343. package/dist/esm/models/product-receipt-response-dto.js +1 -1
  344. package/dist/esm/models/product-response-dto.d.ts +1 -1
  345. package/dist/esm/models/product-response-dto.js +1 -1
  346. package/dist/esm/models/protected-resource-metadata-dto.d.ts +1 -1
  347. package/dist/esm/models/protected-resource-metadata-dto.js +1 -1
  348. package/dist/esm/models/qualification-review-input-dto.d.ts +1 -1
  349. package/dist/esm/models/qualification-review-input-dto.js +1 -1
  350. package/dist/esm/models/register-award-request-dto.d.ts +1 -1
  351. package/dist/esm/models/register-award-request-dto.js +1 -1
  352. package/dist/esm/models/register-award201-response.d.ts +1 -1
  353. package/dist/esm/models/register-award201-response.js +1 -1
  354. package/dist/esm/models/register-bid201-response.d.ts +1 -1
  355. package/dist/esm/models/register-bid201-response.js +1 -1
  356. package/dist/esm/models/register-semo-contract-request-dto.d.ts +1 -1
  357. package/dist/esm/models/register-semo-contract-request-dto.js +1 -1
  358. package/dist/esm/models/regulation-type-public.d.ts +1 -1
  359. package/dist/esm/models/regulation-type-public.js +1 -1
  360. package/dist/esm/models/related-bid-relation.d.ts +1 -1
  361. package/dist/esm/models/related-bid-relation.js +1 -1
  362. package/dist/esm/models/relay-kcl-mro-order-request-dto.d.ts +1 -1
  363. package/dist/esm/models/relay-kcl-mro-order-request-dto.js +1 -1
  364. package/dist/esm/models/relay-kcl-mro-order-response-dto.d.ts +1 -1
  365. package/dist/esm/models/relay-kcl-mro-order-response-dto.js +1 -1
  366. package/dist/esm/models/relay-kcl-mro-order200-response.d.ts +1 -1
  367. package/dist/esm/models/relay-kcl-mro-order200-response.js +1 -1
  368. package/dist/esm/models/request-invoice-split-request-dto.d.ts +1 -1
  369. package/dist/esm/models/request-invoice-split-request-dto.js +1 -1
  370. package/dist/esm/models/request-invoice-split200-response.d.ts +1 -1
  371. package/dist/esm/models/request-invoice-split200-response.js +1 -1
  372. package/dist/esm/models/retiree-roster-input-dto.d.ts +1 -1
  373. package/dist/esm/models/retiree-roster-input-dto.js +1 -1
  374. package/dist/esm/models/retiree-roster-row-dto.d.ts +1 -1
  375. package/dist/esm/models/retiree-roster-row-dto.js +1 -1
  376. package/dist/esm/models/revert-award-request-dto.d.ts +1 -1
  377. package/dist/esm/models/revert-award-request-dto.js +1 -1
  378. package/dist/esm/models/revert-award200-response.d.ts +1 -1
  379. package/dist/esm/models/revert-award200-response.js +1 -1
  380. package/dist/esm/models/revoke-request-dto.d.ts +1 -1
  381. package/dist/esm/models/revoke-request-dto.js +1 -1
  382. package/dist/esm/models/semo-contract-registered-response-dto.d.ts +1 -1
  383. package/dist/esm/models/semo-contract-registered-response-dto.js +1 -1
  384. package/dist/esm/models/semo-contract-taxinvoice-status-response-dto.d.ts +1 -1
  385. package/dist/esm/models/semo-contract-taxinvoice-status-response-dto.js +1 -1
  386. package/dist/esm/models/send-webhook-test-event200-response.d.ts +1 -1
  387. package/dist/esm/models/send-webhook-test-event200-response.js +1 -1
  388. package/dist/esm/models/site-briefing-input-dto.d.ts +1 -1
  389. package/dist/esm/models/site-briefing-input-dto.js +1 -1
  390. package/dist/esm/models/statement-document-dto.d.ts +1 -1
  391. package/dist/esm/models/statement-document-dto.js +1 -1
  392. package/dist/esm/models/statement-product-dto.d.ts +1 -1
  393. package/dist/esm/models/statement-product-dto.js +1 -1
  394. package/dist/esm/models/supplier-card-payable-response-dto.d.ts +1 -1
  395. package/dist/esm/models/supplier-card-payable-response-dto.js +1 -1
  396. package/dist/esm/models/supplier-response-dto.d.ts +1 -1
  397. package/dist/esm/models/supplier-response-dto.js +1 -1
  398. package/dist/esm/models/supplier-tax-type.d.ts +1 -1
  399. package/dist/esm/models/supplier-tax-type.js +1 -1
  400. package/dist/esm/models/taxation-type-public.d.ts +1 -1
  401. package/dist/esm/models/taxation-type-public.js +1 -1
  402. package/dist/esm/models/token-request-dto.d.ts +15 -2
  403. package/dist/esm/models/token-request-dto.js +2 -1
  404. package/dist/esm/models/token-response-dto.d.ts +1 -1
  405. package/dist/esm/models/token-response-dto.js +1 -1
  406. package/dist/esm/models/two-stage-phase-public.d.ts +1 -1
  407. package/dist/esm/models/two-stage-phase-public.js +1 -1
  408. package/dist/esm/models/update-bid-request-dto.d.ts +1 -1
  409. package/dist/esm/models/update-bid-request-dto.js +1 -1
  410. package/dist/esm/models/update-bid200-response.d.ts +1 -1
  411. package/dist/esm/models/update-bid200-response.js +1 -1
  412. package/dist/esm/models/update-webhook-endpoint-request-dto.d.ts +1 -1
  413. package/dist/esm/models/update-webhook-endpoint-request-dto.js +1 -1
  414. package/dist/esm/models/upload-file-request-dto.d.ts +1 -1
  415. package/dist/esm/models/upload-file-request-dto.js +1 -1
  416. package/dist/esm/models/upload-file201-response.d.ts +1 -1
  417. package/dist/esm/models/upload-file201-response.js +1 -1
  418. package/dist/esm/models/upload-url-created-response-dto.d.ts +1 -1
  419. package/dist/esm/models/upload-url-created-response-dto.js +1 -1
  420. package/dist/esm/models/userinfo-response-dto.d.ts +55 -0
  421. package/dist/esm/models/userinfo-response-dto.js +18 -0
  422. package/dist/esm/models/webhook-bid-event-data.d.ts +1 -1
  423. package/dist/esm/models/webhook-bid-event-data.js +1 -1
  424. package/dist/esm/models/webhook-delivery-dto.d.ts +1 -1
  425. package/dist/esm/models/webhook-delivery-dto.js +1 -1
  426. package/dist/esm/models/webhook-endpoint-dto.d.ts +1 -1
  427. package/dist/esm/models/webhook-endpoint-dto.js +1 -1
  428. package/dist/esm/models/webhook-endpoint-with-secret-dto.d.ts +1 -1
  429. package/dist/esm/models/webhook-endpoint-with-secret-dto.js +1 -1
  430. package/dist/esm/models/webhook-event-envelope.d.ts +1 -1
  431. package/dist/esm/models/webhook-event-envelope.js +1 -1
  432. package/dist/esm/models/webhook-ping-event-data.d.ts +1 -1
  433. package/dist/esm/models/webhook-ping-event-data.js +1 -1
  434. package/dist/esm/models/webhook-test-result-dto.d.ts +1 -1
  435. package/dist/esm/models/webhook-test-result-dto.js +1 -1
  436. package/dist/index.d.ts +1 -1
  437. package/dist/index.js +1 -1
  438. package/dist/models/acceptance-result-response-dto.d.ts +1 -1
  439. package/dist/models/acceptance-result-response-dto.js +1 -1
  440. package/dist/models/acknowledge-product-receipt200-response.d.ts +1 -1
  441. package/dist/models/acknowledge-product-receipt200-response.js +1 -1
  442. package/dist/models/acknowledge-products-request-dto.d.ts +1 -1
  443. package/dist/models/acknowledge-products-request-dto.js +1 -1
  444. package/dist/models/api-catalog-dto.d.ts +1 -1
  445. package/dist/models/api-catalog-dto.js +1 -1
  446. package/dist/models/api-catalog-entry-dto.d.ts +1 -1
  447. package/dist/models/api-catalog-entry-dto.js +1 -1
  448. package/dist/models/api-catalog-link-dto.d.ts +1 -1
  449. package/dist/models/api-catalog-link-dto.js +1 -1
  450. package/dist/models/authorization-server-metadata-dto.d.ts +1 -1
  451. package/dist/models/authorization-server-metadata-dto.js +1 -1
  452. package/dist/models/avalues-input-dto.d.ts +1 -1
  453. package/dist/models/avalues-input-dto.js +1 -1
  454. package/dist/models/award-method-public.d.ts +1 -1
  455. package/dist/models/award-method-public.js +1 -1
  456. package/dist/models/award-registered-v2-response-dto.d.ts +1 -1
  457. package/dist/models/award-registered-v2-response-dto.js +1 -1
  458. package/dist/models/award-reverted-v2-response-dto.d.ts +1 -1
  459. package/dist/models/award-reverted-v2-response-dto.js +1 -1
  460. package/dist/models/bid-acceptance-dto.d.ts +1 -1
  461. package/dist/models/bid-acceptance-dto.js +1 -1
  462. package/dist/models/bid-attachment-dto.d.ts +1 -1
  463. package/dist/models/bid-attachment-dto.js +1 -1
  464. package/dist/models/bid-attachment-input-dto.d.ts +1 -1
  465. package/dist/models/bid-attachment-input-dto.js +1 -1
  466. package/dist/models/bid-avalues-dto.d.ts +1 -1
  467. package/dist/models/bid-avalues-dto.js +1 -1
  468. package/dist/models/bid-award-method-detail-dto.d.ts +1 -1
  469. package/dist/models/bid-award-method-detail-dto.js +1 -1
  470. package/dist/models/bid-bond-dto.d.ts +1 -1
  471. package/dist/models/bid-bond-dto.js +1 -1
  472. package/dist/models/bid-cancellation-dto.d.ts +1 -1
  473. package/dist/models/bid-cancellation-dto.js +1 -1
  474. package/dist/models/bid-cancelled-response-dto.d.ts +1 -1
  475. package/dist/models/bid-cancelled-response-dto.js +1 -1
  476. package/dist/models/bid-category-public.d.ts +1 -1
  477. package/dist/models/bid-category-public.js +1 -1
  478. package/dist/models/bid-contact-dto.d.ts +1 -1
  479. package/dist/models/bid-contact-dto.js +1 -1
  480. package/dist/models/bid-contacts-dto.d.ts +1 -1
  481. package/dist/models/bid-contacts-dto.js +1 -1
  482. package/dist/models/bid-contract-document-dto.d.ts +1 -1
  483. package/dist/models/bid-contract-document-dto.js +1 -1
  484. package/dist/models/bid-delivery-terms-dto.d.ts +1 -1
  485. package/dist/models/bid-delivery-terms-dto.js +1 -1
  486. package/dist/models/bid-detail-response-dto.d.ts +1 -1
  487. package/dist/models/bid-detail-response-dto.js +1 -1
  488. package/dist/models/bid-document-dto.d.ts +1 -1
  489. package/dist/models/bid-document-dto.js +1 -1
  490. package/dist/models/bid-failed-v2-response-dto.d.ts +1 -1
  491. package/dist/models/bid-failed-v2-response-dto.js +1 -1
  492. package/dist/models/bid-item-dto.d.ts +1 -1
  493. package/dist/models/bid-item-dto.js +1 -1
  494. package/dist/models/bid-license-requirement-dto.d.ts +1 -1
  495. package/dist/models/bid-license-requirement-dto.js +1 -1
  496. package/dist/models/bid-lifecycle-dto.d.ts +1 -1
  497. package/dist/models/bid-lifecycle-dto.js +1 -1
  498. package/dist/models/bid-manager-dto.d.ts +1 -1
  499. package/dist/models/bid-manager-dto.js +1 -1
  500. package/dist/models/bid-must-read-notice-dto.d.ts +1 -1
  501. package/dist/models/bid-must-read-notice-dto.js +1 -1
  502. package/dist/models/bid-payment-terms-dto.d.ts +1 -1
  503. package/dist/models/bid-payment-terms-dto.js +1 -1
  504. package/dist/models/bid-preliminary-price-dto.d.ts +1 -1
  505. package/dist/models/bid-preliminary-price-dto.js +1 -1
  506. package/dist/models/bid-preliminary-price-slot-dto.d.ts +1 -1
  507. package/dist/models/bid-preliminary-price-slot-dto.js +1 -1
  508. package/dist/models/bid-product-dto.d.ts +1 -1
  509. package/dist/models/bid-product-dto.js +1 -1
  510. package/dist/models/bid-public-status.d.ts +1 -1
  511. package/dist/models/bid-public-status.js +1 -1
  512. package/dist/models/bid-qualification-review-dto.d.ts +1 -1
  513. package/dist/models/bid-qualification-review-dto.js +1 -1
  514. package/dist/models/bid-region-dto.d.ts +1 -1
  515. package/dist/models/bid-region-dto.js +1 -1
  516. package/dist/models/bid-region-restriction-dto.d.ts +1 -1
  517. package/dist/models/bid-region-restriction-dto.js +1 -1
  518. package/dist/models/bid-registered-response-dto.d.ts +1 -1
  519. package/dist/models/bid-registered-response-dto.js +1 -1
  520. package/dist/models/bid-related-bid-dto.d.ts +1 -1
  521. package/dist/models/bid-related-bid-dto.js +1 -1
  522. package/dist/models/bid-required-document-dto.d.ts +1 -1
  523. package/dist/models/bid-required-document-dto.js +1 -1
  524. package/dist/models/bid-result-participant-attachment-dto.d.ts +1 -1
  525. package/dist/models/bid-result-participant-attachment-dto.js +1 -1
  526. package/dist/models/bid-result-participant-dto.d.ts +1 -1
  527. package/dist/models/bid-result-participant-dto.js +1 -1
  528. package/dist/models/bid-results-response-dto.d.ts +1 -1
  529. package/dist/models/bid-results-response-dto.js +1 -1
  530. package/dist/models/bid-settlement-line-item-dto.d.ts +1 -1
  531. package/dist/models/bid-settlement-line-item-dto.js +1 -1
  532. package/dist/models/bid-settlement-participant-dto.d.ts +1 -1
  533. package/dist/models/bid-settlement-participant-dto.js +1 -1
  534. package/dist/models/bid-settlement-response-dto.d.ts +1 -1
  535. package/dist/models/bid-settlement-response-dto.js +1 -1
  536. package/dist/models/bid-site-briefing-dto.d.ts +1 -1
  537. package/dist/models/bid-site-briefing-dto.js +1 -1
  538. package/dist/models/bid-statement-response-dto.d.ts +1 -1
  539. package/dist/models/bid-statement-response-dto.js +1 -1
  540. package/dist/models/bid-summary-dto.d.ts +1 -1
  541. package/dist/models/bid-summary-dto.js +1 -1
  542. package/dist/models/bid-type-public.d.ts +1 -1
  543. package/dist/models/bid-type-public.js +1 -1
  544. package/dist/models/bid-updated-response-dto.d.ts +1 -1
  545. package/dist/models/bid-updated-response-dto.js +1 -1
  546. package/dist/models/bidding-style-public.d.ts +1 -1
  547. package/dist/models/bidding-style-public.js +1 -1
  548. package/dist/models/cancel-bid-request-dto.d.ts +1 -1
  549. package/dist/models/cancel-bid-request-dto.js +1 -1
  550. package/dist/models/cancel-bid200-response.d.ts +1 -1
  551. package/dist/models/cancel-bid200-response.js +1 -1
  552. package/dist/models/cancel-kcl-mro-order-request-dto.d.ts +1 -1
  553. package/dist/models/cancel-kcl-mro-order-request-dto.js +1 -1
  554. package/dist/models/cancel-kcl-mro-order-response-dto.d.ts +1 -1
  555. package/dist/models/cancel-kcl-mro-order-response-dto.js +1 -1
  556. package/dist/models/cancel-kcl-mro-order200-response.d.ts +1 -1
  557. package/dist/models/cancel-kcl-mro-order200-response.js +1 -1
  558. package/dist/models/card-payment-request-response-dto.d.ts +1 -1
  559. package/dist/models/card-payment-request-response-dto.js +1 -1
  560. package/dist/models/complete-acceptance-request-dto.d.ts +1 -1
  561. package/dist/models/complete-acceptance-request-dto.js +1 -1
  562. package/dist/models/complete-acceptance200-response.d.ts +1 -1
  563. package/dist/models/complete-acceptance200-response.js +1 -1
  564. package/dist/models/complete-invoice200-response.d.ts +1 -1
  565. package/dist/models/complete-invoice200-response.js +1 -1
  566. package/dist/models/complete-upload-request-dto.d.ts +1 -1
  567. package/dist/models/complete-upload-request-dto.js +1 -1
  568. package/dist/models/contract-restriction-confirm-input-dto.d.ts +1 -1
  569. package/dist/models/contract-restriction-confirm-input-dto.js +1 -1
  570. package/dist/models/create-bid-request-dto.d.ts +1 -1
  571. package/dist/models/create-bid-request-dto.js +1 -1
  572. package/dist/models/create-card-payment-dto.d.ts +1 -1
  573. package/dist/models/create-card-payment-dto.js +1 -1
  574. package/dist/models/create-card-payment-request-dto.d.ts +1 -1
  575. package/dist/models/create-card-payment-request-dto.js +1 -1
  576. package/dist/models/create-card-payment200-response.d.ts +1 -1
  577. package/dist/models/create-card-payment200-response.js +1 -1
  578. package/dist/models/create-embed-launch201-response.d.ts +1 -1
  579. package/dist/models/create-embed-launch201-response.js +1 -1
  580. package/dist/models/create-external-contract-documents-request-dto.d.ts +1 -1
  581. package/dist/models/create-external-contract-documents-request-dto.js +1 -1
  582. package/dist/models/create-external-contract-documents-response-dto.d.ts +1 -1
  583. package/dist/models/create-external-contract-documents-response-dto.js +1 -1
  584. package/dist/models/create-file-upload-url201-response.d.ts +1 -1
  585. package/dist/models/create-file-upload-url201-response.js +1 -1
  586. package/dist/models/create-upload-url-request-dto.d.ts +1 -1
  587. package/dist/models/create-upload-url-request-dto.js +1 -1
  588. package/dist/models/create-webhook-endpoint-request-dto.d.ts +1 -1
  589. package/dist/models/create-webhook-endpoint-request-dto.js +1 -1
  590. package/dist/models/create-webhook-endpoint201-response.d.ts +1 -1
  591. package/dist/models/create-webhook-endpoint201-response.js +1 -1
  592. package/dist/models/delivery-date-type-public.d.ts +1 -1
  593. package/dist/models/delivery-date-type-public.js +1 -1
  594. package/dist/models/delivery-method-public.d.ts +1 -1
  595. package/dist/models/delivery-method-public.js +1 -1
  596. package/dist/models/embed-bid-prefill-dto.d.ts +1 -1
  597. package/dist/models/embed-bid-prefill-dto.js +1 -1
  598. package/dist/models/embed-bid-prefill-item-dto.d.ts +1 -1
  599. package/dist/models/embed-bid-prefill-item-dto.js +1 -1
  600. package/dist/models/embed-bid-prefill-manager-dto.d.ts +1 -1
  601. package/dist/models/embed-bid-prefill-manager-dto.js +1 -1
  602. package/dist/models/embed-launch-request-dto.d.ts +1 -1
  603. package/dist/models/embed-launch-request-dto.js +1 -1
  604. package/dist/models/embed-launch-response-dto.d.ts +1 -1
  605. package/dist/models/embed-launch-response-dto.js +1 -1
  606. package/dist/models/excellent-procurement-public.d.ts +1 -1
  607. package/dist/models/excellent-procurement-public.js +1 -1
  608. package/dist/models/external-contract-document-item-dto.d.ts +1 -1
  609. package/dist/models/external-contract-document-item-dto.js +1 -1
  610. package/dist/models/external-contract-documents-response-dto.d.ts +1 -1
  611. package/dist/models/external-contract-documents-response-dto.js +1 -1
  612. package/dist/models/external-contract-item-dto.d.ts +1 -1
  613. package/dist/models/external-contract-item-dto.js +1 -1
  614. package/dist/models/external-contract-snapshot-dto.d.ts +1 -1
  615. package/dist/models/external-contract-snapshot-dto.js +1 -1
  616. package/dist/models/external-document-inputs-dto.d.ts +1 -1
  617. package/dist/models/external-document-inputs-dto.js +1 -1
  618. package/dist/models/file-meta-response-dto.d.ts +1 -1
  619. package/dist/models/file-meta-response-dto.js +1 -1
  620. package/dist/models/file-uploaded-response-dto.d.ts +1 -1
  621. package/dist/models/file-uploaded-response-dto.js +1 -1
  622. package/dist/models/generated-external-contract-document-dto.d.ts +1 -1
  623. package/dist/models/generated-external-contract-document-dto.js +1 -1
  624. package/dist/models/get-bid-settlement200-response.d.ts +1 -1
  625. package/dist/models/get-bid-settlement200-response.js +1 -1
  626. package/dist/models/get-bid-statement200-response.d.ts +1 -1
  627. package/dist/models/get-bid-statement200-response.js +1 -1
  628. package/dist/models/get-bid200-response.d.ts +1 -1
  629. package/dist/models/get-bid200-response.js +1 -1
  630. package/dist/models/get-file-meta200-response.d.ts +1 -1
  631. package/dist/models/get-file-meta200-response.js +1 -1
  632. package/dist/models/get-kcl-mro-order-status200-response.d.ts +1 -1
  633. package/dist/models/get-kcl-mro-order-status200-response.js +1 -1
  634. package/dist/models/get-supplier-card-payable-v2200-response.d.ts +1 -1
  635. package/dist/models/get-supplier-card-payable-v2200-response.js +1 -1
  636. package/dist/models/get-webhook-endpoint200-response.d.ts +1 -1
  637. package/dist/models/get-webhook-endpoint200-response.js +1 -1
  638. package/dist/models/green-product-public.d.ts +1 -1
  639. package/dist/models/green-product-public.js +1 -1
  640. package/dist/models/handover-type-public.d.ts +1 -1
  641. package/dist/models/handover-type-public.js +1 -1
  642. package/dist/models/health-controller-check200-response.d.ts +1 -1
  643. package/dist/models/health-controller-check200-response.js +1 -1
  644. package/dist/models/health-response-dto.d.ts +1 -1
  645. package/dist/models/health-response-dto.js +1 -1
  646. package/dist/models/hierarchical-region-dto.d.ts +1 -1
  647. package/dist/models/hierarchical-region-dto.js +1 -1
  648. package/dist/models/index.d.ts +1 -0
  649. package/dist/models/index.js +1 -0
  650. package/dist/models/introspect-request-dto.d.ts +1 -1
  651. package/dist/models/introspect-request-dto.js +1 -1
  652. package/dist/models/introspection-response-dto.d.ts +1 -1
  653. package/dist/models/introspection-response-dto.js +1 -1
  654. package/dist/models/invalid-param-dto.d.ts +1 -1
  655. package/dist/models/invalid-param-dto.js +1 -1
  656. package/dist/models/invoice-completed-response-dto.d.ts +1 -1
  657. package/dist/models/invoice-completed-response-dto.js +1 -1
  658. package/dist/models/invoice-split-response-dto.d.ts +1 -1
  659. package/dist/models/invoice-split-response-dto.js +1 -1
  660. package/dist/models/kcl-mro-order-item-dto.d.ts +1 -1
  661. package/dist/models/kcl-mro-order-item-dto.js +1 -1
  662. package/dist/models/kcl-mro-order-status-response-dto.d.ts +1 -1
  663. package/dist/models/kcl-mro-order-status-response-dto.js +1 -1
  664. package/dist/models/kcl-mro-quote-result-dto.d.ts +1 -1
  665. package/dist/models/kcl-mro-quote-result-dto.js +1 -1
  666. package/dist/models/kcl-mro-ship-to-dto.d.ts +1 -1
  667. package/dist/models/kcl-mro-ship-to-dto.js +1 -1
  668. package/dist/models/legal-mandatory-public.d.ts +1 -1
  669. package/dist/models/legal-mandatory-public.js +1 -1
  670. package/dist/models/license-combination-mode.d.ts +1 -1
  671. package/dist/models/license-combination-mode.js +1 -1
  672. package/dist/models/list-bid-results200-response.d.ts +1 -1
  673. package/dist/models/list-bid-results200-response.js +1 -1
  674. package/dist/models/list-bids200-response-meta.d.ts +1 -1
  675. package/dist/models/list-bids200-response-meta.js +1 -1
  676. package/dist/models/list-bids200-response.d.ts +1 -1
  677. package/dist/models/list-bids200-response.js +1 -1
  678. package/dist/models/list-products200-response.d.ts +1 -1
  679. package/dist/models/list-products200-response.js +1 -1
  680. package/dist/models/list-suppliers200-response.d.ts +1 -1
  681. package/dist/models/list-suppliers200-response.js +1 -1
  682. package/dist/models/list-webhook-deliveries-response-dto.d.ts +1 -1
  683. package/dist/models/list-webhook-deliveries-response-dto.js +1 -1
  684. package/dist/models/list-webhook-deliveries200-response.d.ts +1 -1
  685. package/dist/models/list-webhook-deliveries200-response.js +1 -1
  686. package/dist/models/list-webhook-endpoints200-response.d.ts +1 -1
  687. package/dist/models/list-webhook-endpoints200-response.js +1 -1
  688. package/dist/models/mark-bid-failed-request-dto.d.ts +1 -1
  689. package/dist/models/mark-bid-failed-request-dto.js +1 -1
  690. package/dist/models/mark-bid-failed201-response.d.ts +1 -1
  691. package/dist/models/mark-bid-failed201-response.js +1 -1
  692. package/dist/models/nominated-supplier-dto.d.ts +1 -1
  693. package/dist/models/nominated-supplier-dto.js +1 -1
  694. package/dist/models/oauth-error-response-dto.d.ts +1 -1
  695. package/dist/models/oauth-error-response-dto.js +1 -1
  696. package/dist/models/on-bid-award-reverted-request.d.ts +1 -1
  697. package/dist/models/on-bid-award-reverted-request.js +1 -1
  698. package/dist/models/on-bid-awarded-request.d.ts +1 -1
  699. package/dist/models/on-bid-awarded-request.js +1 -1
  700. package/dist/models/on-bid-canceled-request.d.ts +1 -1
  701. package/dist/models/on-bid-canceled-request.js +1 -1
  702. package/dist/models/on-bid-closed-request.d.ts +1 -1
  703. package/dist/models/on-bid-closed-request.js +1 -1
  704. package/dist/models/on-bid-failed-request.d.ts +1 -1
  705. package/dist/models/on-bid-failed-request.js +1 -1
  706. package/dist/models/on-ping-request.d.ts +1 -1
  707. package/dist/models/on-ping-request.js +1 -1
  708. package/dist/models/partner-webhook-delivery-status.d.ts +1 -1
  709. package/dist/models/partner-webhook-delivery-status.js +1 -1
  710. package/dist/models/partner-webhook-endpoint-status.d.ts +1 -1
  711. package/dist/models/partner-webhook-endpoint-status.js +1 -1
  712. package/dist/models/partner-webhook-event-type.d.ts +1 -1
  713. package/dist/models/partner-webhook-event-type.js +1 -1
  714. package/dist/models/payment-method-public.d.ts +1 -1
  715. package/dist/models/payment-method-public.js +1 -1
  716. package/dist/models/preconditions-dto.d.ts +1 -1
  717. package/dist/models/preconditions-dto.js +1 -1
  718. package/dist/models/preliminary-price-region-public.d.ts +1 -1
  719. package/dist/models/preliminary-price-region-public.js +1 -1
  720. package/dist/models/price-score-type-public.d.ts +1 -1
  721. package/dist/models/price-score-type-public.js +1 -1
  722. package/dist/models/pricing-type-public.d.ts +1 -1
  723. package/dist/models/pricing-type-public.js +1 -1
  724. package/dist/models/problem-details-dto.d.ts +1 -1
  725. package/dist/models/problem-details-dto.js +1 -1
  726. package/dist/models/product-receipt-response-dto.d.ts +1 -1
  727. package/dist/models/product-receipt-response-dto.js +1 -1
  728. package/dist/models/product-response-dto.d.ts +1 -1
  729. package/dist/models/product-response-dto.js +1 -1
  730. package/dist/models/protected-resource-metadata-dto.d.ts +1 -1
  731. package/dist/models/protected-resource-metadata-dto.js +1 -1
  732. package/dist/models/qualification-review-input-dto.d.ts +1 -1
  733. package/dist/models/qualification-review-input-dto.js +1 -1
  734. package/dist/models/register-award-request-dto.d.ts +1 -1
  735. package/dist/models/register-award-request-dto.js +1 -1
  736. package/dist/models/register-award201-response.d.ts +1 -1
  737. package/dist/models/register-award201-response.js +1 -1
  738. package/dist/models/register-bid201-response.d.ts +1 -1
  739. package/dist/models/register-bid201-response.js +1 -1
  740. package/dist/models/register-semo-contract-request-dto.d.ts +1 -1
  741. package/dist/models/register-semo-contract-request-dto.js +1 -1
  742. package/dist/models/regulation-type-public.d.ts +1 -1
  743. package/dist/models/regulation-type-public.js +1 -1
  744. package/dist/models/related-bid-relation.d.ts +1 -1
  745. package/dist/models/related-bid-relation.js +1 -1
  746. package/dist/models/relay-kcl-mro-order-request-dto.d.ts +1 -1
  747. package/dist/models/relay-kcl-mro-order-request-dto.js +1 -1
  748. package/dist/models/relay-kcl-mro-order-response-dto.d.ts +1 -1
  749. package/dist/models/relay-kcl-mro-order-response-dto.js +1 -1
  750. package/dist/models/relay-kcl-mro-order200-response.d.ts +1 -1
  751. package/dist/models/relay-kcl-mro-order200-response.js +1 -1
  752. package/dist/models/request-invoice-split-request-dto.d.ts +1 -1
  753. package/dist/models/request-invoice-split-request-dto.js +1 -1
  754. package/dist/models/request-invoice-split200-response.d.ts +1 -1
  755. package/dist/models/request-invoice-split200-response.js +1 -1
  756. package/dist/models/retiree-roster-input-dto.d.ts +1 -1
  757. package/dist/models/retiree-roster-input-dto.js +1 -1
  758. package/dist/models/retiree-roster-row-dto.d.ts +1 -1
  759. package/dist/models/retiree-roster-row-dto.js +1 -1
  760. package/dist/models/revert-award-request-dto.d.ts +1 -1
  761. package/dist/models/revert-award-request-dto.js +1 -1
  762. package/dist/models/revert-award200-response.d.ts +1 -1
  763. package/dist/models/revert-award200-response.js +1 -1
  764. package/dist/models/revoke-request-dto.d.ts +1 -1
  765. package/dist/models/revoke-request-dto.js +1 -1
  766. package/dist/models/semo-contract-registered-response-dto.d.ts +1 -1
  767. package/dist/models/semo-contract-registered-response-dto.js +1 -1
  768. package/dist/models/semo-contract-taxinvoice-status-response-dto.d.ts +1 -1
  769. package/dist/models/semo-contract-taxinvoice-status-response-dto.js +1 -1
  770. package/dist/models/send-webhook-test-event200-response.d.ts +1 -1
  771. package/dist/models/send-webhook-test-event200-response.js +1 -1
  772. package/dist/models/site-briefing-input-dto.d.ts +1 -1
  773. package/dist/models/site-briefing-input-dto.js +1 -1
  774. package/dist/models/statement-document-dto.d.ts +1 -1
  775. package/dist/models/statement-document-dto.js +1 -1
  776. package/dist/models/statement-product-dto.d.ts +1 -1
  777. package/dist/models/statement-product-dto.js +1 -1
  778. package/dist/models/supplier-card-payable-response-dto.d.ts +1 -1
  779. package/dist/models/supplier-card-payable-response-dto.js +1 -1
  780. package/dist/models/supplier-response-dto.d.ts +1 -1
  781. package/dist/models/supplier-response-dto.js +1 -1
  782. package/dist/models/supplier-tax-type.d.ts +1 -1
  783. package/dist/models/supplier-tax-type.js +1 -1
  784. package/dist/models/taxation-type-public.d.ts +1 -1
  785. package/dist/models/taxation-type-public.js +1 -1
  786. package/dist/models/token-request-dto.d.ts +15 -2
  787. package/dist/models/token-request-dto.js +2 -1
  788. package/dist/models/token-response-dto.d.ts +1 -1
  789. package/dist/models/token-response-dto.js +1 -1
  790. package/dist/models/two-stage-phase-public.d.ts +1 -1
  791. package/dist/models/two-stage-phase-public.js +1 -1
  792. package/dist/models/update-bid-request-dto.d.ts +1 -1
  793. package/dist/models/update-bid-request-dto.js +1 -1
  794. package/dist/models/update-bid200-response.d.ts +1 -1
  795. package/dist/models/update-bid200-response.js +1 -1
  796. package/dist/models/update-webhook-endpoint-request-dto.d.ts +1 -1
  797. package/dist/models/update-webhook-endpoint-request-dto.js +1 -1
  798. package/dist/models/upload-file-request-dto.d.ts +1 -1
  799. package/dist/models/upload-file-request-dto.js +1 -1
  800. package/dist/models/upload-file201-response.d.ts +1 -1
  801. package/dist/models/upload-file201-response.js +1 -1
  802. package/dist/models/upload-url-created-response-dto.d.ts +1 -1
  803. package/dist/models/upload-url-created-response-dto.js +1 -1
  804. package/dist/models/userinfo-response-dto.d.ts +55 -0
  805. package/dist/models/userinfo-response-dto.js +21 -0
  806. package/dist/models/webhook-bid-event-data.d.ts +1 -1
  807. package/dist/models/webhook-bid-event-data.js +1 -1
  808. package/dist/models/webhook-delivery-dto.d.ts +1 -1
  809. package/dist/models/webhook-delivery-dto.js +1 -1
  810. package/dist/models/webhook-endpoint-dto.d.ts +1 -1
  811. package/dist/models/webhook-endpoint-dto.js +1 -1
  812. package/dist/models/webhook-endpoint-with-secret-dto.d.ts +1 -1
  813. package/dist/models/webhook-endpoint-with-secret-dto.js +1 -1
  814. package/dist/models/webhook-event-envelope.d.ts +1 -1
  815. package/dist/models/webhook-event-envelope.js +1 -1
  816. package/dist/models/webhook-ping-event-data.d.ts +1 -1
  817. package/dist/models/webhook-ping-event-data.js +1 -1
  818. package/dist/models/webhook-test-result-dto.d.ts +1 -1
  819. package/dist/models/webhook-test-result-dto.js +1 -1
  820. package/docs/OauthApi.md +46 -0
  821. package/docs/TokenRequestDto.md +7 -1
  822. package/docs/UserinfoResponseDto.md +36 -0
  823. package/index.ts +1 -1
  824. package/models/acceptance-result-response-dto.ts +1 -1
  825. package/models/acknowledge-product-receipt200-response.ts +1 -1
  826. package/models/acknowledge-products-request-dto.ts +1 -1
  827. package/models/api-catalog-dto.ts +1 -1
  828. package/models/api-catalog-entry-dto.ts +1 -1
  829. package/models/api-catalog-link-dto.ts +1 -1
  830. package/models/authorization-server-metadata-dto.ts +1 -1
  831. package/models/avalues-input-dto.ts +1 -1
  832. package/models/award-method-public.ts +1 -1
  833. package/models/award-registered-v2-response-dto.ts +1 -1
  834. package/models/award-reverted-v2-response-dto.ts +1 -1
  835. package/models/bid-acceptance-dto.ts +1 -1
  836. package/models/bid-attachment-dto.ts +1 -1
  837. package/models/bid-attachment-input-dto.ts +1 -1
  838. package/models/bid-avalues-dto.ts +1 -1
  839. package/models/bid-award-method-detail-dto.ts +1 -1
  840. package/models/bid-bond-dto.ts +1 -1
  841. package/models/bid-cancellation-dto.ts +1 -1
  842. package/models/bid-cancelled-response-dto.ts +1 -1
  843. package/models/bid-category-public.ts +1 -1
  844. package/models/bid-contact-dto.ts +1 -1
  845. package/models/bid-contacts-dto.ts +1 -1
  846. package/models/bid-contract-document-dto.ts +1 -1
  847. package/models/bid-delivery-terms-dto.ts +1 -1
  848. package/models/bid-detail-response-dto.ts +1 -1
  849. package/models/bid-document-dto.ts +1 -1
  850. package/models/bid-failed-v2-response-dto.ts +1 -1
  851. package/models/bid-item-dto.ts +1 -1
  852. package/models/bid-license-requirement-dto.ts +1 -1
  853. package/models/bid-lifecycle-dto.ts +1 -1
  854. package/models/bid-manager-dto.ts +1 -1
  855. package/models/bid-must-read-notice-dto.ts +1 -1
  856. package/models/bid-payment-terms-dto.ts +1 -1
  857. package/models/bid-preliminary-price-dto.ts +1 -1
  858. package/models/bid-preliminary-price-slot-dto.ts +1 -1
  859. package/models/bid-product-dto.ts +1 -1
  860. package/models/bid-public-status.ts +1 -1
  861. package/models/bid-qualification-review-dto.ts +1 -1
  862. package/models/bid-region-dto.ts +1 -1
  863. package/models/bid-region-restriction-dto.ts +1 -1
  864. package/models/bid-registered-response-dto.ts +1 -1
  865. package/models/bid-related-bid-dto.ts +1 -1
  866. package/models/bid-required-document-dto.ts +1 -1
  867. package/models/bid-result-participant-attachment-dto.ts +1 -1
  868. package/models/bid-result-participant-dto.ts +1 -1
  869. package/models/bid-results-response-dto.ts +1 -1
  870. package/models/bid-settlement-line-item-dto.ts +1 -1
  871. package/models/bid-settlement-participant-dto.ts +1 -1
  872. package/models/bid-settlement-response-dto.ts +1 -1
  873. package/models/bid-site-briefing-dto.ts +1 -1
  874. package/models/bid-statement-response-dto.ts +1 -1
  875. package/models/bid-summary-dto.ts +1 -1
  876. package/models/bid-type-public.ts +1 -1
  877. package/models/bid-updated-response-dto.ts +1 -1
  878. package/models/bidding-style-public.ts +1 -1
  879. package/models/cancel-bid-request-dto.ts +1 -1
  880. package/models/cancel-bid200-response.ts +1 -1
  881. package/models/cancel-kcl-mro-order-request-dto.ts +1 -1
  882. package/models/cancel-kcl-mro-order-response-dto.ts +1 -1
  883. package/models/cancel-kcl-mro-order200-response.ts +1 -1
  884. package/models/card-payment-request-response-dto.ts +1 -1
  885. package/models/complete-acceptance-request-dto.ts +1 -1
  886. package/models/complete-acceptance200-response.ts +1 -1
  887. package/models/complete-invoice200-response.ts +1 -1
  888. package/models/complete-upload-request-dto.ts +1 -1
  889. package/models/contract-restriction-confirm-input-dto.ts +1 -1
  890. package/models/create-bid-request-dto.ts +1 -1
  891. package/models/create-card-payment-dto.ts +1 -1
  892. package/models/create-card-payment-request-dto.ts +1 -1
  893. package/models/create-card-payment200-response.ts +1 -1
  894. package/models/create-embed-launch201-response.ts +1 -1
  895. package/models/create-external-contract-documents-request-dto.ts +1 -1
  896. package/models/create-external-contract-documents-response-dto.ts +1 -1
  897. package/models/create-file-upload-url201-response.ts +1 -1
  898. package/models/create-upload-url-request-dto.ts +1 -1
  899. package/models/create-webhook-endpoint-request-dto.ts +1 -1
  900. package/models/create-webhook-endpoint201-response.ts +1 -1
  901. package/models/delivery-date-type-public.ts +1 -1
  902. package/models/delivery-method-public.ts +1 -1
  903. package/models/embed-bid-prefill-dto.ts +1 -1
  904. package/models/embed-bid-prefill-item-dto.ts +1 -1
  905. package/models/embed-bid-prefill-manager-dto.ts +1 -1
  906. package/models/embed-launch-request-dto.ts +1 -1
  907. package/models/embed-launch-response-dto.ts +1 -1
  908. package/models/excellent-procurement-public.ts +1 -1
  909. package/models/external-contract-document-item-dto.ts +1 -1
  910. package/models/external-contract-documents-response-dto.ts +1 -1
  911. package/models/external-contract-item-dto.ts +1 -1
  912. package/models/external-contract-snapshot-dto.ts +1 -1
  913. package/models/external-document-inputs-dto.ts +1 -1
  914. package/models/file-meta-response-dto.ts +1 -1
  915. package/models/file-uploaded-response-dto.ts +1 -1
  916. package/models/generated-external-contract-document-dto.ts +1 -1
  917. package/models/get-bid-settlement200-response.ts +1 -1
  918. package/models/get-bid-statement200-response.ts +1 -1
  919. package/models/get-bid200-response.ts +1 -1
  920. package/models/get-file-meta200-response.ts +1 -1
  921. package/models/get-kcl-mro-order-status200-response.ts +1 -1
  922. package/models/get-supplier-card-payable-v2200-response.ts +1 -1
  923. package/models/get-webhook-endpoint200-response.ts +1 -1
  924. package/models/green-product-public.ts +1 -1
  925. package/models/handover-type-public.ts +1 -1
  926. package/models/health-controller-check200-response.ts +1 -1
  927. package/models/health-response-dto.ts +1 -1
  928. package/models/hierarchical-region-dto.ts +1 -1
  929. package/models/index.ts +1 -0
  930. package/models/introspect-request-dto.ts +1 -1
  931. package/models/introspection-response-dto.ts +1 -1
  932. package/models/invalid-param-dto.ts +1 -1
  933. package/models/invoice-completed-response-dto.ts +1 -1
  934. package/models/invoice-split-response-dto.ts +1 -1
  935. package/models/kcl-mro-order-item-dto.ts +1 -1
  936. package/models/kcl-mro-order-status-response-dto.ts +1 -1
  937. package/models/kcl-mro-quote-result-dto.ts +1 -1
  938. package/models/kcl-mro-ship-to-dto.ts +1 -1
  939. package/models/legal-mandatory-public.ts +1 -1
  940. package/models/license-combination-mode.ts +1 -1
  941. package/models/list-bid-results200-response.ts +1 -1
  942. package/models/list-bids200-response-meta.ts +1 -1
  943. package/models/list-bids200-response.ts +1 -1
  944. package/models/list-products200-response.ts +1 -1
  945. package/models/list-suppliers200-response.ts +1 -1
  946. package/models/list-webhook-deliveries-response-dto.ts +1 -1
  947. package/models/list-webhook-deliveries200-response.ts +1 -1
  948. package/models/list-webhook-endpoints200-response.ts +1 -1
  949. package/models/mark-bid-failed-request-dto.ts +1 -1
  950. package/models/mark-bid-failed201-response.ts +1 -1
  951. package/models/nominated-supplier-dto.ts +1 -1
  952. package/models/oauth-error-response-dto.ts +1 -1
  953. package/models/on-bid-award-reverted-request.ts +1 -1
  954. package/models/on-bid-awarded-request.ts +1 -1
  955. package/models/on-bid-canceled-request.ts +1 -1
  956. package/models/on-bid-closed-request.ts +1 -1
  957. package/models/on-bid-failed-request.ts +1 -1
  958. package/models/on-ping-request.ts +1 -1
  959. package/models/partner-webhook-delivery-status.ts +1 -1
  960. package/models/partner-webhook-endpoint-status.ts +1 -1
  961. package/models/partner-webhook-event-type.ts +1 -1
  962. package/models/payment-method-public.ts +1 -1
  963. package/models/preconditions-dto.ts +1 -1
  964. package/models/preliminary-price-region-public.ts +1 -1
  965. package/models/price-score-type-public.ts +1 -1
  966. package/models/pricing-type-public.ts +1 -1
  967. package/models/problem-details-dto.ts +1 -1
  968. package/models/product-receipt-response-dto.ts +1 -1
  969. package/models/product-response-dto.ts +1 -1
  970. package/models/protected-resource-metadata-dto.ts +1 -1
  971. package/models/qualification-review-input-dto.ts +1 -1
  972. package/models/register-award-request-dto.ts +1 -1
  973. package/models/register-award201-response.ts +1 -1
  974. package/models/register-bid201-response.ts +1 -1
  975. package/models/register-semo-contract-request-dto.ts +1 -1
  976. package/models/regulation-type-public.ts +1 -1
  977. package/models/related-bid-relation.ts +1 -1
  978. package/models/relay-kcl-mro-order-request-dto.ts +1 -1
  979. package/models/relay-kcl-mro-order-response-dto.ts +1 -1
  980. package/models/relay-kcl-mro-order200-response.ts +1 -1
  981. package/models/request-invoice-split-request-dto.ts +1 -1
  982. package/models/request-invoice-split200-response.ts +1 -1
  983. package/models/retiree-roster-input-dto.ts +1 -1
  984. package/models/retiree-roster-row-dto.ts +1 -1
  985. package/models/revert-award-request-dto.ts +1 -1
  986. package/models/revert-award200-response.ts +1 -1
  987. package/models/revoke-request-dto.ts +1 -1
  988. package/models/semo-contract-registered-response-dto.ts +1 -1
  989. package/models/semo-contract-taxinvoice-status-response-dto.ts +1 -1
  990. package/models/send-webhook-test-event200-response.ts +1 -1
  991. package/models/site-briefing-input-dto.ts +1 -1
  992. package/models/statement-document-dto.ts +1 -1
  993. package/models/statement-product-dto.ts +1 -1
  994. package/models/supplier-card-payable-response-dto.ts +1 -1
  995. package/models/supplier-response-dto.ts +1 -1
  996. package/models/supplier-tax-type.ts +1 -1
  997. package/models/taxation-type-public.ts +1 -1
  998. package/models/token-request-dto.ts +15 -2
  999. package/models/token-response-dto.ts +1 -1
  1000. package/models/two-stage-phase-public.ts +1 -1
  1001. package/models/update-bid-request-dto.ts +1 -1
  1002. package/models/update-bid200-response.ts +1 -1
  1003. package/models/update-webhook-endpoint-request-dto.ts +1 -1
  1004. package/models/upload-file-request-dto.ts +1 -1
  1005. package/models/upload-file201-response.ts +1 -1
  1006. package/models/upload-url-created-response-dto.ts +1 -1
  1007. package/models/userinfo-response-dto.ts +64 -0
  1008. package/models/webhook-bid-event-data.ts +1 -1
  1009. package/models/webhook-delivery-dto.ts +1 -1
  1010. package/models/webhook-endpoint-dto.ts +1 -1
  1011. package/models/webhook-endpoint-with-secret-dto.ts +1 -1
  1012. package/models/webhook-event-envelope.ts +1 -1
  1013. package/models/webhook-ping-event-data.ts +1 -1
  1014. package/models/webhook-test-result-dto.ts +1 -1
  1015. package/package.json +1 -1
@@ -2,7 +2,7 @@
2
2
  * CMARKET V6 Partner API
3
3
  * 외부 ERP 연동용 RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token`에서 토큰을 발급받아 `Authorization: Bearer <token>` 헤더로 실으세요. ## 권한 — 두 개의 독립된 축 `403`을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분하세요. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등입니다. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않습니다. 범위 밖이면 스코프와 무관하게 403입니다. 대행 범위는 키마다 둘 중 하나로 설정됩니다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주기관 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청하세요. ## 성공 응답 형식 `/v2`의 모든 2xx 본문은 `{ \"data\": … }`입니다. 단일 리소스든 목록이든 같습니다. **목록은 `data`가 배열이고 `meta`가 항상 함께 실립니다** — `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. 단일 리소스 응답에는 `meta`가 나가지 않습니다. 이 형식을 쓰지 않는 엔드포인트는 둘입니다. `/oauth/_*`와 `/.well-known/_*`는 각각 RFC 6749·RFC 8414·RFC 9728이 최상위 필드를 규정하고, 파일 내용 응답은 본문이 JSON이 아닙니다. 에러 응답에는 이 형식을 씌우지 않습니다 — 아래 problem+json이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2`의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`입니다. **HTTP status + `type` URI** 로 분기하세요. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도하고, `false`면 요청을 고쳐야 합니다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId`와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId`를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). - `code`: 조달플랫폼이 요청을 거부한 **사유 코드**(`…/upstream-*` 응답에 함께 옵니다). `type`은 상태 수준이고 `detail`은 고정 문구라, 무엇을 고쳐야 하는지는 이 값이 알려 줍니다 — 예: `BID_INVALID_BID_DATE_RANGE`(마감이 시작보다 이름), `BID_DUPLICATE_PURCHASE_NO`(같은 조달번호의 공고가 진행 중). 안정 식별자이므로 문자열로 분기해도 됩니다. `type`은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**입니다. RFC 9457 §3.1.1이 허용하는 대로 이 URI는 **역참조(dereference)되지 않습니다** — 브라우저로 열지 말고 문자열 비교로만 쓰세요. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 적혀 있습니다. ### 멱등성 위반: 409와 422의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**입니다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받습니다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈습니다. 재시도해도 영원히 같은 실패이니 새 키를 쓰거나 body를 되돌리세요. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분** 입니다. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나갑니다 — 신규 연동은 표준 필드를 쓰세요. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지합니다. `429` 에서는 `Retry-After`(초)가 우선합니다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도하세요. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급합니다. 모든 응답(성공/에러)에 `X-Correlation-Id`가 실립니다. ## 전방호환 — 모르는 필드와 값에서 깨지지 않게 다음 셋은 breaking 변경으로 보지 않으며 minor 릴리스에서 예고 없이 일어납니다. 이 전제로 구현하세요. - **선택 필드 추가**: 모르는 필드는 무시하세요. 엄격 파서(unknown key 거부)를 쓰지 마세요. - **enum 값 추가**: 상태·낙찰방법 등에 새 값이 생깁니다. 모르는 값을 만나면 예외를 던지지 말고 원문 문자열을 보존하세요. - **problem `type` slug 추가**: 모르는 slug은 **HTTP status로 폴백**해 분기하세요. ## 버전 수명(deprecation/sunset) - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지합니다. 이 헤더를 모니터링하세요.
4
4
  *
5
- * The version of the OpenAPI document: 45.6.0
5
+ * The version of the OpenAPI document: 45.7.0
6
6
  * Contact: semo.io.kr@gmail.com
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -5,7 +5,7 @@
5
5
  * CMARKET V6 Partner API
6
6
  * 외부 ERP 연동용 RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token`에서 토큰을 발급받아 `Authorization: Bearer <token>` 헤더로 실으세요. ## 권한 — 두 개의 독립된 축 `403`을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분하세요. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등입니다. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않습니다. 범위 밖이면 스코프와 무관하게 403입니다. 대행 범위는 키마다 둘 중 하나로 설정됩니다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주기관 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청하세요. ## 성공 응답 형식 `/v2`의 모든 2xx 본문은 `{ \"data\": … }`입니다. 단일 리소스든 목록이든 같습니다. **목록은 `data`가 배열이고 `meta`가 항상 함께 실립니다** — `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. 단일 리소스 응답에는 `meta`가 나가지 않습니다. 이 형식을 쓰지 않는 엔드포인트는 둘입니다. `/oauth/_*`와 `/.well-known/_*`는 각각 RFC 6749·RFC 8414·RFC 9728이 최상위 필드를 규정하고, 파일 내용 응답은 본문이 JSON이 아닙니다. 에러 응답에는 이 형식을 씌우지 않습니다 — 아래 problem+json이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2`의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`입니다. **HTTP status + `type` URI** 로 분기하세요. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도하고, `false`면 요청을 고쳐야 합니다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId`와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId`를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). - `code`: 조달플랫폼이 요청을 거부한 **사유 코드**(`…/upstream-*` 응답에 함께 옵니다). `type`은 상태 수준이고 `detail`은 고정 문구라, 무엇을 고쳐야 하는지는 이 값이 알려 줍니다 — 예: `BID_INVALID_BID_DATE_RANGE`(마감이 시작보다 이름), `BID_DUPLICATE_PURCHASE_NO`(같은 조달번호의 공고가 진행 중). 안정 식별자이므로 문자열로 분기해도 됩니다. `type`은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**입니다. RFC 9457 §3.1.1이 허용하는 대로 이 URI는 **역참조(dereference)되지 않습니다** — 브라우저로 열지 말고 문자열 비교로만 쓰세요. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 적혀 있습니다. ### 멱등성 위반: 409와 422의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**입니다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받습니다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈습니다. 재시도해도 영원히 같은 실패이니 새 키를 쓰거나 body를 되돌리세요. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분** 입니다. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나갑니다 — 신규 연동은 표준 필드를 쓰세요. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지합니다. `429` 에서는 `Retry-After`(초)가 우선합니다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도하세요. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급합니다. 모든 응답(성공/에러)에 `X-Correlation-Id`가 실립니다. ## 전방호환 — 모르는 필드와 값에서 깨지지 않게 다음 셋은 breaking 변경으로 보지 않으며 minor 릴리스에서 예고 없이 일어납니다. 이 전제로 구현하세요. - **선택 필드 추가**: 모르는 필드는 무시하세요. 엄격 파서(unknown key 거부)를 쓰지 마세요. - **enum 값 추가**: 상태·낙찰방법 등에 새 값이 생깁니다. 모르는 값을 만나면 예외를 던지지 말고 원문 문자열을 보존하세요. - **problem `type` slug 추가**: 모르는 slug은 **HTTP status로 폴백**해 분기하세요. ## 버전 수명(deprecation/sunset) - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지합니다. 이 헤더를 모니터링하세요.
7
7
  *
8
- * The version of the OpenAPI document: 45.6.0
8
+ * The version of the OpenAPI document: 45.7.0
9
9
  * Contact: semo.io.kr@gmail.com
10
10
  *
11
11
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,7 +2,7 @@
2
2
  * CMARKET V6 Partner API
3
3
  * 외부 ERP 연동용 RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token`에서 토큰을 발급받아 `Authorization: Bearer <token>` 헤더로 실으세요. ## 권한 — 두 개의 독립된 축 `403`을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분하세요. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등입니다. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않습니다. 범위 밖이면 스코프와 무관하게 403입니다. 대행 범위는 키마다 둘 중 하나로 설정됩니다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주기관 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청하세요. ## 성공 응답 형식 `/v2`의 모든 2xx 본문은 `{ \"data\": … }`입니다. 단일 리소스든 목록이든 같습니다. **목록은 `data`가 배열이고 `meta`가 항상 함께 실립니다** — `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. 단일 리소스 응답에는 `meta`가 나가지 않습니다. 이 형식을 쓰지 않는 엔드포인트는 둘입니다. `/oauth/_*`와 `/.well-known/_*`는 각각 RFC 6749·RFC 8414·RFC 9728이 최상위 필드를 규정하고, 파일 내용 응답은 본문이 JSON이 아닙니다. 에러 응답에는 이 형식을 씌우지 않습니다 — 아래 problem+json이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2`의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`입니다. **HTTP status + `type` URI** 로 분기하세요. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도하고, `false`면 요청을 고쳐야 합니다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId`와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId`를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). - `code`: 조달플랫폼이 요청을 거부한 **사유 코드**(`…/upstream-*` 응답에 함께 옵니다). `type`은 상태 수준이고 `detail`은 고정 문구라, 무엇을 고쳐야 하는지는 이 값이 알려 줍니다 — 예: `BID_INVALID_BID_DATE_RANGE`(마감이 시작보다 이름), `BID_DUPLICATE_PURCHASE_NO`(같은 조달번호의 공고가 진행 중). 안정 식별자이므로 문자열로 분기해도 됩니다. `type`은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**입니다. RFC 9457 §3.1.1이 허용하는 대로 이 URI는 **역참조(dereference)되지 않습니다** — 브라우저로 열지 말고 문자열 비교로만 쓰세요. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 적혀 있습니다. ### 멱등성 위반: 409와 422의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**입니다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받습니다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈습니다. 재시도해도 영원히 같은 실패이니 새 키를 쓰거나 body를 되돌리세요. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분** 입니다. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나갑니다 — 신규 연동은 표준 필드를 쓰세요. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지합니다. `429` 에서는 `Retry-After`(초)가 우선합니다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도하세요. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급합니다. 모든 응답(성공/에러)에 `X-Correlation-Id`가 실립니다. ## 전방호환 — 모르는 필드와 값에서 깨지지 않게 다음 셋은 breaking 변경으로 보지 않으며 minor 릴리스에서 예고 없이 일어납니다. 이 전제로 구현하세요. - **선택 필드 추가**: 모르는 필드는 무시하세요. 엄격 파서(unknown key 거부)를 쓰지 마세요. - **enum 값 추가**: 상태·낙찰방법 등에 새 값이 생깁니다. 모르는 값을 만나면 예외를 던지지 말고 원문 문자열을 보존하세요. - **problem `type` slug 추가**: 모르는 slug은 **HTTP status로 폴백**해 분기하세요. ## 버전 수명(deprecation/sunset) - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지합니다. 이 헤더를 모니터링하세요.
4
4
  *
5
- * The version of the OpenAPI document: 45.6.0
5
+ * The version of the OpenAPI document: 45.7.0
6
6
  * Contact: semo.io.kr@gmail.com
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -5,7 +5,7 @@
5
5
  * CMARKET V6 Partner API
6
6
  * 외부 ERP 연동용 RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token`에서 토큰을 발급받아 `Authorization: Bearer <token>` 헤더로 실으세요. ## 권한 — 두 개의 독립된 축 `403`을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분하세요. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등입니다. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않습니다. 범위 밖이면 스코프와 무관하게 403입니다. 대행 범위는 키마다 둘 중 하나로 설정됩니다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주기관 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청하세요. ## 성공 응답 형식 `/v2`의 모든 2xx 본문은 `{ \"data\": … }`입니다. 단일 리소스든 목록이든 같습니다. **목록은 `data`가 배열이고 `meta`가 항상 함께 실립니다** — `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. 단일 리소스 응답에는 `meta`가 나가지 않습니다. 이 형식을 쓰지 않는 엔드포인트는 둘입니다. `/oauth/_*`와 `/.well-known/_*`는 각각 RFC 6749·RFC 8414·RFC 9728이 최상위 필드를 규정하고, 파일 내용 응답은 본문이 JSON이 아닙니다. 에러 응답에는 이 형식을 씌우지 않습니다 — 아래 problem+json이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2`의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`입니다. **HTTP status + `type` URI** 로 분기하세요. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도하고, `false`면 요청을 고쳐야 합니다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId`와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId`를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). - `code`: 조달플랫폼이 요청을 거부한 **사유 코드**(`…/upstream-*` 응답에 함께 옵니다). `type`은 상태 수준이고 `detail`은 고정 문구라, 무엇을 고쳐야 하는지는 이 값이 알려 줍니다 — 예: `BID_INVALID_BID_DATE_RANGE`(마감이 시작보다 이름), `BID_DUPLICATE_PURCHASE_NO`(같은 조달번호의 공고가 진행 중). 안정 식별자이므로 문자열로 분기해도 됩니다. `type`은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**입니다. RFC 9457 §3.1.1이 허용하는 대로 이 URI는 **역참조(dereference)되지 않습니다** — 브라우저로 열지 말고 문자열 비교로만 쓰세요. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 적혀 있습니다. ### 멱등성 위반: 409와 422의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**입니다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받습니다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈습니다. 재시도해도 영원히 같은 실패이니 새 키를 쓰거나 body를 되돌리세요. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분** 입니다. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나갑니다 — 신규 연동은 표준 필드를 쓰세요. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지합니다. `429` 에서는 `Retry-After`(초)가 우선합니다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도하세요. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급합니다. 모든 응답(성공/에러)에 `X-Correlation-Id`가 실립니다. ## 전방호환 — 모르는 필드와 값에서 깨지지 않게 다음 셋은 breaking 변경으로 보지 않으며 minor 릴리스에서 예고 없이 일어납니다. 이 전제로 구현하세요. - **선택 필드 추가**: 모르는 필드는 무시하세요. 엄격 파서(unknown key 거부)를 쓰지 마세요. - **enum 값 추가**: 상태·낙찰방법 등에 새 값이 생깁니다. 모르는 값을 만나면 예외를 던지지 말고 원문 문자열을 보존하세요. - **problem `type` slug 추가**: 모르는 slug은 **HTTP status로 폴백**해 분기하세요. ## 버전 수명(deprecation/sunset) - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지합니다. 이 헤더를 모니터링하세요.
7
7
  *
8
- * The version of the OpenAPI document: 45.6.0
8
+ * The version of the OpenAPI document: 45.7.0
9
9
  * Contact: semo.io.kr@gmail.com
10
10
  *
11
11
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,7 +2,7 @@
2
2
  * CMARKET V6 Partner API
3
3
  * 외부 ERP 연동용 RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token`에서 토큰을 발급받아 `Authorization: Bearer <token>` 헤더로 실으세요. ## 권한 — 두 개의 독립된 축 `403`을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분하세요. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등입니다. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않습니다. 범위 밖이면 스코프와 무관하게 403입니다. 대행 범위는 키마다 둘 중 하나로 설정됩니다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주기관 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청하세요. ## 성공 응답 형식 `/v2`의 모든 2xx 본문은 `{ \"data\": … }`입니다. 단일 리소스든 목록이든 같습니다. **목록은 `data`가 배열이고 `meta`가 항상 함께 실립니다** — `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. 단일 리소스 응답에는 `meta`가 나가지 않습니다. 이 형식을 쓰지 않는 엔드포인트는 둘입니다. `/oauth/_*`와 `/.well-known/_*`는 각각 RFC 6749·RFC 8414·RFC 9728이 최상위 필드를 규정하고, 파일 내용 응답은 본문이 JSON이 아닙니다. 에러 응답에는 이 형식을 씌우지 않습니다 — 아래 problem+json이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2`의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`입니다. **HTTP status + `type` URI** 로 분기하세요. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도하고, `false`면 요청을 고쳐야 합니다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId`와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId`를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). - `code`: 조달플랫폼이 요청을 거부한 **사유 코드**(`…/upstream-*` 응답에 함께 옵니다). `type`은 상태 수준이고 `detail`은 고정 문구라, 무엇을 고쳐야 하는지는 이 값이 알려 줍니다 — 예: `BID_INVALID_BID_DATE_RANGE`(마감이 시작보다 이름), `BID_DUPLICATE_PURCHASE_NO`(같은 조달번호의 공고가 진행 중). 안정 식별자이므로 문자열로 분기해도 됩니다. `type`은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**입니다. RFC 9457 §3.1.1이 허용하는 대로 이 URI는 **역참조(dereference)되지 않습니다** — 브라우저로 열지 말고 문자열 비교로만 쓰세요. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 적혀 있습니다. ### 멱등성 위반: 409와 422의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**입니다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받습니다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈습니다. 재시도해도 영원히 같은 실패이니 새 키를 쓰거나 body를 되돌리세요. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분** 입니다. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나갑니다 — 신규 연동은 표준 필드를 쓰세요. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지합니다. `429` 에서는 `Retry-After`(초)가 우선합니다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도하세요. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급합니다. 모든 응답(성공/에러)에 `X-Correlation-Id`가 실립니다. ## 전방호환 — 모르는 필드와 값에서 깨지지 않게 다음 셋은 breaking 변경으로 보지 않으며 minor 릴리스에서 예고 없이 일어납니다. 이 전제로 구현하세요. - **선택 필드 추가**: 모르는 필드는 무시하세요. 엄격 파서(unknown key 거부)를 쓰지 마세요. - **enum 값 추가**: 상태·낙찰방법 등에 새 값이 생깁니다. 모르는 값을 만나면 예외를 던지지 말고 원문 문자열을 보존하세요. - **problem `type` slug 추가**: 모르는 slug은 **HTTP status로 폴백**해 분기하세요. ## 버전 수명(deprecation/sunset) - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지합니다. 이 헤더를 모니터링하세요.
4
4
  *
5
- * The version of the OpenAPI document: 45.6.0
5
+ * The version of the OpenAPI document: 45.7.0
6
6
  * Contact: semo.io.kr@gmail.com
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -5,7 +5,7 @@
5
5
  * CMARKET V6 Partner API
6
6
  * 외부 ERP 연동용 RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token`에서 토큰을 발급받아 `Authorization: Bearer <token>` 헤더로 실으세요. ## 권한 — 두 개의 독립된 축 `403`을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분하세요. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등입니다. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않습니다. 범위 밖이면 스코프와 무관하게 403입니다. 대행 범위는 키마다 둘 중 하나로 설정됩니다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주기관 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청하세요. ## 성공 응답 형식 `/v2`의 모든 2xx 본문은 `{ \"data\": … }`입니다. 단일 리소스든 목록이든 같습니다. **목록은 `data`가 배열이고 `meta`가 항상 함께 실립니다** — `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. 단일 리소스 응답에는 `meta`가 나가지 않습니다. 이 형식을 쓰지 않는 엔드포인트는 둘입니다. `/oauth/_*`와 `/.well-known/_*`는 각각 RFC 6749·RFC 8414·RFC 9728이 최상위 필드를 규정하고, 파일 내용 응답은 본문이 JSON이 아닙니다. 에러 응답에는 이 형식을 씌우지 않습니다 — 아래 problem+json이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2`의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`입니다. **HTTP status + `type` URI** 로 분기하세요. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도하고, `false`면 요청을 고쳐야 합니다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId`와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId`를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). - `code`: 조달플랫폼이 요청을 거부한 **사유 코드**(`…/upstream-*` 응답에 함께 옵니다). `type`은 상태 수준이고 `detail`은 고정 문구라, 무엇을 고쳐야 하는지는 이 값이 알려 줍니다 — 예: `BID_INVALID_BID_DATE_RANGE`(마감이 시작보다 이름), `BID_DUPLICATE_PURCHASE_NO`(같은 조달번호의 공고가 진행 중). 안정 식별자이므로 문자열로 분기해도 됩니다. `type`은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**입니다. RFC 9457 §3.1.1이 허용하는 대로 이 URI는 **역참조(dereference)되지 않습니다** — 브라우저로 열지 말고 문자열 비교로만 쓰세요. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 적혀 있습니다. ### 멱등성 위반: 409와 422의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**입니다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받습니다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈습니다. 재시도해도 영원히 같은 실패이니 새 키를 쓰거나 body를 되돌리세요. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분** 입니다. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나갑니다 — 신규 연동은 표준 필드를 쓰세요. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지합니다. `429` 에서는 `Retry-After`(초)가 우선합니다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도하세요. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급합니다. 모든 응답(성공/에러)에 `X-Correlation-Id`가 실립니다. ## 전방호환 — 모르는 필드와 값에서 깨지지 않게 다음 셋은 breaking 변경으로 보지 않으며 minor 릴리스에서 예고 없이 일어납니다. 이 전제로 구현하세요. - **선택 필드 추가**: 모르는 필드는 무시하세요. 엄격 파서(unknown key 거부)를 쓰지 마세요. - **enum 값 추가**: 상태·낙찰방법 등에 새 값이 생깁니다. 모르는 값을 만나면 예외를 던지지 말고 원문 문자열을 보존하세요. - **problem `type` slug 추가**: 모르는 slug은 **HTTP status로 폴백**해 분기하세요. ## 버전 수명(deprecation/sunset) - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지합니다. 이 헤더를 모니터링하세요.
7
7
  *
8
- * The version of the OpenAPI document: 45.6.0
8
+ * The version of the OpenAPI document: 45.7.0
9
9
  * Contact: semo.io.kr@gmail.com
10
10
  *
11
11
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,7 +2,7 @@
2
2
  * CMARKET V6 Partner API
3
3
  * 외부 ERP 연동용 RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token`에서 토큰을 발급받아 `Authorization: Bearer <token>` 헤더로 실으세요. ## 권한 — 두 개의 독립된 축 `403`을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분하세요. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등입니다. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않습니다. 범위 밖이면 스코프와 무관하게 403입니다. 대행 범위는 키마다 둘 중 하나로 설정됩니다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주기관 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청하세요. ## 성공 응답 형식 `/v2`의 모든 2xx 본문은 `{ \"data\": … }`입니다. 단일 리소스든 목록이든 같습니다. **목록은 `data`가 배열이고 `meta`가 항상 함께 실립니다** — `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. 단일 리소스 응답에는 `meta`가 나가지 않습니다. 이 형식을 쓰지 않는 엔드포인트는 둘입니다. `/oauth/_*`와 `/.well-known/_*`는 각각 RFC 6749·RFC 8414·RFC 9728이 최상위 필드를 규정하고, 파일 내용 응답은 본문이 JSON이 아닙니다. 에러 응답에는 이 형식을 씌우지 않습니다 — 아래 problem+json이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2`의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`입니다. **HTTP status + `type` URI** 로 분기하세요. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도하고, `false`면 요청을 고쳐야 합니다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId`와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId`를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). - `code`: 조달플랫폼이 요청을 거부한 **사유 코드**(`…/upstream-*` 응답에 함께 옵니다). `type`은 상태 수준이고 `detail`은 고정 문구라, 무엇을 고쳐야 하는지는 이 값이 알려 줍니다 — 예: `BID_INVALID_BID_DATE_RANGE`(마감이 시작보다 이름), `BID_DUPLICATE_PURCHASE_NO`(같은 조달번호의 공고가 진행 중). 안정 식별자이므로 문자열로 분기해도 됩니다. `type`은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**입니다. RFC 9457 §3.1.1이 허용하는 대로 이 URI는 **역참조(dereference)되지 않습니다** — 브라우저로 열지 말고 문자열 비교로만 쓰세요. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 적혀 있습니다. ### 멱등성 위반: 409와 422의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**입니다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받습니다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈습니다. 재시도해도 영원히 같은 실패이니 새 키를 쓰거나 body를 되돌리세요. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분** 입니다. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나갑니다 — 신규 연동은 표준 필드를 쓰세요. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지합니다. `429` 에서는 `Retry-After`(초)가 우선합니다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도하세요. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급합니다. 모든 응답(성공/에러)에 `X-Correlation-Id`가 실립니다. ## 전방호환 — 모르는 필드와 값에서 깨지지 않게 다음 셋은 breaking 변경으로 보지 않으며 minor 릴리스에서 예고 없이 일어납니다. 이 전제로 구현하세요. - **선택 필드 추가**: 모르는 필드는 무시하세요. 엄격 파서(unknown key 거부)를 쓰지 마세요. - **enum 값 추가**: 상태·낙찰방법 등에 새 값이 생깁니다. 모르는 값을 만나면 예외를 던지지 말고 원문 문자열을 보존하세요. - **problem `type` slug 추가**: 모르는 slug은 **HTTP status로 폴백**해 분기하세요. ## 버전 수명(deprecation/sunset) - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지합니다. 이 헤더를 모니터링하세요.
4
4
  *
5
- * The version of the OpenAPI document: 45.6.0
5
+ * The version of the OpenAPI document: 45.7.0
6
6
  * Contact: semo.io.kr@gmail.com
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -5,7 +5,7 @@
5
5
  * CMARKET V6 Partner API
6
6
  * 외부 ERP 연동용 RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token`에서 토큰을 발급받아 `Authorization: Bearer <token>` 헤더로 실으세요. ## 권한 — 두 개의 독립된 축 `403`을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분하세요. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등입니다. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않습니다. 범위 밖이면 스코프와 무관하게 403입니다. 대행 범위는 키마다 둘 중 하나로 설정됩니다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주기관 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청하세요. ## 성공 응답 형식 `/v2`의 모든 2xx 본문은 `{ \"data\": … }`입니다. 단일 리소스든 목록이든 같습니다. **목록은 `data`가 배열이고 `meta`가 항상 함께 실립니다** — `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. 단일 리소스 응답에는 `meta`가 나가지 않습니다. 이 형식을 쓰지 않는 엔드포인트는 둘입니다. `/oauth/_*`와 `/.well-known/_*`는 각각 RFC 6749·RFC 8414·RFC 9728이 최상위 필드를 규정하고, 파일 내용 응답은 본문이 JSON이 아닙니다. 에러 응답에는 이 형식을 씌우지 않습니다 — 아래 problem+json이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2`의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`입니다. **HTTP status + `type` URI** 로 분기하세요. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도하고, `false`면 요청을 고쳐야 합니다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId`와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId`를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). - `code`: 조달플랫폼이 요청을 거부한 **사유 코드**(`…/upstream-*` 응답에 함께 옵니다). `type`은 상태 수준이고 `detail`은 고정 문구라, 무엇을 고쳐야 하는지는 이 값이 알려 줍니다 — 예: `BID_INVALID_BID_DATE_RANGE`(마감이 시작보다 이름), `BID_DUPLICATE_PURCHASE_NO`(같은 조달번호의 공고가 진행 중). 안정 식별자이므로 문자열로 분기해도 됩니다. `type`은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**입니다. RFC 9457 §3.1.1이 허용하는 대로 이 URI는 **역참조(dereference)되지 않습니다** — 브라우저로 열지 말고 문자열 비교로만 쓰세요. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 적혀 있습니다. ### 멱등성 위반: 409와 422의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**입니다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받습니다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈습니다. 재시도해도 영원히 같은 실패이니 새 키를 쓰거나 body를 되돌리세요. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분** 입니다. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나갑니다 — 신규 연동은 표준 필드를 쓰세요. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지합니다. `429` 에서는 `Retry-After`(초)가 우선합니다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도하세요. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급합니다. 모든 응답(성공/에러)에 `X-Correlation-Id`가 실립니다. ## 전방호환 — 모르는 필드와 값에서 깨지지 않게 다음 셋은 breaking 변경으로 보지 않으며 minor 릴리스에서 예고 없이 일어납니다. 이 전제로 구현하세요. - **선택 필드 추가**: 모르는 필드는 무시하세요. 엄격 파서(unknown key 거부)를 쓰지 마세요. - **enum 값 추가**: 상태·낙찰방법 등에 새 값이 생깁니다. 모르는 값을 만나면 예외를 던지지 말고 원문 문자열을 보존하세요. - **problem `type` slug 추가**: 모르는 slug은 **HTTP status로 폴백**해 분기하세요. ## 버전 수명(deprecation/sunset) - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지합니다. 이 헤더를 모니터링하세요.
7
7
  *
8
- * The version of the OpenAPI document: 45.6.0
8
+ * The version of the OpenAPI document: 45.7.0
9
9
  * Contact: semo.io.kr@gmail.com
10
10
  *
11
11
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,7 +2,7 @@
2
2
  * CMARKET V6 Partner API
3
3
  * 외부 ERP 연동용 RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token`에서 토큰을 발급받아 `Authorization: Bearer <token>` 헤더로 실으세요. ## 권한 — 두 개의 독립된 축 `403`을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분하세요. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등입니다. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않습니다. 범위 밖이면 스코프와 무관하게 403입니다. 대행 범위는 키마다 둘 중 하나로 설정됩니다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주기관 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청하세요. ## 성공 응답 형식 `/v2`의 모든 2xx 본문은 `{ \"data\": … }`입니다. 단일 리소스든 목록이든 같습니다. **목록은 `data`가 배열이고 `meta`가 항상 함께 실립니다** — `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. 단일 리소스 응답에는 `meta`가 나가지 않습니다. 이 형식을 쓰지 않는 엔드포인트는 둘입니다. `/oauth/_*`와 `/.well-known/_*`는 각각 RFC 6749·RFC 8414·RFC 9728이 최상위 필드를 규정하고, 파일 내용 응답은 본문이 JSON이 아닙니다. 에러 응답에는 이 형식을 씌우지 않습니다 — 아래 problem+json이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2`의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`입니다. **HTTP status + `type` URI** 로 분기하세요. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도하고, `false`면 요청을 고쳐야 합니다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId`와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId`를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). - `code`: 조달플랫폼이 요청을 거부한 **사유 코드**(`…/upstream-*` 응답에 함께 옵니다). `type`은 상태 수준이고 `detail`은 고정 문구라, 무엇을 고쳐야 하는지는 이 값이 알려 줍니다 — 예: `BID_INVALID_BID_DATE_RANGE`(마감이 시작보다 이름), `BID_DUPLICATE_PURCHASE_NO`(같은 조달번호의 공고가 진행 중). 안정 식별자이므로 문자열로 분기해도 됩니다. `type`은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**입니다. RFC 9457 §3.1.1이 허용하는 대로 이 URI는 **역참조(dereference)되지 않습니다** — 브라우저로 열지 말고 문자열 비교로만 쓰세요. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 적혀 있습니다. ### 멱등성 위반: 409와 422의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**입니다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받습니다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈습니다. 재시도해도 영원히 같은 실패이니 새 키를 쓰거나 body를 되돌리세요. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분** 입니다. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나갑니다 — 신규 연동은 표준 필드를 쓰세요. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지합니다. `429` 에서는 `Retry-After`(초)가 우선합니다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도하세요. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급합니다. 모든 응답(성공/에러)에 `X-Correlation-Id`가 실립니다. ## 전방호환 — 모르는 필드와 값에서 깨지지 않게 다음 셋은 breaking 변경으로 보지 않으며 minor 릴리스에서 예고 없이 일어납니다. 이 전제로 구현하세요. - **선택 필드 추가**: 모르는 필드는 무시하세요. 엄격 파서(unknown key 거부)를 쓰지 마세요. - **enum 값 추가**: 상태·낙찰방법 등에 새 값이 생깁니다. 모르는 값을 만나면 예외를 던지지 말고 원문 문자열을 보존하세요. - **problem `type` slug 추가**: 모르는 slug은 **HTTP status로 폴백**해 분기하세요. ## 버전 수명(deprecation/sunset) - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지합니다. 이 헤더를 모니터링하세요.
4
4
  *
5
- * The version of the OpenAPI document: 45.6.0
5
+ * The version of the OpenAPI document: 45.7.0
6
6
  * Contact: semo.io.kr@gmail.com
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -5,7 +5,7 @@
5
5
  * CMARKET V6 Partner API
6
6
  * 외부 ERP 연동용 RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token`에서 토큰을 발급받아 `Authorization: Bearer <token>` 헤더로 실으세요. ## 권한 — 두 개의 독립된 축 `403`을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분하세요. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등입니다. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않습니다. 범위 밖이면 스코프와 무관하게 403입니다. 대행 범위는 키마다 둘 중 하나로 설정됩니다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주기관 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청하세요. ## 성공 응답 형식 `/v2`의 모든 2xx 본문은 `{ \"data\": … }`입니다. 단일 리소스든 목록이든 같습니다. **목록은 `data`가 배열이고 `meta`가 항상 함께 실립니다** — `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. 단일 리소스 응답에는 `meta`가 나가지 않습니다. 이 형식을 쓰지 않는 엔드포인트는 둘입니다. `/oauth/_*`와 `/.well-known/_*`는 각각 RFC 6749·RFC 8414·RFC 9728이 최상위 필드를 규정하고, 파일 내용 응답은 본문이 JSON이 아닙니다. 에러 응답에는 이 형식을 씌우지 않습니다 — 아래 problem+json이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2`의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`입니다. **HTTP status + `type` URI** 로 분기하세요. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도하고, `false`면 요청을 고쳐야 합니다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId`와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId`를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). - `code`: 조달플랫폼이 요청을 거부한 **사유 코드**(`…/upstream-*` 응답에 함께 옵니다). `type`은 상태 수준이고 `detail`은 고정 문구라, 무엇을 고쳐야 하는지는 이 값이 알려 줍니다 — 예: `BID_INVALID_BID_DATE_RANGE`(마감이 시작보다 이름), `BID_DUPLICATE_PURCHASE_NO`(같은 조달번호의 공고가 진행 중). 안정 식별자이므로 문자열로 분기해도 됩니다. `type`은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**입니다. RFC 9457 §3.1.1이 허용하는 대로 이 URI는 **역참조(dereference)되지 않습니다** — 브라우저로 열지 말고 문자열 비교로만 쓰세요. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 적혀 있습니다. ### 멱등성 위반: 409와 422의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**입니다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받습니다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈습니다. 재시도해도 영원히 같은 실패이니 새 키를 쓰거나 body를 되돌리세요. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분** 입니다. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나갑니다 — 신규 연동은 표준 필드를 쓰세요. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지합니다. `429` 에서는 `Retry-After`(초)가 우선합니다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도하세요. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급합니다. 모든 응답(성공/에러)에 `X-Correlation-Id`가 실립니다. ## 전방호환 — 모르는 필드와 값에서 깨지지 않게 다음 셋은 breaking 변경으로 보지 않으며 minor 릴리스에서 예고 없이 일어납니다. 이 전제로 구현하세요. - **선택 필드 추가**: 모르는 필드는 무시하세요. 엄격 파서(unknown key 거부)를 쓰지 마세요. - **enum 값 추가**: 상태·낙찰방법 등에 새 값이 생깁니다. 모르는 값을 만나면 예외를 던지지 말고 원문 문자열을 보존하세요. - **problem `type` slug 추가**: 모르는 slug은 **HTTP status로 폴백**해 분기하세요. ## 버전 수명(deprecation/sunset) - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지합니다. 이 헤더를 모니터링하세요.
7
7
  *
8
- * The version of the OpenAPI document: 45.6.0
8
+ * The version of the OpenAPI document: 45.7.0
9
9
  * Contact: semo.io.kr@gmail.com
10
10
  *
11
11
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,7 +2,7 @@
2
2
  * CMARKET V6 Partner API
3
3
  * 외부 ERP 연동용 RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token`에서 토큰을 발급받아 `Authorization: Bearer <token>` 헤더로 실으세요. ## 권한 — 두 개의 독립된 축 `403`을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분하세요. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등입니다. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않습니다. 범위 밖이면 스코프와 무관하게 403입니다. 대행 범위는 키마다 둘 중 하나로 설정됩니다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주기관 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청하세요. ## 성공 응답 형식 `/v2`의 모든 2xx 본문은 `{ \"data\": … }`입니다. 단일 리소스든 목록이든 같습니다. **목록은 `data`가 배열이고 `meta`가 항상 함께 실립니다** — `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. 단일 리소스 응답에는 `meta`가 나가지 않습니다. 이 형식을 쓰지 않는 엔드포인트는 둘입니다. `/oauth/_*`와 `/.well-known/_*`는 각각 RFC 6749·RFC 8414·RFC 9728이 최상위 필드를 규정하고, 파일 내용 응답은 본문이 JSON이 아닙니다. 에러 응답에는 이 형식을 씌우지 않습니다 — 아래 problem+json이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2`의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`입니다. **HTTP status + `type` URI** 로 분기하세요. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도하고, `false`면 요청을 고쳐야 합니다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId`와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId`를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). - `code`: 조달플랫폼이 요청을 거부한 **사유 코드**(`…/upstream-*` 응답에 함께 옵니다). `type`은 상태 수준이고 `detail`은 고정 문구라, 무엇을 고쳐야 하는지는 이 값이 알려 줍니다 — 예: `BID_INVALID_BID_DATE_RANGE`(마감이 시작보다 이름), `BID_DUPLICATE_PURCHASE_NO`(같은 조달번호의 공고가 진행 중). 안정 식별자이므로 문자열로 분기해도 됩니다. `type`은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**입니다. RFC 9457 §3.1.1이 허용하는 대로 이 URI는 **역참조(dereference)되지 않습니다** — 브라우저로 열지 말고 문자열 비교로만 쓰세요. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 적혀 있습니다. ### 멱등성 위반: 409와 422의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**입니다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받습니다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈습니다. 재시도해도 영원히 같은 실패이니 새 키를 쓰거나 body를 되돌리세요. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분** 입니다. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나갑니다 — 신규 연동은 표준 필드를 쓰세요. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지합니다. `429` 에서는 `Retry-After`(초)가 우선합니다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도하세요. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급합니다. 모든 응답(성공/에러)에 `X-Correlation-Id`가 실립니다. ## 전방호환 — 모르는 필드와 값에서 깨지지 않게 다음 셋은 breaking 변경으로 보지 않으며 minor 릴리스에서 예고 없이 일어납니다. 이 전제로 구현하세요. - **선택 필드 추가**: 모르는 필드는 무시하세요. 엄격 파서(unknown key 거부)를 쓰지 마세요. - **enum 값 추가**: 상태·낙찰방법 등에 새 값이 생깁니다. 모르는 값을 만나면 예외를 던지지 말고 원문 문자열을 보존하세요. - **problem `type` slug 추가**: 모르는 slug은 **HTTP status로 폴백**해 분기하세요. ## 버전 수명(deprecation/sunset) - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지합니다. 이 헤더를 모니터링하세요.
4
4
  *
5
- * The version of the OpenAPI document: 45.6.0
5
+ * The version of the OpenAPI document: 45.7.0
6
6
  * Contact: semo.io.kr@gmail.com
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -5,7 +5,7 @@
5
5
  * CMARKET V6 Partner API
6
6
  * 외부 ERP 연동용 RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token`에서 토큰을 발급받아 `Authorization: Bearer <token>` 헤더로 실으세요. ## 권한 — 두 개의 독립된 축 `403`을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분하세요. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등입니다. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않습니다. 범위 밖이면 스코프와 무관하게 403입니다. 대행 범위는 키마다 둘 중 하나로 설정됩니다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주기관 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청하세요. ## 성공 응답 형식 `/v2`의 모든 2xx 본문은 `{ \"data\": … }`입니다. 단일 리소스든 목록이든 같습니다. **목록은 `data`가 배열이고 `meta`가 항상 함께 실립니다** — `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. 단일 리소스 응답에는 `meta`가 나가지 않습니다. 이 형식을 쓰지 않는 엔드포인트는 둘입니다. `/oauth/_*`와 `/.well-known/_*`는 각각 RFC 6749·RFC 8414·RFC 9728이 최상위 필드를 규정하고, 파일 내용 응답은 본문이 JSON이 아닙니다. 에러 응답에는 이 형식을 씌우지 않습니다 — 아래 problem+json이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2`의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`입니다. **HTTP status + `type` URI** 로 분기하세요. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도하고, `false`면 요청을 고쳐야 합니다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId`와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId`를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). - `code`: 조달플랫폼이 요청을 거부한 **사유 코드**(`…/upstream-*` 응답에 함께 옵니다). `type`은 상태 수준이고 `detail`은 고정 문구라, 무엇을 고쳐야 하는지는 이 값이 알려 줍니다 — 예: `BID_INVALID_BID_DATE_RANGE`(마감이 시작보다 이름), `BID_DUPLICATE_PURCHASE_NO`(같은 조달번호의 공고가 진행 중). 안정 식별자이므로 문자열로 분기해도 됩니다. `type`은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**입니다. RFC 9457 §3.1.1이 허용하는 대로 이 URI는 **역참조(dereference)되지 않습니다** — 브라우저로 열지 말고 문자열 비교로만 쓰세요. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 적혀 있습니다. ### 멱등성 위반: 409와 422의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**입니다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받습니다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈습니다. 재시도해도 영원히 같은 실패이니 새 키를 쓰거나 body를 되돌리세요. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분** 입니다. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나갑니다 — 신규 연동은 표준 필드를 쓰세요. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지합니다. `429` 에서는 `Retry-After`(초)가 우선합니다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도하세요. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급합니다. 모든 응답(성공/에러)에 `X-Correlation-Id`가 실립니다. ## 전방호환 — 모르는 필드와 값에서 깨지지 않게 다음 셋은 breaking 변경으로 보지 않으며 minor 릴리스에서 예고 없이 일어납니다. 이 전제로 구현하세요. - **선택 필드 추가**: 모르는 필드는 무시하세요. 엄격 파서(unknown key 거부)를 쓰지 마세요. - **enum 값 추가**: 상태·낙찰방법 등에 새 값이 생깁니다. 모르는 값을 만나면 예외를 던지지 말고 원문 문자열을 보존하세요. - **problem `type` slug 추가**: 모르는 slug은 **HTTP status로 폴백**해 분기하세요. ## 버전 수명(deprecation/sunset) - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지합니다. 이 헤더를 모니터링하세요.
7
7
  *
8
- * The version of the OpenAPI document: 45.6.0
8
+ * The version of the OpenAPI document: 45.7.0
9
9
  * Contact: semo.io.kr@gmail.com
10
10
  *
11
11
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
package/docs/OauthApi.md CHANGED
@@ -7,6 +7,7 @@ All URIs are relative to *https://partner-api.c-market.net*
7
7
  |[**introspect**](#introspect) | **POST** /oauth/introspect | OAuth 2.0 토큰 검사 (Token Introspection, RFC 7662)|
8
8
  |[**revoke**](#revoke) | **POST** /oauth/revoke | OAuth 2.0 토큰 폐기 (Token Revocation, RFC 7009)|
9
9
  |[**token**](#token) | **POST** /oauth/token | 액세스 토큰 발급|
10
+ |[**userinfo**](#userinfo) | **GET** /oauth/userinfo | 로그인 사용자 신원 조회|
10
11
 
11
12
  # **introspect**
12
13
  > IntrospectionResponseDto introspect(introspectRequestDto)
@@ -169,3 +170,48 @@ No authorization required
169
170
 
170
171
  [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
171
172
 
173
+ # **userinfo**
174
+ > UserinfoResponseDto userinfo()
175
+
176
+ `authorization_code` 로 발급받은 액세스 토큰으로 로그인 사용자의 신원을 조회합니다. `Authorization: Bearer <access_token>`.
177
+
178
+ ### Example
179
+
180
+ ```typescript
181
+ import {
182
+ OauthApi,
183
+ Configuration
184
+ } from '@cmarket/partner-sdk';
185
+
186
+ const configuration = new Configuration();
187
+ const apiInstance = new OauthApi(configuration);
188
+
189
+ const { status, data } = await apiInstance.userinfo();
190
+ ```
191
+
192
+ ### Parameters
193
+ This endpoint does not have any parameters.
194
+
195
+
196
+ ### Return type
197
+
198
+ **UserinfoResponseDto**
199
+
200
+ ### Authorization
201
+
202
+ No authorization required
203
+
204
+ ### HTTP request headers
205
+
206
+ - **Content-Type**: Not defined
207
+ - **Accept**: application/json
208
+
209
+
210
+ ### HTTP response details
211
+ | Status code | Description | Response headers |
212
+ |-------------|-------------|------------------|
213
+ |**200** | 로그인 사용자의 신원. RFC 6750 이 본문 형태를 정하므로 이 응답도 공통 응답 형식(&#x60;{data}&#x60;)을 쓰지 않습니다. | * RateLimit - 현재 창의 잔여 쿼터(&#x60;r&#x60;)와 리셋까지 남은 초(&#x60;t&#x60;). 이 값이 0에 가까워지면 요청 간격을 늘리세요 — 429를 만나기 전에 조절하라고 주는 값입니다. <br> * RateLimit-Policy - 적용 중인 쿼터 정책(&#x60;q&#x60; 요청 수 / &#x60;w&#x60; 창 크기(초)). 변하지 않으므로 한 번 읽어 두면 됩니다. <br> |
214
+ |**401** | RFC 6750 §3.1 — 토큰 누락·만료·위조(&#x60;error: invalid_token&#x60;). 파트너 API 토큰을 내민 경우도 여기에 해당합니다. | - |
215
+
216
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
217
+
@@ -5,12 +5,15 @@
5
5
 
6
6
  Name | Type | Description | Notes
7
7
  ------------ | ------------- | ------------- | -------------
8
- **grant_type** | **string** | OAuth 2.0 grant type. 현재 client_credentials 지원. | [default to undefined]
8
+ **grant_type** | **string** | OAuth 2.0 grant type. &#x60;client_credentials&#x60;(API 호출용) · &#x60;authorization_code&#x60;(SSO 로그인). | [default to undefined]
9
9
  **client_id** | **string** | 파트너 client_id (client_secret_post 방식). Basic 인증 시 생략. | [optional] [default to undefined]
10
10
  **client_secret** | **string** | 파트너 client_secret (client_secret_post 방식). Basic 인증 시 생략. | [optional] [default to undefined]
11
11
  **scope** | **string** | space-separated 요청 스코프. 미지정 시 client의 전체 스코프 발급. | [optional] [default to undefined]
12
12
  **client_assertion** | **string** | RFC 7523 private_key_jwt 인증용 서명 JWT. 공개키가 등록된 키는 client_secret 대신 이 값을 보냅니다. | [optional] [default to undefined]
13
13
  **client_assertion_type** | **string** | client_assertion의 종류. RFC 7523이 정한 고정 URN만 허용합니다. | [optional] [default to undefined]
14
+ **code** | **string** | &#x60;authorization_code&#x60; grant 의 인가 코드. 60초·1회성. | [optional] [default to undefined]
15
+ **redirect_uri** | **string** | authorize 요청에 실었던 redirect_uri. 등록값과 정확일치해야 합니다. | [optional] [default to undefined]
16
+ **code_verifier** | **string** | PKCE(S256) code_verifier. authorize 에 보낸 challenge 의 원문입니다. | [optional] [default to undefined]
14
17
 
15
18
  ## Example
16
19
 
@@ -24,6 +27,9 @@ const instance: TokenRequestDto = {
24
27
  scope,
25
28
  client_assertion,
26
29
  client_assertion_type,
30
+ code,
31
+ redirect_uri,
32
+ code_verifier,
27
33
  };
28
34
  ```
29
35
 
@@ -0,0 +1,36 @@
1
+ # UserinfoResponseDto
2
+
3
+
4
+ ## Properties
5
+
6
+ Name | Type | Description | Notes
7
+ ------------ | ------------- | ------------- | -------------
8
+ **sub** | **string** | 이 사용자의 안정적 식별자. &#x60;role:groupCode:memberId&#x60; 복합키입니다 — 씨마켓에 회원 계정과 직원 계정이 따로 있어 단일 id 로는 충돌합니다. | [default to undefined]
9
+ **role** | **string** | 사용자 구분. | [default to undefined]
10
+ **memberId** | **string** | 회원 계정 또는 직원 계정의 id. | [default to undefined]
11
+ **groupCode** | **number** | 소속 기관 코드. 연동 서비스가 폐쇄몰 입장을 가를 때 쓰는 축입니다 — 발급받은 클라이언트에 허용 기관이 등록되어 있고, 그 밖의 사용자는 로그인 단계에서 이미 거절됩니다. | [default to undefined]
12
+ **name** | **string** | 이름. 등록되어 있지 않으면 null. | [default to undefined]
13
+ **email** | **string** | 이메일. 등록되어 있지 않으면 null. | [default to undefined]
14
+ **department** | **string** | 부서. 직원이 아니면 null. | [default to undefined]
15
+ **position** | **string** | 직위. 직원이 아니면 null. | [default to undefined]
16
+ **companyMemberId** | **string** | 소속 기업회원 id. 직원 계정에만 있습니다. | [default to undefined]
17
+
18
+ ## Example
19
+
20
+ ```typescript
21
+ import { UserinfoResponseDto } from '@cmarket/partner-sdk';
22
+
23
+ const instance: UserinfoResponseDto = {
24
+ sub,
25
+ role,
26
+ memberId,
27
+ groupCode,
28
+ name,
29
+ email,
30
+ department,
31
+ position,
32
+ companyMemberId,
33
+ };
34
+ ```
35
+
36
+ [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
package/index.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
5
  * 외부 ERP 연동용 RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token`에서 토큰을 발급받아 `Authorization: Bearer <token>` 헤더로 실으세요. ## 권한 — 두 개의 독립된 축 `403`을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분하세요. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등입니다. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않습니다. 범위 밖이면 스코프와 무관하게 403입니다. 대행 범위는 키마다 둘 중 하나로 설정됩니다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주기관 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청하세요. ## 성공 응답 형식 `/v2`의 모든 2xx 본문은 `{ \"data\": … }`입니다. 단일 리소스든 목록이든 같습니다. **목록은 `data`가 배열이고 `meta`가 항상 함께 실립니다** — `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. 단일 리소스 응답에는 `meta`가 나가지 않습니다. 이 형식을 쓰지 않는 엔드포인트는 둘입니다. `/oauth/_*`와 `/.well-known/_*`는 각각 RFC 6749·RFC 8414·RFC 9728이 최상위 필드를 규정하고, 파일 내용 응답은 본문이 JSON이 아닙니다. 에러 응답에는 이 형식을 씌우지 않습니다 — 아래 problem+json이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2`의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`입니다. **HTTP status + `type` URI** 로 분기하세요. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도하고, `false`면 요청을 고쳐야 합니다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId`와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId`를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). - `code`: 조달플랫폼이 요청을 거부한 **사유 코드**(`…/upstream-*` 응답에 함께 옵니다). `type`은 상태 수준이고 `detail`은 고정 문구라, 무엇을 고쳐야 하는지는 이 값이 알려 줍니다 — 예: `BID_INVALID_BID_DATE_RANGE`(마감이 시작보다 이름), `BID_DUPLICATE_PURCHASE_NO`(같은 조달번호의 공고가 진행 중). 안정 식별자이므로 문자열로 분기해도 됩니다. `type`은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**입니다. RFC 9457 §3.1.1이 허용하는 대로 이 URI는 **역참조(dereference)되지 않습니다** — 브라우저로 열지 말고 문자열 비교로만 쓰세요. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 적혀 있습니다. ### 멱등성 위반: 409와 422의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**입니다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받습니다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈습니다. 재시도해도 영원히 같은 실패이니 새 키를 쓰거나 body를 되돌리세요. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분** 입니다. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나갑니다 — 신규 연동은 표준 필드를 쓰세요. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지합니다. `429` 에서는 `Retry-After`(초)가 우선합니다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도하세요. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급합니다. 모든 응답(성공/에러)에 `X-Correlation-Id`가 실립니다. ## 전방호환 — 모르는 필드와 값에서 깨지지 않게 다음 셋은 breaking 변경으로 보지 않으며 minor 릴리스에서 예고 없이 일어납니다. 이 전제로 구현하세요. - **선택 필드 추가**: 모르는 필드는 무시하세요. 엄격 파서(unknown key 거부)를 쓰지 마세요. - **enum 값 추가**: 상태·낙찰방법 등에 새 값이 생깁니다. 모르는 값을 만나면 예외를 던지지 말고 원문 문자열을 보존하세요. - **problem `type` slug 추가**: 모르는 slug은 **HTTP status로 폴백**해 분기하세요. ## 버전 수명(deprecation/sunset) - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지합니다. 이 헤더를 모니터링하세요.
6
6
  *
7
- * The version of the OpenAPI document: 45.6.0
7
+ * The version of the OpenAPI document: 45.7.0
8
8
  * Contact: semo.io.kr@gmail.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
5
  * 외부 ERP 연동용 RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token`에서 토큰을 발급받아 `Authorization: Bearer <token>` 헤더로 실으세요. ## 권한 — 두 개의 독립된 축 `403`을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분하세요. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등입니다. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않습니다. 범위 밖이면 스코프와 무관하게 403입니다. 대행 범위는 키마다 둘 중 하나로 설정됩니다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주기관 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청하세요. ## 성공 응답 형식 `/v2`의 모든 2xx 본문은 `{ \"data\": … }`입니다. 단일 리소스든 목록이든 같습니다. **목록은 `data`가 배열이고 `meta`가 항상 함께 실립니다** — `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. 단일 리소스 응답에는 `meta`가 나가지 않습니다. 이 형식을 쓰지 않는 엔드포인트는 둘입니다. `/oauth/_*`와 `/.well-known/_*`는 각각 RFC 6749·RFC 8414·RFC 9728이 최상위 필드를 규정하고, 파일 내용 응답은 본문이 JSON이 아닙니다. 에러 응답에는 이 형식을 씌우지 않습니다 — 아래 problem+json이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2`의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`입니다. **HTTP status + `type` URI** 로 분기하세요. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도하고, `false`면 요청을 고쳐야 합니다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId`와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId`를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). - `code`: 조달플랫폼이 요청을 거부한 **사유 코드**(`…/upstream-*` 응답에 함께 옵니다). `type`은 상태 수준이고 `detail`은 고정 문구라, 무엇을 고쳐야 하는지는 이 값이 알려 줍니다 — 예: `BID_INVALID_BID_DATE_RANGE`(마감이 시작보다 이름), `BID_DUPLICATE_PURCHASE_NO`(같은 조달번호의 공고가 진행 중). 안정 식별자이므로 문자열로 분기해도 됩니다. `type`은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**입니다. RFC 9457 §3.1.1이 허용하는 대로 이 URI는 **역참조(dereference)되지 않습니다** — 브라우저로 열지 말고 문자열 비교로만 쓰세요. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 적혀 있습니다. ### 멱등성 위반: 409와 422의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**입니다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받습니다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈습니다. 재시도해도 영원히 같은 실패이니 새 키를 쓰거나 body를 되돌리세요. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분** 입니다. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나갑니다 — 신규 연동은 표준 필드를 쓰세요. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지합니다. `429` 에서는 `Retry-After`(초)가 우선합니다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도하세요. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급합니다. 모든 응답(성공/에러)에 `X-Correlation-Id`가 실립니다. ## 전방호환 — 모르는 필드와 값에서 깨지지 않게 다음 셋은 breaking 변경으로 보지 않으며 minor 릴리스에서 예고 없이 일어납니다. 이 전제로 구현하세요. - **선택 필드 추가**: 모르는 필드는 무시하세요. 엄격 파서(unknown key 거부)를 쓰지 마세요. - **enum 값 추가**: 상태·낙찰방법 등에 새 값이 생깁니다. 모르는 값을 만나면 예외를 던지지 말고 원문 문자열을 보존하세요. - **problem `type` slug 추가**: 모르는 slug은 **HTTP status로 폴백**해 분기하세요. ## 버전 수명(deprecation/sunset) - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지합니다. 이 헤더를 모니터링하세요.
6
6
  *
7
- * The version of the OpenAPI document: 45.6.0
7
+ * The version of the OpenAPI document: 45.7.0
8
8
  * Contact: semo.io.kr@gmail.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
5
  * 외부 ERP 연동용 RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token`에서 토큰을 발급받아 `Authorization: Bearer <token>` 헤더로 실으세요. ## 권한 — 두 개의 독립된 축 `403`을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분하세요. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등입니다. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않습니다. 범위 밖이면 스코프와 무관하게 403입니다. 대행 범위는 키마다 둘 중 하나로 설정됩니다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주기관 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청하세요. ## 성공 응답 형식 `/v2`의 모든 2xx 본문은 `{ \"data\": … }`입니다. 단일 리소스든 목록이든 같습니다. **목록은 `data`가 배열이고 `meta`가 항상 함께 실립니다** — `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. 단일 리소스 응답에는 `meta`가 나가지 않습니다. 이 형식을 쓰지 않는 엔드포인트는 둘입니다. `/oauth/_*`와 `/.well-known/_*`는 각각 RFC 6749·RFC 8414·RFC 9728이 최상위 필드를 규정하고, 파일 내용 응답은 본문이 JSON이 아닙니다. 에러 응답에는 이 형식을 씌우지 않습니다 — 아래 problem+json이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2`의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`입니다. **HTTP status + `type` URI** 로 분기하세요. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도하고, `false`면 요청을 고쳐야 합니다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId`와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId`를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). - `code`: 조달플랫폼이 요청을 거부한 **사유 코드**(`…/upstream-*` 응답에 함께 옵니다). `type`은 상태 수준이고 `detail`은 고정 문구라, 무엇을 고쳐야 하는지는 이 값이 알려 줍니다 — 예: `BID_INVALID_BID_DATE_RANGE`(마감이 시작보다 이름), `BID_DUPLICATE_PURCHASE_NO`(같은 조달번호의 공고가 진행 중). 안정 식별자이므로 문자열로 분기해도 됩니다. `type`은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**입니다. RFC 9457 §3.1.1이 허용하는 대로 이 URI는 **역참조(dereference)되지 않습니다** — 브라우저로 열지 말고 문자열 비교로만 쓰세요. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 적혀 있습니다. ### 멱등성 위반: 409와 422의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**입니다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받습니다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈습니다. 재시도해도 영원히 같은 실패이니 새 키를 쓰거나 body를 되돌리세요. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분** 입니다. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나갑니다 — 신규 연동은 표준 필드를 쓰세요. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지합니다. `429` 에서는 `Retry-After`(초)가 우선합니다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도하세요. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급합니다. 모든 응답(성공/에러)에 `X-Correlation-Id`가 실립니다. ## 전방호환 — 모르는 필드와 값에서 깨지지 않게 다음 셋은 breaking 변경으로 보지 않으며 minor 릴리스에서 예고 없이 일어납니다. 이 전제로 구현하세요. - **선택 필드 추가**: 모르는 필드는 무시하세요. 엄격 파서(unknown key 거부)를 쓰지 마세요. - **enum 값 추가**: 상태·낙찰방법 등에 새 값이 생깁니다. 모르는 값을 만나면 예외를 던지지 말고 원문 문자열을 보존하세요. - **problem `type` slug 추가**: 모르는 slug은 **HTTP status로 폴백**해 분기하세요. ## 버전 수명(deprecation/sunset) - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지합니다. 이 헤더를 모니터링하세요.
6
6
  *
7
- * The version of the OpenAPI document: 45.6.0
7
+ * The version of the OpenAPI document: 45.7.0
8
8
  * Contact: semo.io.kr@gmail.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
5
  * 외부 ERP 연동용 RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token`에서 토큰을 발급받아 `Authorization: Bearer <token>` 헤더로 실으세요. ## 권한 — 두 개의 독립된 축 `403`을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분하세요. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등입니다. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않습니다. 범위 밖이면 스코프와 무관하게 403입니다. 대행 범위는 키마다 둘 중 하나로 설정됩니다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주기관 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청하세요. ## 성공 응답 형식 `/v2`의 모든 2xx 본문은 `{ \"data\": … }`입니다. 단일 리소스든 목록이든 같습니다. **목록은 `data`가 배열이고 `meta`가 항상 함께 실립니다** — `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. 단일 리소스 응답에는 `meta`가 나가지 않습니다. 이 형식을 쓰지 않는 엔드포인트는 둘입니다. `/oauth/_*`와 `/.well-known/_*`는 각각 RFC 6749·RFC 8414·RFC 9728이 최상위 필드를 규정하고, 파일 내용 응답은 본문이 JSON이 아닙니다. 에러 응답에는 이 형식을 씌우지 않습니다 — 아래 problem+json이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2`의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`입니다. **HTTP status + `type` URI** 로 분기하세요. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도하고, `false`면 요청을 고쳐야 합니다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId`와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId`를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). - `code`: 조달플랫폼이 요청을 거부한 **사유 코드**(`…/upstream-*` 응답에 함께 옵니다). `type`은 상태 수준이고 `detail`은 고정 문구라, 무엇을 고쳐야 하는지는 이 값이 알려 줍니다 — 예: `BID_INVALID_BID_DATE_RANGE`(마감이 시작보다 이름), `BID_DUPLICATE_PURCHASE_NO`(같은 조달번호의 공고가 진행 중). 안정 식별자이므로 문자열로 분기해도 됩니다. `type`은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**입니다. RFC 9457 §3.1.1이 허용하는 대로 이 URI는 **역참조(dereference)되지 않습니다** — 브라우저로 열지 말고 문자열 비교로만 쓰세요. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 적혀 있습니다. ### 멱등성 위반: 409와 422의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**입니다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받습니다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈습니다. 재시도해도 영원히 같은 실패이니 새 키를 쓰거나 body를 되돌리세요. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분** 입니다. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나갑니다 — 신규 연동은 표준 필드를 쓰세요. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지합니다. `429` 에서는 `Retry-After`(초)가 우선합니다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도하세요. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급합니다. 모든 응답(성공/에러)에 `X-Correlation-Id`가 실립니다. ## 전방호환 — 모르는 필드와 값에서 깨지지 않게 다음 셋은 breaking 변경으로 보지 않으며 minor 릴리스에서 예고 없이 일어납니다. 이 전제로 구현하세요. - **선택 필드 추가**: 모르는 필드는 무시하세요. 엄격 파서(unknown key 거부)를 쓰지 마세요. - **enum 값 추가**: 상태·낙찰방법 등에 새 값이 생깁니다. 모르는 값을 만나면 예외를 던지지 말고 원문 문자열을 보존하세요. - **problem `type` slug 추가**: 모르는 slug은 **HTTP status로 폴백**해 분기하세요. ## 버전 수명(deprecation/sunset) - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지합니다. 이 헤더를 모니터링하세요.
6
6
  *
7
- * The version of the OpenAPI document: 45.6.0
7
+ * The version of the OpenAPI document: 45.7.0
8
8
  * Contact: semo.io.kr@gmail.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
5
  * 외부 ERP 연동용 RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token`에서 토큰을 발급받아 `Authorization: Bearer <token>` 헤더로 실으세요. ## 권한 — 두 개의 독립된 축 `403`을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분하세요. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등입니다. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않습니다. 범위 밖이면 스코프와 무관하게 403입니다. 대행 범위는 키마다 둘 중 하나로 설정됩니다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주기관 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청하세요. ## 성공 응답 형식 `/v2`의 모든 2xx 본문은 `{ \"data\": … }`입니다. 단일 리소스든 목록이든 같습니다. **목록은 `data`가 배열이고 `meta`가 항상 함께 실립니다** — `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. 단일 리소스 응답에는 `meta`가 나가지 않습니다. 이 형식을 쓰지 않는 엔드포인트는 둘입니다. `/oauth/_*`와 `/.well-known/_*`는 각각 RFC 6749·RFC 8414·RFC 9728이 최상위 필드를 규정하고, 파일 내용 응답은 본문이 JSON이 아닙니다. 에러 응답에는 이 형식을 씌우지 않습니다 — 아래 problem+json이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2`의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`입니다. **HTTP status + `type` URI** 로 분기하세요. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도하고, `false`면 요청을 고쳐야 합니다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId`와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId`를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). - `code`: 조달플랫폼이 요청을 거부한 **사유 코드**(`…/upstream-*` 응답에 함께 옵니다). `type`은 상태 수준이고 `detail`은 고정 문구라, 무엇을 고쳐야 하는지는 이 값이 알려 줍니다 — 예: `BID_INVALID_BID_DATE_RANGE`(마감이 시작보다 이름), `BID_DUPLICATE_PURCHASE_NO`(같은 조달번호의 공고가 진행 중). 안정 식별자이므로 문자열로 분기해도 됩니다. `type`은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**입니다. RFC 9457 §3.1.1이 허용하는 대로 이 URI는 **역참조(dereference)되지 않습니다** — 브라우저로 열지 말고 문자열 비교로만 쓰세요. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 적혀 있습니다. ### 멱등성 위반: 409와 422의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**입니다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받습니다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈습니다. 재시도해도 영원히 같은 실패이니 새 키를 쓰거나 body를 되돌리세요. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분** 입니다. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나갑니다 — 신규 연동은 표준 필드를 쓰세요. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지합니다. `429` 에서는 `Retry-After`(초)가 우선합니다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도하세요. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급합니다. 모든 응답(성공/에러)에 `X-Correlation-Id`가 실립니다. ## 전방호환 — 모르는 필드와 값에서 깨지지 않게 다음 셋은 breaking 변경으로 보지 않으며 minor 릴리스에서 예고 없이 일어납니다. 이 전제로 구현하세요. - **선택 필드 추가**: 모르는 필드는 무시하세요. 엄격 파서(unknown key 거부)를 쓰지 마세요. - **enum 값 추가**: 상태·낙찰방법 등에 새 값이 생깁니다. 모르는 값을 만나면 예외를 던지지 말고 원문 문자열을 보존하세요. - **problem `type` slug 추가**: 모르는 slug은 **HTTP status로 폴백**해 분기하세요. ## 버전 수명(deprecation/sunset) - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지합니다. 이 헤더를 모니터링하세요.
6
6
  *
7
- * The version of the OpenAPI document: 45.6.0
7
+ * The version of the OpenAPI document: 45.7.0
8
8
  * Contact: semo.io.kr@gmail.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
5
  * 외부 ERP 연동용 RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token`에서 토큰을 발급받아 `Authorization: Bearer <token>` 헤더로 실으세요. ## 권한 — 두 개의 독립된 축 `403`을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분하세요. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등입니다. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않습니다. 범위 밖이면 스코프와 무관하게 403입니다. 대행 범위는 키마다 둘 중 하나로 설정됩니다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주기관 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청하세요. ## 성공 응답 형식 `/v2`의 모든 2xx 본문은 `{ \"data\": … }`입니다. 단일 리소스든 목록이든 같습니다. **목록은 `data`가 배열이고 `meta`가 항상 함께 실립니다** — `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. 단일 리소스 응답에는 `meta`가 나가지 않습니다. 이 형식을 쓰지 않는 엔드포인트는 둘입니다. `/oauth/_*`와 `/.well-known/_*`는 각각 RFC 6749·RFC 8414·RFC 9728이 최상위 필드를 규정하고, 파일 내용 응답은 본문이 JSON이 아닙니다. 에러 응답에는 이 형식을 씌우지 않습니다 — 아래 problem+json이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2`의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`입니다. **HTTP status + `type` URI** 로 분기하세요. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도하고, `false`면 요청을 고쳐야 합니다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId`와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId`를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). - `code`: 조달플랫폼이 요청을 거부한 **사유 코드**(`…/upstream-*` 응답에 함께 옵니다). `type`은 상태 수준이고 `detail`은 고정 문구라, 무엇을 고쳐야 하는지는 이 값이 알려 줍니다 — 예: `BID_INVALID_BID_DATE_RANGE`(마감이 시작보다 이름), `BID_DUPLICATE_PURCHASE_NO`(같은 조달번호의 공고가 진행 중). 안정 식별자이므로 문자열로 분기해도 됩니다. `type`은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**입니다. RFC 9457 §3.1.1이 허용하는 대로 이 URI는 **역참조(dereference)되지 않습니다** — 브라우저로 열지 말고 문자열 비교로만 쓰세요. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 적혀 있습니다. ### 멱등성 위반: 409와 422의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**입니다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받습니다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈습니다. 재시도해도 영원히 같은 실패이니 새 키를 쓰거나 body를 되돌리세요. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분** 입니다. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나갑니다 — 신규 연동은 표준 필드를 쓰세요. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지합니다. `429` 에서는 `Retry-After`(초)가 우선합니다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도하세요. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급합니다. 모든 응답(성공/에러)에 `X-Correlation-Id`가 실립니다. ## 전방호환 — 모르는 필드와 값에서 깨지지 않게 다음 셋은 breaking 변경으로 보지 않으며 minor 릴리스에서 예고 없이 일어납니다. 이 전제로 구현하세요. - **선택 필드 추가**: 모르는 필드는 무시하세요. 엄격 파서(unknown key 거부)를 쓰지 마세요. - **enum 값 추가**: 상태·낙찰방법 등에 새 값이 생깁니다. 모르는 값을 만나면 예외를 던지지 말고 원문 문자열을 보존하세요. - **problem `type` slug 추가**: 모르는 slug은 **HTTP status로 폴백**해 분기하세요. ## 버전 수명(deprecation/sunset) - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지합니다. 이 헤더를 모니터링하세요.
6
6
  *
7
- * The version of the OpenAPI document: 45.6.0
7
+ * The version of the OpenAPI document: 45.7.0
8
8
  * Contact: semo.io.kr@gmail.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
5
  * 외부 ERP 연동용 RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token`에서 토큰을 발급받아 `Authorization: Bearer <token>` 헤더로 실으세요. ## 권한 — 두 개의 독립된 축 `403`을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분하세요. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등입니다. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않습니다. 범위 밖이면 스코프와 무관하게 403입니다. 대행 범위는 키마다 둘 중 하나로 설정됩니다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주기관 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청하세요. ## 성공 응답 형식 `/v2`의 모든 2xx 본문은 `{ \"data\": … }`입니다. 단일 리소스든 목록이든 같습니다. **목록은 `data`가 배열이고 `meta`가 항상 함께 실립니다** — `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. 단일 리소스 응답에는 `meta`가 나가지 않습니다. 이 형식을 쓰지 않는 엔드포인트는 둘입니다. `/oauth/_*`와 `/.well-known/_*`는 각각 RFC 6749·RFC 8414·RFC 9728이 최상위 필드를 규정하고, 파일 내용 응답은 본문이 JSON이 아닙니다. 에러 응답에는 이 형식을 씌우지 않습니다 — 아래 problem+json이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2`의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`입니다. **HTTP status + `type` URI** 로 분기하세요. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도하고, `false`면 요청을 고쳐야 합니다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId`와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId`를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). - `code`: 조달플랫폼이 요청을 거부한 **사유 코드**(`…/upstream-*` 응답에 함께 옵니다). `type`은 상태 수준이고 `detail`은 고정 문구라, 무엇을 고쳐야 하는지는 이 값이 알려 줍니다 — 예: `BID_INVALID_BID_DATE_RANGE`(마감이 시작보다 이름), `BID_DUPLICATE_PURCHASE_NO`(같은 조달번호의 공고가 진행 중). 안정 식별자이므로 문자열로 분기해도 됩니다. `type`은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**입니다. RFC 9457 §3.1.1이 허용하는 대로 이 URI는 **역참조(dereference)되지 않습니다** — 브라우저로 열지 말고 문자열 비교로만 쓰세요. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 적혀 있습니다. ### 멱등성 위반: 409와 422의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**입니다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받습니다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈습니다. 재시도해도 영원히 같은 실패이니 새 키를 쓰거나 body를 되돌리세요. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분** 입니다. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나갑니다 — 신규 연동은 표준 필드를 쓰세요. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지합니다. `429` 에서는 `Retry-After`(초)가 우선합니다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도하세요. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급합니다. 모든 응답(성공/에러)에 `X-Correlation-Id`가 실립니다. ## 전방호환 — 모르는 필드와 값에서 깨지지 않게 다음 셋은 breaking 변경으로 보지 않으며 minor 릴리스에서 예고 없이 일어납니다. 이 전제로 구현하세요. - **선택 필드 추가**: 모르는 필드는 무시하세요. 엄격 파서(unknown key 거부)를 쓰지 마세요. - **enum 값 추가**: 상태·낙찰방법 등에 새 값이 생깁니다. 모르는 값을 만나면 예외를 던지지 말고 원문 문자열을 보존하세요. - **problem `type` slug 추가**: 모르는 slug은 **HTTP status로 폴백**해 분기하세요. ## 버전 수명(deprecation/sunset) - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지합니다. 이 헤더를 모니터링하세요.
6
6
  *
7
- * The version of the OpenAPI document: 45.6.0
7
+ * The version of the OpenAPI document: 45.7.0
8
8
  * Contact: semo.io.kr@gmail.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
5
  * 외부 ERP 연동용 RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token`에서 토큰을 발급받아 `Authorization: Bearer <token>` 헤더로 실으세요. ## 권한 — 두 개의 독립된 축 `403`을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분하세요. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등입니다. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않습니다. 범위 밖이면 스코프와 무관하게 403입니다. 대행 범위는 키마다 둘 중 하나로 설정됩니다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주기관 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청하세요. ## 성공 응답 형식 `/v2`의 모든 2xx 본문은 `{ \"data\": … }`입니다. 단일 리소스든 목록이든 같습니다. **목록은 `data`가 배열이고 `meta`가 항상 함께 실립니다** — `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. 단일 리소스 응답에는 `meta`가 나가지 않습니다. 이 형식을 쓰지 않는 엔드포인트는 둘입니다. `/oauth/_*`와 `/.well-known/_*`는 각각 RFC 6749·RFC 8414·RFC 9728이 최상위 필드를 규정하고, 파일 내용 응답은 본문이 JSON이 아닙니다. 에러 응답에는 이 형식을 씌우지 않습니다 — 아래 problem+json이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2`의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`입니다. **HTTP status + `type` URI** 로 분기하세요. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도하고, `false`면 요청을 고쳐야 합니다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId`와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId`를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). - `code`: 조달플랫폼이 요청을 거부한 **사유 코드**(`…/upstream-*` 응답에 함께 옵니다). `type`은 상태 수준이고 `detail`은 고정 문구라, 무엇을 고쳐야 하는지는 이 값이 알려 줍니다 — 예: `BID_INVALID_BID_DATE_RANGE`(마감이 시작보다 이름), `BID_DUPLICATE_PURCHASE_NO`(같은 조달번호의 공고가 진행 중). 안정 식별자이므로 문자열로 분기해도 됩니다. `type`은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**입니다. RFC 9457 §3.1.1이 허용하는 대로 이 URI는 **역참조(dereference)되지 않습니다** — 브라우저로 열지 말고 문자열 비교로만 쓰세요. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 적혀 있습니다. ### 멱등성 위반: 409와 422의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**입니다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받습니다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈습니다. 재시도해도 영원히 같은 실패이니 새 키를 쓰거나 body를 되돌리세요. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분** 입니다. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나갑니다 — 신규 연동은 표준 필드를 쓰세요. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지합니다. `429` 에서는 `Retry-After`(초)가 우선합니다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도하세요. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급합니다. 모든 응답(성공/에러)에 `X-Correlation-Id`가 실립니다. ## 전방호환 — 모르는 필드와 값에서 깨지지 않게 다음 셋은 breaking 변경으로 보지 않으며 minor 릴리스에서 예고 없이 일어납니다. 이 전제로 구현하세요. - **선택 필드 추가**: 모르는 필드는 무시하세요. 엄격 파서(unknown key 거부)를 쓰지 마세요. - **enum 값 추가**: 상태·낙찰방법 등에 새 값이 생깁니다. 모르는 값을 만나면 예외를 던지지 말고 원문 문자열을 보존하세요. - **problem `type` slug 추가**: 모르는 slug은 **HTTP status로 폴백**해 분기하세요. ## 버전 수명(deprecation/sunset) - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지합니다. 이 헤더를 모니터링하세요.
6
6
  *
7
- * The version of the OpenAPI document: 45.6.0
7
+ * The version of the OpenAPI document: 45.7.0
8
8
  * Contact: semo.io.kr@gmail.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * CMARKET V6 Partner API
5
5
  * 외부 ERP 연동용 RESTful API. ## 인증 OAuth2 Bearer JWT (`client_credentials` 플로우). `/oauth/token`에서 토큰을 발급받아 `Authorization: Bearer <token>` 헤더로 실으세요. ## 권한 — 두 개의 독립된 축 `403`을 만났다면 둘 중 어느 축에 걸린 것인지 먼저 구분하세요. - **스코프** = *무엇을 할 수 있나*. 토큰에 부여된 `bids:read`·`contracts:write` 등입니다. 미보유 시 `…/insufficient-scope`. - **대행 범위** = *누구의 데이터를 다룰 수 있나*. API 키 설정이며 스코프로 표현되지 않습니다. 범위 밖이면 스코프와 무관하게 403입니다. 대행 범위는 키마다 둘 중 하나로 설정됩니다 — **소속 그룹 전원**(기관 키. 사업처·부서 계정이 새로 생겨도 자동 포함) 또는 **지정 발주기관 목록**(계약으로 합의된 목록). 범위를 넓혀야 하면 스코프가 아니라 키 설정 변경을 요청하세요. ## 성공 응답 형식 `/v2`의 모든 2xx 본문은 `{ \"data\": … }`입니다. 단일 리소스든 목록이든 같습니다. **목록은 `data`가 배열이고 `meta`가 항상 함께 실립니다** — `{ \"data\": [...], \"meta\": { \"nextCursor\": \"Mg==\", \"hasMore\": true } }`. 단일 리소스 응답에는 `meta`가 나가지 않습니다. 이 형식을 쓰지 않는 엔드포인트는 둘입니다. `/oauth/_*`와 `/.well-known/_*`는 각각 RFC 6749·RFC 8414·RFC 9728이 최상위 필드를 규정하고, 파일 내용 응답은 본문이 JSON이 아닙니다. 에러 응답에는 이 형식을 씌우지 않습니다 — 아래 problem+json이 단독으로 책임집니다. ## 조건부 요청 (ETag) `/v2`의 모든 `GET` 응답에 weak `ETag`(`W/\"…\"`)가 실립니다. 받은 값을 다음 요청의 `If-None-Match` 헤더로 되보내면, 내용이 그대로일 때 `304 Not Modified`를 본문 없이 받습니다. 결과가 나기를 기다리며 같은 자원을 반복 조회하는 연동이라면 이 헤더 하나로 전송량이 사라집니다. ## 에러 (RFC 9457 problem+json) 모든 에러 응답은 `application/problem+json`입니다. **HTTP status + `type` URI** 로 분기하세요. - `retryable`(boolean): 자동 재시도 안전 여부. `true`(429·5xx transient)면 backoff 후 재시도하고, `false`면 요청을 고쳐야 합니다. - `traceId`: 요청 추적 id. `X-Correlation-Id` 응답 헤더와 같은 값입니다 — 문의할 때 이 값을 첨부하세요. - `correlationId`: `traceId`와 같은 값의 옛 이름. 기존 연동 호환으로 함께 실립니다. 새 연동은 `traceId`를 읽으세요. - `invalid-params`: 검증 실패(400 `…/validation-failed`) 시 위반 필드 경로 목록(RFC 9457 확장, 값 없음). - `code`: 조달플랫폼이 요청을 거부한 **사유 코드**(`…/upstream-*` 응답에 함께 옵니다). `type`은 상태 수준이고 `detail`은 고정 문구라, 무엇을 고쳐야 하는지는 이 값이 알려 줍니다 — 예: `BID_INVALID_BID_DATE_RANGE`(마감이 시작보다 이름), `BID_DUPLICATE_PURCHASE_NO`(같은 조달번호의 공고가 진행 중). 안정 식별자이므로 문자열로 분기해도 됩니다. `type`은 `https://problems.cmarket.io/partner/<slug>` 형태의 **안정 식별자**입니다. RFC 9457 §3.1.1이 허용하는 대로 이 URI는 **역참조(dereference)되지 않습니다** — 브라우저로 열지 말고 문자열 비교로만 쓰세요. slug 목록과 의미는 각 엔드포인트의 응답 설명에 status 별로 적혀 있습니다. ### 멱등성 위반: 409와 422의 차이 - `409` `…/idempotency-key-conflict` — 같은 키의 **원 요청이 아직 처리 중**입니다. 잠시 뒤 같은 키로 다시 부르면 그 결과를 받습니다. - `422` `…/idempotency-key-reused` — 같은 키를 **다른 body** 로 보냈습니다. 재시도해도 영원히 같은 실패이니 새 키를 쓰거나 body를 되돌리세요. ## Rate Limit 전역 **60 요청/분 per `client_id`**, 토큰 발급(`/oauth/token`)은 **5 요청/분** 입니다. 초과 시 `429`(`type: …/too-many-requests`). 쿼터는 두 가지 표기로 함께 나갑니다 — 신규 연동은 표준 필드를 쓰세요. - **표준**(`draft-ietf-httpapi-ratelimit-headers`, Structured Fields): `RateLimit-Policy: \"default\";q=60;w=60` (정책) · `RateLimit: \"default\";r=59;t=42` (잔량 r, 리셋까지 t 초) - **레거시**(관용): `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`. 기존 연동 호환을 위해 유지합니다. `429` 에서는 `Retry-After`(초)가 우선합니다. 대량 동기화(품목 단위 반복 등록 등)는 `Retry-After` 만큼 backoff 후 재시도하세요. ## 추적 요청에 `X-Correlation-Id` 헤더를 실으면 그대로 echo 되고, 없으면 서버가 발급합니다. 모든 응답(성공/에러)에 `X-Correlation-Id`가 실립니다. ## 전방호환 — 모르는 필드와 값에서 깨지지 않게 다음 셋은 breaking 변경으로 보지 않으며 minor 릴리스에서 예고 없이 일어납니다. 이 전제로 구현하세요. - **선택 필드 추가**: 모르는 필드는 무시하세요. 엄격 파서(unknown key 거부)를 쓰지 마세요. - **enum 값 추가**: 상태·낙찰방법 등에 새 값이 생깁니다. 모르는 값을 만나면 예외를 던지지 말고 원문 문자열을 보존하세요. - **problem `type` slug 추가**: 모르는 slug은 **HTTP status로 폴백**해 분기하세요. ## 버전 수명(deprecation/sunset) - **_/v2** breaking 변경은 CHANGELOG SemVer(major bump)와 `Deprecation`/`Sunset` 헤더로 통지합니다. 이 헤더를 모니터링하세요.
6
6
  *
7
- * The version of the OpenAPI document: 45.6.0
7
+ * The version of the OpenAPI document: 45.7.0
8
8
  * Contact: semo.io.kr@gmail.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).