@greatwait/contracts 0.1.0-alpha.1

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 (241) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +77 -0
  3. package/dist/authority.d.ts +217 -0
  4. package/dist/authority.js +261 -0
  5. package/dist/callback-ownership.d.ts +58 -0
  6. package/dist/callback-ownership.js +71 -0
  7. package/dist/callback-safety.d.ts +38 -0
  8. package/dist/callback-safety.js +403 -0
  9. package/dist/compatibility.d.ts +82 -0
  10. package/dist/compatibility.js +115 -0
  11. package/dist/delivery.d.ts +401 -0
  12. package/dist/delivery.js +311 -0
  13. package/dist/endpoints.d.ts +305 -0
  14. package/dist/endpoints.js +179 -0
  15. package/dist/events.d.ts +62 -0
  16. package/dist/events.js +38 -0
  17. package/dist/first-value-journey.d.ts +305 -0
  18. package/dist/first-value-journey.js +466 -0
  19. package/dist/forecast.d.ts +443 -0
  20. package/dist/forecast.js +729 -0
  21. package/dist/identifiers.d.ts +109 -0
  22. package/dist/identifiers.js +131 -0
  23. package/dist/identity.d.ts +196 -0
  24. package/dist/identity.js +182 -0
  25. package/dist/index.d.ts +27 -0
  26. package/dist/index.js +27 -0
  27. package/dist/mcp.d.ts +51 -0
  28. package/dist/mcp.js +56 -0
  29. package/dist/oauth.d.ts +796 -0
  30. package/dist/oauth.js +708 -0
  31. package/dist/operations.d.ts +3985 -0
  32. package/dist/operations.js +1837 -0
  33. package/dist/partition.d.ts +771 -0
  34. package/dist/partition.js +206 -0
  35. package/dist/policy.d.ts +93 -0
  36. package/dist/policy.js +180 -0
  37. package/dist/problems.d.ts +158 -0
  38. package/dist/problems.js +104 -0
  39. package/dist/protocol.d.ts +308 -0
  40. package/dist/protocol.js +515 -0
  41. package/dist/scheduling-records.d.ts +395 -0
  42. package/dist/scheduling-records.js +284 -0
  43. package/dist/scheduling.d.ts +1098 -0
  44. package/dist/scheduling.js +1116 -0
  45. package/dist/secrets.d.ts +383 -0
  46. package/dist/secrets.js +272 -0
  47. package/dist/signatures.d.ts +704 -0
  48. package/dist/signatures.js +867 -0
  49. package/dist/tenancy.d.ts +178 -0
  50. package/dist/tenancy.js +145 -0
  51. package/dist/test-sink.d.ts +986 -0
  52. package/dist/test-sink.js +755 -0
  53. package/dist/time.d.ts +45 -0
  54. package/dist/time.js +128 -0
  55. package/dist/usage.d.ts +121 -0
  56. package/dist/usage.js +200 -0
  57. package/dist/webhooks.d.ts +116 -0
  58. package/dist/webhooks.js +161 -0
  59. package/dist/workspace.d.ts +92 -0
  60. package/dist/workspace.js +59 -0
  61. package/generated/v1/callback-delivery-signature.json +467 -0
  62. package/generated/v1/callback-endpoint-verification.json +59 -0
  63. package/generated/v1/callback-receiver.json +241 -0
  64. package/generated/v1/examples/attempts.list.response.json +24 -0
  65. package/generated/v1/examples/attempts.read.response.json +20 -0
  66. package/generated/v1/examples/credentials.create.request.json +5 -0
  67. package/generated/v1/examples/credentials.create.response.json +10 -0
  68. package/generated/v1/examples/credentials.list.response.json +17 -0
  69. package/generated/v1/examples/credentials.revoke.response.json +11 -0
  70. package/generated/v1/examples/credentials.rotate.request.json +3 -0
  71. package/generated/v1/examples/credentials.rotate.response.json +22 -0
  72. package/generated/v1/examples/endpoints.create.request.json +3 -0
  73. package/generated/v1/examples/endpoints.create.response.json +16 -0
  74. package/generated/v1/examples/endpoints.disable.response.json +15 -0
  75. package/generated/v1/examples/endpoints.list.response.json +21 -0
  76. package/generated/v1/examples/endpoints.read.response.json +14 -0
  77. package/generated/v1/examples/endpoints.rotateSigningKey.request.json +3 -0
  78. package/generated/v1/examples/endpoints.rotateSigningKey.response.json +23 -0
  79. package/generated/v1/examples/endpoints.update.request.json +3 -0
  80. package/generated/v1/examples/endpoints.update.response.json +13 -0
  81. package/generated/v1/examples/endpoints.verify.response.json +15 -0
  82. package/generated/v1/examples/forecast.read.response.json +28 -0
  83. package/generated/v1/examples/forecast.windows.response.json +21 -0
  84. package/generated/v1/examples/grants.list.response.json +17 -0
  85. package/generated/v1/examples/grants.revoke.response.json +16 -0
  86. package/generated/v1/examples/meta.scaffold.response.json +5 -0
  87. package/generated/v1/examples/meta.version.response.json +5 -0
  88. package/generated/v1/examples/occurrences.list.response.json +17 -0
  89. package/generated/v1/examples/occurrences.read.response.json +15 -0
  90. package/generated/v1/examples/occurrences.redeliver.response.json +16 -0
  91. package/generated/v1/examples/projects.create.request.json +3 -0
  92. package/generated/v1/examples/projects.create.response.json +5 -0
  93. package/generated/v1/examples/projects.list.response.json +9 -0
  94. package/generated/v1/examples/schedules.archive.response.json +25 -0
  95. package/generated/v1/examples/schedules.cancel.response.json +24 -0
  96. package/generated/v1/examples/schedules.create.request.json +9 -0
  97. package/generated/v1/examples/schedules.create.response.json +25 -0
  98. package/generated/v1/examples/schedules.list.response.json +23 -0
  99. package/generated/v1/examples/schedules.pause.response.json +23 -0
  100. package/generated/v1/examples/schedules.read.response.json +25 -0
  101. package/generated/v1/examples/schedules.replace.request.json +8 -0
  102. package/generated/v1/examples/schedules.replace.response.json +25 -0
  103. package/generated/v1/examples/schedules.resume.response.json +23 -0
  104. package/generated/v1/examples/sinkdeliveries.list.response.json +19 -0
  105. package/generated/v1/examples/sinkdeliveries.read.response.json +16 -0
  106. package/generated/v1/examples/testsinks.configure.request.json +3 -0
  107. package/generated/v1/examples/testsinks.configure.response.json +13 -0
  108. package/generated/v1/examples/testsinks.create.request.json +8 -0
  109. package/generated/v1/examples/testsinks.create.response.json +13 -0
  110. package/generated/v1/examples/testsinks.delete.response.json +13 -0
  111. package/generated/v1/examples/testsinks.list.response.json +20 -0
  112. package/generated/v1/examples/testsinks.read.response.json +14 -0
  113. package/generated/v1/examples/usage.read.response.json +20 -0
  114. package/generated/v1/first-value-journey.json +436 -0
  115. package/generated/v1/manifest.json +1037 -0
  116. package/generated/v1/openapi.json +23665 -0
  117. package/generated/v1/policy-matrix.json +305 -0
  118. package/generated/v1/schemas/attempts.list.query.json +16 -0
  119. package/generated/v1/schemas/attempts.list.response.json +175 -0
  120. package/generated/v1/schemas/attempts.read.response.json +168 -0
  121. package/generated/v1/schemas/credentials.create.request.json +39 -0
  122. package/generated/v1/schemas/credentials.create.response.json +88 -0
  123. package/generated/v1/schemas/credentials.list.query.json +16 -0
  124. package/generated/v1/schemas/credentials.list.response.json +124 -0
  125. package/generated/v1/schemas/credentials.revoke.response.json +84 -0
  126. package/generated/v1/schemas/credentials.rotate.request.json +11 -0
  127. package/generated/v1/schemas/credentials.rotate.response.json +171 -0
  128. package/generated/v1/schemas/endpoints.create.request.json +12 -0
  129. package/generated/v1/schemas/endpoints.create.response.json +115 -0
  130. package/generated/v1/schemas/endpoints.disable.response-headers.json +11 -0
  131. package/generated/v1/schemas/endpoints.disable.response.json +100 -0
  132. package/generated/v1/schemas/endpoints.list.query.json +16 -0
  133. package/generated/v1/schemas/endpoints.list.response.json +146 -0
  134. package/generated/v1/schemas/endpoints.read.response-headers.json +11 -0
  135. package/generated/v1/schemas/endpoints.read.response.json +100 -0
  136. package/generated/v1/schemas/endpoints.rotateSigningKey.request-headers.json +10 -0
  137. package/generated/v1/schemas/endpoints.rotateSigningKey.request.json +11 -0
  138. package/generated/v1/schemas/endpoints.rotateSigningKey.response-headers.json +11 -0
  139. package/generated/v1/schemas/endpoints.rotateSigningKey.response.json +118 -0
  140. package/generated/v1/schemas/endpoints.update.request-headers.json +10 -0
  141. package/generated/v1/schemas/endpoints.update.request.json +12 -0
  142. package/generated/v1/schemas/endpoints.update.response-headers.json +11 -0
  143. package/generated/v1/schemas/endpoints.update.response.json +100 -0
  144. package/generated/v1/schemas/endpoints.verify.request-headers.json +10 -0
  145. package/generated/v1/schemas/endpoints.verify.response-headers.json +11 -0
  146. package/generated/v1/schemas/endpoints.verify.response.json +100 -0
  147. package/generated/v1/schemas/forecast.read.query.json +26 -0
  148. package/generated/v1/schemas/forecast.read.response.json +100 -0
  149. package/generated/v1/schemas/forecast.windows.query.json +26 -0
  150. package/generated/v1/schemas/forecast.windows.response.json +94 -0
  151. package/generated/v1/schemas/grants.list.response.json +98 -0
  152. package/generated/v1/schemas/grants.revoke.response.json +95 -0
  153. package/generated/v1/schemas/meta.scaffold.response.json +36 -0
  154. package/generated/v1/schemas/meta.version.response.json +19 -0
  155. package/generated/v1/schemas/occurrences.list.query.json +16 -0
  156. package/generated/v1/schemas/occurrences.list.response.json +83 -0
  157. package/generated/v1/schemas/occurrences.read.response.json +76 -0
  158. package/generated/v1/schemas/occurrences.redeliver.request-headers.json +13 -0
  159. package/generated/v1/schemas/occurrences.redeliver.response-headers.json +10 -0
  160. package/generated/v1/schemas/occurrences.redeliver.response.json +168 -0
  161. package/generated/v1/schemas/projects.create.request.json +12 -0
  162. package/generated/v1/schemas/projects.create.response.json +25 -0
  163. package/generated/v1/schemas/projects.list.response.json +35 -0
  164. package/generated/v1/schemas/schedules.archive.request-headers.json +10 -0
  165. package/generated/v1/schemas/schedules.archive.response-headers.json +11 -0
  166. package/generated/v1/schemas/schedules.archive.response.json +189 -0
  167. package/generated/v1/schemas/schedules.cancel.request-headers.json +10 -0
  168. package/generated/v1/schemas/schedules.cancel.response-headers.json +11 -0
  169. package/generated/v1/schemas/schedules.cancel.response.json +189 -0
  170. package/generated/v1/schemas/schedules.create.request-headers.json +12 -0
  171. package/generated/v1/schemas/schedules.create.request.json +99 -0
  172. package/generated/v1/schemas/schedules.create.response-headers.json +15 -0
  173. package/generated/v1/schemas/schedules.create.response.json +189 -0
  174. package/generated/v1/schemas/schedules.list.query.json +16 -0
  175. package/generated/v1/schemas/schedules.list.response.json +170 -0
  176. package/generated/v1/schemas/schedules.pause.request-headers.json +10 -0
  177. package/generated/v1/schemas/schedules.pause.response-headers.json +11 -0
  178. package/generated/v1/schemas/schedules.pause.response.json +189 -0
  179. package/generated/v1/schemas/schedules.read.response-headers.json +11 -0
  180. package/generated/v1/schemas/schedules.read.response.json +189 -0
  181. package/generated/v1/schemas/schedules.replace.request-headers.json +10 -0
  182. package/generated/v1/schemas/schedules.replace.request.json +99 -0
  183. package/generated/v1/schemas/schedules.replace.response-headers.json +11 -0
  184. package/generated/v1/schemas/schedules.replace.response.json +189 -0
  185. package/generated/v1/schemas/schedules.resume.request-headers.json +10 -0
  186. package/generated/v1/schemas/schedules.resume.response-headers.json +11 -0
  187. package/generated/v1/schemas/schedules.resume.response.json +189 -0
  188. package/generated/v1/schemas/sinkdeliveries.list.query.json +16 -0
  189. package/generated/v1/schemas/sinkdeliveries.list.response.json +126 -0
  190. package/generated/v1/schemas/sinkdeliveries.read.response.json +98 -0
  191. package/generated/v1/schemas/testsinks.configure.request.json +66 -0
  192. package/generated/v1/schemas/testsinks.configure.response.json +115 -0
  193. package/generated/v1/schemas/testsinks.create.request.json +76 -0
  194. package/generated/v1/schemas/testsinks.create.response.json +115 -0
  195. package/generated/v1/schemas/testsinks.delete.response.json +115 -0
  196. package/generated/v1/schemas/testsinks.list.query.json +16 -0
  197. package/generated/v1/schemas/testsinks.list.response.json +161 -0
  198. package/generated/v1/schemas/testsinks.read.response.json +115 -0
  199. package/generated/v1/schemas/usage.read.query.json +15 -0
  200. package/generated/v1/schemas/usage.read.response.json +71 -0
  201. package/generated/v1/snippets/attempts.list.json +5 -0
  202. package/generated/v1/snippets/attempts.read.json +5 -0
  203. package/generated/v1/snippets/credentials.create.json +5 -0
  204. package/generated/v1/snippets/credentials.list.json +5 -0
  205. package/generated/v1/snippets/credentials.revoke.json +5 -0
  206. package/generated/v1/snippets/credentials.rotate.json +5 -0
  207. package/generated/v1/snippets/endpoints.create.json +5 -0
  208. package/generated/v1/snippets/endpoints.disable.json +5 -0
  209. package/generated/v1/snippets/endpoints.list.json +5 -0
  210. package/generated/v1/snippets/endpoints.read.json +5 -0
  211. package/generated/v1/snippets/endpoints.rotateSigningKey.json +5 -0
  212. package/generated/v1/snippets/endpoints.update.json +5 -0
  213. package/generated/v1/snippets/endpoints.verify.json +5 -0
  214. package/generated/v1/snippets/forecast.read.json +5 -0
  215. package/generated/v1/snippets/forecast.windows.json +5 -0
  216. package/generated/v1/snippets/grants.list.json +5 -0
  217. package/generated/v1/snippets/grants.revoke.json +5 -0
  218. package/generated/v1/snippets/meta.scaffold.json +5 -0
  219. package/generated/v1/snippets/meta.version.json +5 -0
  220. package/generated/v1/snippets/occurrences.list.json +5 -0
  221. package/generated/v1/snippets/occurrences.read.json +5 -0
  222. package/generated/v1/snippets/occurrences.redeliver.json +5 -0
  223. package/generated/v1/snippets/projects.create.json +5 -0
  224. package/generated/v1/snippets/projects.list.json +5 -0
  225. package/generated/v1/snippets/schedules.archive.json +5 -0
  226. package/generated/v1/snippets/schedules.cancel.json +5 -0
  227. package/generated/v1/snippets/schedules.create.json +5 -0
  228. package/generated/v1/snippets/schedules.list.json +5 -0
  229. package/generated/v1/snippets/schedules.pause.json +5 -0
  230. package/generated/v1/snippets/schedules.read.json +5 -0
  231. package/generated/v1/snippets/schedules.replace.json +5 -0
  232. package/generated/v1/snippets/schedules.resume.json +5 -0
  233. package/generated/v1/snippets/sinkdeliveries.list.json +5 -0
  234. package/generated/v1/snippets/sinkdeliveries.read.json +5 -0
  235. package/generated/v1/snippets/testsinks.configure.json +5 -0
  236. package/generated/v1/snippets/testsinks.create.json +5 -0
  237. package/generated/v1/snippets/testsinks.delete.json +5 -0
  238. package/generated/v1/snippets/testsinks.list.json +5 -0
  239. package/generated/v1/snippets/testsinks.read.json +5 -0
  240. package/generated/v1/snippets/usage.read.json +5 -0
  241. package/package.json +153 -0
@@ -0,0 +1,1037 @@
1
+ {
2
+ "contractVersion": "2026-08-22",
3
+ "externalFiles": [
4
+ "docs/quickstarts/README.md",
5
+ "docs/quickstarts/curl.md",
6
+ "docs/quickstarts/first-value.mjs",
7
+ "docs/quickstarts/first-value.sh",
8
+ "docs/quickstarts/javascript.md",
9
+ "packages/api-client/src/operations.generated.ts",
10
+ "packages/mcp-tools/src/schemas.generated.ts"
11
+ ],
12
+ "files": [
13
+ "callback-delivery-signature.json",
14
+ "callback-endpoint-verification.json",
15
+ "callback-receiver.json",
16
+ "examples/attempts.list.response.json",
17
+ "examples/attempts.read.response.json",
18
+ "examples/credentials.create.request.json",
19
+ "examples/credentials.create.response.json",
20
+ "examples/credentials.list.response.json",
21
+ "examples/credentials.revoke.response.json",
22
+ "examples/credentials.rotate.request.json",
23
+ "examples/credentials.rotate.response.json",
24
+ "examples/endpoints.create.request.json",
25
+ "examples/endpoints.create.response.json",
26
+ "examples/endpoints.disable.response.json",
27
+ "examples/endpoints.list.response.json",
28
+ "examples/endpoints.read.response.json",
29
+ "examples/endpoints.rotateSigningKey.request.json",
30
+ "examples/endpoints.rotateSigningKey.response.json",
31
+ "examples/endpoints.update.request.json",
32
+ "examples/endpoints.update.response.json",
33
+ "examples/endpoints.verify.response.json",
34
+ "examples/forecast.read.response.json",
35
+ "examples/forecast.windows.response.json",
36
+ "examples/grants.list.response.json",
37
+ "examples/grants.revoke.response.json",
38
+ "examples/meta.scaffold.response.json",
39
+ "examples/meta.version.response.json",
40
+ "examples/mock/mock.getFixture.response.json",
41
+ "examples/mock/mock.listFixtures.response.json",
42
+ "examples/mock/mock.setScenario.request.json",
43
+ "examples/mock/mock.setScenario.response.json",
44
+ "examples/occurrences.list.response.json",
45
+ "examples/occurrences.read.response.json",
46
+ "examples/occurrences.redeliver.response.json",
47
+ "examples/projects.create.request.json",
48
+ "examples/projects.create.response.json",
49
+ "examples/projects.list.response.json",
50
+ "examples/schedules.archive.response.json",
51
+ "examples/schedules.cancel.response.json",
52
+ "examples/schedules.create.request.json",
53
+ "examples/schedules.create.response.json",
54
+ "examples/schedules.list.response.json",
55
+ "examples/schedules.pause.response.json",
56
+ "examples/schedules.read.response.json",
57
+ "examples/schedules.replace.request.json",
58
+ "examples/schedules.replace.response.json",
59
+ "examples/schedules.resume.response.json",
60
+ "examples/sinkdeliveries.list.response.json",
61
+ "examples/sinkdeliveries.read.response.json",
62
+ "examples/testsinks.configure.request.json",
63
+ "examples/testsinks.configure.response.json",
64
+ "examples/testsinks.create.request.json",
65
+ "examples/testsinks.create.response.json",
66
+ "examples/testsinks.delete.response.json",
67
+ "examples/testsinks.list.response.json",
68
+ "examples/testsinks.read.response.json",
69
+ "examples/usage.read.response.json",
70
+ "first-value-journey.json",
71
+ "manifest.json",
72
+ "openapi.json",
73
+ "openapi.mock.json",
74
+ "policy-matrix.json",
75
+ "schemas/attempts.list.query.json",
76
+ "schemas/attempts.list.response.json",
77
+ "schemas/attempts.read.response.json",
78
+ "schemas/credentials.create.request.json",
79
+ "schemas/credentials.create.response.json",
80
+ "schemas/credentials.list.query.json",
81
+ "schemas/credentials.list.response.json",
82
+ "schemas/credentials.revoke.response.json",
83
+ "schemas/credentials.rotate.request.json",
84
+ "schemas/credentials.rotate.response.json",
85
+ "schemas/endpoints.create.request.json",
86
+ "schemas/endpoints.create.response.json",
87
+ "schemas/endpoints.disable.response-headers.json",
88
+ "schemas/endpoints.disable.response.json",
89
+ "schemas/endpoints.list.query.json",
90
+ "schemas/endpoints.list.response.json",
91
+ "schemas/endpoints.read.response-headers.json",
92
+ "schemas/endpoints.read.response.json",
93
+ "schemas/endpoints.rotateSigningKey.request-headers.json",
94
+ "schemas/endpoints.rotateSigningKey.request.json",
95
+ "schemas/endpoints.rotateSigningKey.response-headers.json",
96
+ "schemas/endpoints.rotateSigningKey.response.json",
97
+ "schemas/endpoints.update.request-headers.json",
98
+ "schemas/endpoints.update.request.json",
99
+ "schemas/endpoints.update.response-headers.json",
100
+ "schemas/endpoints.update.response.json",
101
+ "schemas/endpoints.verify.request-headers.json",
102
+ "schemas/endpoints.verify.response-headers.json",
103
+ "schemas/endpoints.verify.response.json",
104
+ "schemas/forecast.read.query.json",
105
+ "schemas/forecast.read.response.json",
106
+ "schemas/forecast.windows.query.json",
107
+ "schemas/forecast.windows.response.json",
108
+ "schemas/grants.list.response.json",
109
+ "schemas/grants.revoke.response.json",
110
+ "schemas/meta.scaffold.response.json",
111
+ "schemas/meta.version.response.json",
112
+ "schemas/mock/mock.getFixture.response.json",
113
+ "schemas/mock/mock.listFixtures.response.json",
114
+ "schemas/mock/mock.setScenario.request.json",
115
+ "schemas/mock/mock.setScenario.response.json",
116
+ "schemas/occurrences.list.query.json",
117
+ "schemas/occurrences.list.response.json",
118
+ "schemas/occurrences.read.response.json",
119
+ "schemas/occurrences.redeliver.request-headers.json",
120
+ "schemas/occurrences.redeliver.response-headers.json",
121
+ "schemas/occurrences.redeliver.response.json",
122
+ "schemas/projects.create.request.json",
123
+ "schemas/projects.create.response.json",
124
+ "schemas/projects.list.response.json",
125
+ "schemas/schedules.archive.request-headers.json",
126
+ "schemas/schedules.archive.response-headers.json",
127
+ "schemas/schedules.archive.response.json",
128
+ "schemas/schedules.cancel.request-headers.json",
129
+ "schemas/schedules.cancel.response-headers.json",
130
+ "schemas/schedules.cancel.response.json",
131
+ "schemas/schedules.create.request-headers.json",
132
+ "schemas/schedules.create.request.json",
133
+ "schemas/schedules.create.response-headers.json",
134
+ "schemas/schedules.create.response.json",
135
+ "schemas/schedules.list.query.json",
136
+ "schemas/schedules.list.response.json",
137
+ "schemas/schedules.pause.request-headers.json",
138
+ "schemas/schedules.pause.response-headers.json",
139
+ "schemas/schedules.pause.response.json",
140
+ "schemas/schedules.read.response-headers.json",
141
+ "schemas/schedules.read.response.json",
142
+ "schemas/schedules.replace.request-headers.json",
143
+ "schemas/schedules.replace.request.json",
144
+ "schemas/schedules.replace.response-headers.json",
145
+ "schemas/schedules.replace.response.json",
146
+ "schemas/schedules.resume.request-headers.json",
147
+ "schemas/schedules.resume.response-headers.json",
148
+ "schemas/schedules.resume.response.json",
149
+ "schemas/sinkdeliveries.list.query.json",
150
+ "schemas/sinkdeliveries.list.response.json",
151
+ "schemas/sinkdeliveries.read.response.json",
152
+ "schemas/testsinks.configure.request.json",
153
+ "schemas/testsinks.configure.response.json",
154
+ "schemas/testsinks.create.request.json",
155
+ "schemas/testsinks.create.response.json",
156
+ "schemas/testsinks.delete.response.json",
157
+ "schemas/testsinks.list.query.json",
158
+ "schemas/testsinks.list.response.json",
159
+ "schemas/testsinks.read.response.json",
160
+ "schemas/usage.read.query.json",
161
+ "schemas/usage.read.response.json",
162
+ "snippets/attempts.list.json",
163
+ "snippets/attempts.read.json",
164
+ "snippets/credentials.create.json",
165
+ "snippets/credentials.list.json",
166
+ "snippets/credentials.revoke.json",
167
+ "snippets/credentials.rotate.json",
168
+ "snippets/endpoints.create.json",
169
+ "snippets/endpoints.disable.json",
170
+ "snippets/endpoints.list.json",
171
+ "snippets/endpoints.read.json",
172
+ "snippets/endpoints.rotateSigningKey.json",
173
+ "snippets/endpoints.update.json",
174
+ "snippets/endpoints.verify.json",
175
+ "snippets/forecast.read.json",
176
+ "snippets/forecast.windows.json",
177
+ "snippets/grants.list.json",
178
+ "snippets/grants.revoke.json",
179
+ "snippets/meta.scaffold.json",
180
+ "snippets/meta.version.json",
181
+ "snippets/mock/mock.getFixture.json",
182
+ "snippets/mock/mock.listFixtures.json",
183
+ "snippets/mock/mock.setScenario.json",
184
+ "snippets/occurrences.list.json",
185
+ "snippets/occurrences.read.json",
186
+ "snippets/occurrences.redeliver.json",
187
+ "snippets/projects.create.json",
188
+ "snippets/projects.list.json",
189
+ "snippets/schedules.archive.json",
190
+ "snippets/schedules.cancel.json",
191
+ "snippets/schedules.create.json",
192
+ "snippets/schedules.list.json",
193
+ "snippets/schedules.pause.json",
194
+ "snippets/schedules.read.json",
195
+ "snippets/schedules.replace.json",
196
+ "snippets/schedules.resume.json",
197
+ "snippets/sinkdeliveries.list.json",
198
+ "snippets/sinkdeliveries.read.json",
199
+ "snippets/testsinks.configure.json",
200
+ "snippets/testsinks.create.json",
201
+ "snippets/testsinks.delete.json",
202
+ "snippets/testsinks.list.json",
203
+ "snippets/testsinks.read.json",
204
+ "snippets/usage.read.json"
205
+ ],
206
+ "operations": [
207
+ {
208
+ "id": "meta.version",
209
+ "method": "GET",
210
+ "mutates": false,
211
+ "path": "/__greatwait/version",
212
+ "principals": [],
213
+ "problems": ["rate_limited", "service_unavailable"],
214
+ "scopes": [],
215
+ "surfaces": ["api", "mock"]
216
+ },
217
+ {
218
+ "id": "meta.scaffold",
219
+ "method": "GET",
220
+ "mutates": false,
221
+ "path": "/_scaffold",
222
+ "principals": [],
223
+ "problems": ["rate_limited", "service_unavailable"],
224
+ "scopes": [],
225
+ "surfaces": ["api", "mock"]
226
+ },
227
+ {
228
+ "id": "mock.listFixtures",
229
+ "method": "GET",
230
+ "mutates": false,
231
+ "path": "/_contract/fixtures",
232
+ "principals": [],
233
+ "problems": ["rate_limited", "service_unavailable"],
234
+ "scopes": [],
235
+ "surfaces": ["mock"]
236
+ },
237
+ {
238
+ "id": "mock.getFixture",
239
+ "method": "GET",
240
+ "mutates": false,
241
+ "path": "/_contract/fixtures/{fixtureId}",
242
+ "principals": [],
243
+ "problems": ["not_found", "rate_limited", "service_unavailable"],
244
+ "scopes": [],
245
+ "surfaces": ["mock"]
246
+ },
247
+ {
248
+ "id": "endpoints.create",
249
+ "method": "POST",
250
+ "mutates": true,
251
+ "path": "/v1/endpoints",
252
+ "principals": ["api-credential", "oauth", "session"],
253
+ "problems": [
254
+ "authentication_required",
255
+ "credential_expired",
256
+ "credential_revoked",
257
+ "invalid_request",
258
+ "plan_limit_reached",
259
+ "rate_limited",
260
+ "scope_missing",
261
+ "service_unavailable"
262
+ ],
263
+ "scopes": ["endpoints:write"],
264
+ "sessionAuthority": "headers",
265
+ "surfaces": ["api", "mock"]
266
+ },
267
+ {
268
+ "id": "endpoints.list",
269
+ "method": "GET",
270
+ "mutates": false,
271
+ "path": "/v1/endpoints",
272
+ "principals": ["api-credential", "oauth", "session"],
273
+ "problems": [
274
+ "authentication_required",
275
+ "credential_expired",
276
+ "credential_revoked",
277
+ "invalid_request",
278
+ "rate_limited",
279
+ "scope_missing",
280
+ "service_unavailable"
281
+ ],
282
+ "scopes": ["endpoints:read"],
283
+ "sessionAuthority": "headers",
284
+ "surfaces": ["api", "mock"]
285
+ },
286
+ {
287
+ "id": "endpoints.read",
288
+ "method": "GET",
289
+ "mutates": false,
290
+ "path": "/v1/endpoints/{endpointId}",
291
+ "principals": ["api-credential", "oauth", "session"],
292
+ "problems": [
293
+ "authentication_required",
294
+ "credential_expired",
295
+ "credential_revoked",
296
+ "invalid_request",
297
+ "not_found",
298
+ "rate_limited",
299
+ "scope_missing",
300
+ "service_unavailable"
301
+ ],
302
+ "scopes": ["endpoints:read"],
303
+ "sessionAuthority": "headers",
304
+ "surfaces": ["api", "mock"]
305
+ },
306
+ {
307
+ "id": "endpoints.update",
308
+ "method": "PUT",
309
+ "mutates": true,
310
+ "path": "/v1/endpoints/{endpointId}",
311
+ "principals": ["api-credential", "oauth", "session"],
312
+ "problems": [
313
+ "authentication_required",
314
+ "credential_expired",
315
+ "credential_revoked",
316
+ "invalid_request",
317
+ "not_found",
318
+ "rate_limited",
319
+ "scope_missing",
320
+ "service_unavailable",
321
+ "state_conflict",
322
+ "version_conflict"
323
+ ],
324
+ "scopes": ["endpoints:write"],
325
+ "sessionAuthority": "headers",
326
+ "surfaces": ["api", "mock"]
327
+ },
328
+ {
329
+ "id": "endpoints.verify",
330
+ "method": "POST",
331
+ "mutates": true,
332
+ "path": "/v1/endpoints/{endpointId}/verify",
333
+ "principals": ["api-credential", "oauth", "session"],
334
+ "problems": [
335
+ "authentication_required",
336
+ "credential_expired",
337
+ "credential_revoked",
338
+ "invalid_request",
339
+ "not_found",
340
+ "rate_limited",
341
+ "scope_missing",
342
+ "service_unavailable",
343
+ "state_conflict",
344
+ "version_conflict"
345
+ ],
346
+ "scopes": ["endpoints:write"],
347
+ "sessionAuthority": "headers",
348
+ "surfaces": ["api", "mock"]
349
+ },
350
+ {
351
+ "id": "endpoints.rotateSigningKey",
352
+ "method": "POST",
353
+ "mutates": true,
354
+ "path": "/v1/endpoints/{endpointId}/signing-keys/rotate",
355
+ "principals": ["api-credential", "oauth", "session"],
356
+ "problems": [
357
+ "authentication_required",
358
+ "credential_expired",
359
+ "credential_revoked",
360
+ "invalid_request",
361
+ "not_found",
362
+ "rate_limited",
363
+ "scope_missing",
364
+ "service_unavailable",
365
+ "state_conflict",
366
+ "version_conflict"
367
+ ],
368
+ "scopes": ["endpoints:write"],
369
+ "sessionAuthority": "headers",
370
+ "surfaces": ["api", "mock"]
371
+ },
372
+ {
373
+ "id": "endpoints.disable",
374
+ "method": "DELETE",
375
+ "mutates": true,
376
+ "path": "/v1/endpoints/{endpointId}",
377
+ "principals": ["api-credential", "oauth", "session"],
378
+ "problems": [
379
+ "authentication_required",
380
+ "credential_expired",
381
+ "credential_revoked",
382
+ "invalid_request",
383
+ "not_found",
384
+ "rate_limited",
385
+ "scope_missing",
386
+ "service_unavailable"
387
+ ],
388
+ "scopes": ["endpoints:write"],
389
+ "sessionAuthority": "headers",
390
+ "surfaces": ["api", "mock"]
391
+ },
392
+ {
393
+ "id": "testsinks.create",
394
+ "method": "POST",
395
+ "mutates": true,
396
+ "path": "/v1/test-sinks",
397
+ "principals": ["api-credential", "oauth", "session"],
398
+ "problems": [
399
+ "authentication_required",
400
+ "credential_expired",
401
+ "credential_revoked",
402
+ "invalid_request",
403
+ "not_found",
404
+ "plan_limit_reached",
405
+ "rate_limited",
406
+ "scope_missing",
407
+ "service_unavailable",
408
+ "state_conflict"
409
+ ],
410
+ "scopes": ["endpoints:write"],
411
+ "sessionAuthority": "headers",
412
+ "surfaces": ["api", "mock"]
413
+ },
414
+ {
415
+ "id": "testsinks.list",
416
+ "method": "GET",
417
+ "mutates": false,
418
+ "path": "/v1/test-sinks",
419
+ "principals": ["api-credential", "oauth", "session"],
420
+ "problems": [
421
+ "authentication_required",
422
+ "credential_expired",
423
+ "credential_revoked",
424
+ "invalid_request",
425
+ "rate_limited",
426
+ "scope_missing",
427
+ "service_unavailable",
428
+ "state_conflict"
429
+ ],
430
+ "scopes": ["endpoints:read"],
431
+ "sessionAuthority": "headers",
432
+ "surfaces": ["api", "mock"]
433
+ },
434
+ {
435
+ "id": "testsinks.read",
436
+ "method": "GET",
437
+ "mutates": false,
438
+ "path": "/v1/test-sinks/{sinkId}",
439
+ "principals": ["api-credential", "oauth", "session"],
440
+ "problems": [
441
+ "authentication_required",
442
+ "credential_expired",
443
+ "credential_revoked",
444
+ "invalid_request",
445
+ "not_found",
446
+ "rate_limited",
447
+ "scope_missing",
448
+ "service_unavailable",
449
+ "state_conflict"
450
+ ],
451
+ "scopes": ["endpoints:read"],
452
+ "sessionAuthority": "headers",
453
+ "surfaces": ["api", "mock"]
454
+ },
455
+ {
456
+ "id": "testsinks.configure",
457
+ "method": "PUT",
458
+ "mutates": true,
459
+ "path": "/v1/test-sinks/{sinkId}/program",
460
+ "principals": ["api-credential", "oauth", "session"],
461
+ "problems": [
462
+ "authentication_required",
463
+ "credential_expired",
464
+ "credential_revoked",
465
+ "invalid_request",
466
+ "not_found",
467
+ "rate_limited",
468
+ "scope_missing",
469
+ "service_unavailable",
470
+ "state_conflict"
471
+ ],
472
+ "scopes": ["endpoints:write"],
473
+ "sessionAuthority": "headers",
474
+ "surfaces": ["api", "mock"]
475
+ },
476
+ {
477
+ "id": "sinkdeliveries.list",
478
+ "method": "GET",
479
+ "mutates": false,
480
+ "path": "/v1/test-sinks/{sinkId}/deliveries",
481
+ "principals": ["api-credential", "oauth", "session"],
482
+ "problems": [
483
+ "authentication_required",
484
+ "credential_expired",
485
+ "credential_revoked",
486
+ "invalid_request",
487
+ "not_found",
488
+ "rate_limited",
489
+ "scope_missing",
490
+ "service_unavailable",
491
+ "state_conflict"
492
+ ],
493
+ "scopes": ["endpoints:read"],
494
+ "sessionAuthority": "headers",
495
+ "surfaces": ["api", "mock"]
496
+ },
497
+ {
498
+ "id": "sinkdeliveries.read",
499
+ "method": "GET",
500
+ "mutates": false,
501
+ "path": "/v1/test-sinks/{sinkId}/deliveries/{deliveryRecordId}",
502
+ "principals": ["api-credential", "oauth", "session"],
503
+ "problems": [
504
+ "authentication_required",
505
+ "credential_expired",
506
+ "credential_revoked",
507
+ "invalid_request",
508
+ "not_found",
509
+ "rate_limited",
510
+ "scope_missing",
511
+ "service_unavailable",
512
+ "state_conflict"
513
+ ],
514
+ "scopes": ["endpoints:read"],
515
+ "sessionAuthority": "headers",
516
+ "surfaces": ["api", "mock"]
517
+ },
518
+ {
519
+ "id": "testsinks.delete",
520
+ "method": "DELETE",
521
+ "mutates": true,
522
+ "path": "/v1/test-sinks/{sinkId}",
523
+ "principals": ["api-credential", "oauth", "session"],
524
+ "problems": [
525
+ "authentication_required",
526
+ "credential_expired",
527
+ "credential_revoked",
528
+ "invalid_request",
529
+ "not_found",
530
+ "rate_limited",
531
+ "scope_missing",
532
+ "service_unavailable",
533
+ "state_conflict"
534
+ ],
535
+ "scopes": ["endpoints:write"],
536
+ "sessionAuthority": "headers",
537
+ "surfaces": ["api", "mock"]
538
+ },
539
+ {
540
+ "id": "mock.setScenario",
541
+ "method": "POST",
542
+ "mutates": true,
543
+ "path": "/_contract/scenarios",
544
+ "principals": [],
545
+ "problems": ["invalid_request", "rate_limited", "service_unavailable"],
546
+ "scopes": [],
547
+ "surfaces": ["mock"]
548
+ },
549
+ {
550
+ "id": "credentials.create",
551
+ "method": "POST",
552
+ "mutates": true,
553
+ "path": "/v1/credentials",
554
+ "principals": ["session"],
555
+ "problems": [
556
+ "authentication_required",
557
+ "credential_expired",
558
+ "credential_revoked",
559
+ "invalid_request",
560
+ "not_found",
561
+ "rate_limited",
562
+ "scope_missing",
563
+ "service_unavailable"
564
+ ],
565
+ "scopes": ["credentials:write"],
566
+ "sessionAuthority": "request-body",
567
+ "surfaces": ["api", "mock"]
568
+ },
569
+ {
570
+ "id": "credentials.list",
571
+ "method": "GET",
572
+ "mutates": false,
573
+ "path": "/v1/credentials",
574
+ "principals": ["api-credential", "oauth", "session"],
575
+ "problems": [
576
+ "authentication_required",
577
+ "credential_expired",
578
+ "credential_revoked",
579
+ "invalid_request",
580
+ "rate_limited",
581
+ "scope_missing",
582
+ "service_unavailable"
583
+ ],
584
+ "scopes": ["credentials:read"],
585
+ "sessionAuthority": "headers",
586
+ "surfaces": ["api", "mock"]
587
+ },
588
+ {
589
+ "id": "projects.list",
590
+ "method": "GET",
591
+ "mutates": false,
592
+ "path": "/v1/projects",
593
+ "principals": ["session"],
594
+ "problems": [
595
+ "authentication_required",
596
+ "credential_expired",
597
+ "credential_revoked",
598
+ "rate_limited",
599
+ "scope_missing",
600
+ "service_unavailable"
601
+ ],
602
+ "scopes": ["projects:read"],
603
+ "sessionAuthority": "organization",
604
+ "surfaces": ["api", "mock"]
605
+ },
606
+ {
607
+ "id": "projects.create",
608
+ "method": "POST",
609
+ "mutates": true,
610
+ "path": "/v1/projects",
611
+ "principals": ["session"],
612
+ "problems": [
613
+ "authentication_required",
614
+ "credential_expired",
615
+ "credential_revoked",
616
+ "invalid_request",
617
+ "plan_limit_reached",
618
+ "rate_limited",
619
+ "scope_missing",
620
+ "service_unavailable"
621
+ ],
622
+ "scopes": ["projects:write"],
623
+ "sessionAuthority": "organization",
624
+ "surfaces": ["api", "mock"]
625
+ },
626
+ {
627
+ "id": "grants.list",
628
+ "method": "GET",
629
+ "mutates": false,
630
+ "path": "/v1/grants",
631
+ "principals": ["session"],
632
+ "problems": [
633
+ "authentication_required",
634
+ "credential_expired",
635
+ "credential_revoked",
636
+ "rate_limited",
637
+ "scope_missing",
638
+ "service_unavailable"
639
+ ],
640
+ "scopes": ["grants:read"],
641
+ "sessionAuthority": "member",
642
+ "surfaces": ["api", "mock"]
643
+ },
644
+ {
645
+ "id": "grants.revoke",
646
+ "method": "DELETE",
647
+ "mutates": true,
648
+ "path": "/v1/grants/{grantId}",
649
+ "principals": ["session"],
650
+ "problems": [
651
+ "authentication_required",
652
+ "credential_expired",
653
+ "credential_revoked",
654
+ "not_found",
655
+ "rate_limited",
656
+ "scope_missing",
657
+ "service_unavailable"
658
+ ],
659
+ "scopes": ["grants:write"],
660
+ "sessionAuthority": "member",
661
+ "surfaces": ["api", "mock"]
662
+ },
663
+ {
664
+ "id": "credentials.rotate",
665
+ "method": "POST",
666
+ "mutates": true,
667
+ "path": "/v1/credentials/{credentialId}/rotate",
668
+ "principals": ["api-credential", "oauth", "session"],
669
+ "problems": [
670
+ "authentication_required",
671
+ "credential_expired",
672
+ "credential_revoked",
673
+ "invalid_request",
674
+ "not_found",
675
+ "rate_limited",
676
+ "scope_missing",
677
+ "service_unavailable"
678
+ ],
679
+ "scopes": ["credentials:write"],
680
+ "sessionAuthority": "headers",
681
+ "surfaces": ["api", "mock"]
682
+ },
683
+ {
684
+ "id": "credentials.revoke",
685
+ "method": "DELETE",
686
+ "mutates": true,
687
+ "path": "/v1/credentials/{credentialId}",
688
+ "principals": ["api-credential", "oauth", "session"],
689
+ "problems": [
690
+ "authentication_required",
691
+ "credential_expired",
692
+ "credential_revoked",
693
+ "invalid_request",
694
+ "not_found",
695
+ "rate_limited",
696
+ "scope_missing",
697
+ "service_unavailable"
698
+ ],
699
+ "scopes": ["credentials:write"],
700
+ "sessionAuthority": "headers",
701
+ "surfaces": ["api", "mock"]
702
+ },
703
+ {
704
+ "id": "schedules.create",
705
+ "method": "POST",
706
+ "mutates": true,
707
+ "path": "/v1/schedules",
708
+ "principals": ["api-credential", "oauth", "session"],
709
+ "problems": [
710
+ "authentication_required",
711
+ "credential_expired",
712
+ "credential_revoked",
713
+ "endpoint_unverified",
714
+ "idempotency_key_reused",
715
+ "invalid_request",
716
+ "not_found",
717
+ "plan_limit_reached",
718
+ "rate_limited",
719
+ "scope_missing",
720
+ "service_unavailable"
721
+ ],
722
+ "scopes": ["schedules:write"],
723
+ "sessionAuthority": "headers",
724
+ "surfaces": ["api", "mock"]
725
+ },
726
+ {
727
+ "id": "schedules.read",
728
+ "method": "GET",
729
+ "mutates": false,
730
+ "path": "/v1/schedules/{scheduleId}",
731
+ "principals": ["api-credential", "oauth", "session"],
732
+ "problems": [
733
+ "authentication_required",
734
+ "credential_expired",
735
+ "credential_revoked",
736
+ "invalid_request",
737
+ "not_found",
738
+ "rate_limited",
739
+ "scope_missing",
740
+ "service_unavailable"
741
+ ],
742
+ "scopes": ["schedules:read"],
743
+ "sessionAuthority": "headers",
744
+ "surfaces": ["api", "mock"]
745
+ },
746
+ {
747
+ "id": "schedules.list",
748
+ "method": "GET",
749
+ "mutates": false,
750
+ "path": "/v1/schedules",
751
+ "principals": ["api-credential", "oauth", "session"],
752
+ "problems": [
753
+ "authentication_required",
754
+ "credential_expired",
755
+ "credential_revoked",
756
+ "invalid_request",
757
+ "rate_limited",
758
+ "scope_missing",
759
+ "service_unavailable"
760
+ ],
761
+ "scopes": ["schedules:read"],
762
+ "sessionAuthority": "headers",
763
+ "surfaces": ["api", "mock"]
764
+ },
765
+ {
766
+ "id": "forecast.read",
767
+ "method": "GET",
768
+ "mutates": false,
769
+ "path": "/v1/forecast",
770
+ "principals": ["api-credential", "oauth", "session"],
771
+ "problems": [
772
+ "authentication_required",
773
+ "credential_expired",
774
+ "credential_revoked",
775
+ "invalid_request",
776
+ "rate_limited",
777
+ "scope_missing",
778
+ "service_unavailable"
779
+ ],
780
+ "scopes": ["forecast:read"],
781
+ "sessionAuthority": "headers",
782
+ "surfaces": ["api", "mock"]
783
+ },
784
+ {
785
+ "id": "usage.read",
786
+ "method": "GET",
787
+ "mutates": false,
788
+ "path": "/v1/usage",
789
+ "principals": ["api-credential", "oauth", "session"],
790
+ "problems": [
791
+ "authentication_required",
792
+ "credential_expired",
793
+ "credential_revoked",
794
+ "invalid_request",
795
+ "rate_limited",
796
+ "scope_missing",
797
+ "service_unavailable"
798
+ ],
799
+ "scopes": ["usage:read"],
800
+ "sessionAuthority": "headers",
801
+ "surfaces": ["api", "mock"]
802
+ },
803
+ {
804
+ "id": "forecast.windows",
805
+ "method": "GET",
806
+ "mutates": false,
807
+ "path": "/v1/forecast/windows",
808
+ "principals": ["api-credential", "oauth", "session"],
809
+ "problems": [
810
+ "authentication_required",
811
+ "credential_expired",
812
+ "credential_revoked",
813
+ "invalid_request",
814
+ "rate_limited",
815
+ "scope_missing",
816
+ "service_unavailable"
817
+ ],
818
+ "scopes": ["forecast:read"],
819
+ "sessionAuthority": "headers",
820
+ "surfaces": ["api", "mock"]
821
+ },
822
+ {
823
+ "id": "occurrences.list",
824
+ "method": "GET",
825
+ "mutates": false,
826
+ "path": "/v1/schedules/{scheduleId}/occurrences",
827
+ "principals": ["api-credential", "oauth", "session"],
828
+ "problems": [
829
+ "authentication_required",
830
+ "credential_expired",
831
+ "credential_revoked",
832
+ "invalid_request",
833
+ "not_found",
834
+ "rate_limited",
835
+ "scope_missing",
836
+ "service_unavailable"
837
+ ],
838
+ "scopes": ["occurrences:read"],
839
+ "sessionAuthority": "headers",
840
+ "surfaces": ["api", "mock"]
841
+ },
842
+ {
843
+ "id": "occurrences.read",
844
+ "method": "GET",
845
+ "mutates": false,
846
+ "path": "/v1/schedules/{scheduleId}/occurrences/{occurrenceId}",
847
+ "principals": ["api-credential", "oauth", "session"],
848
+ "problems": [
849
+ "authentication_required",
850
+ "credential_expired",
851
+ "credential_revoked",
852
+ "invalid_request",
853
+ "not_found",
854
+ "rate_limited",
855
+ "scope_missing",
856
+ "service_unavailable"
857
+ ],
858
+ "scopes": ["occurrences:read"],
859
+ "sessionAuthority": "headers",
860
+ "surfaces": ["api", "mock"]
861
+ },
862
+ {
863
+ "id": "attempts.list",
864
+ "method": "GET",
865
+ "mutates": false,
866
+ "path": "/v1/schedules/{scheduleId}/occurrences/{occurrenceId}/attempts",
867
+ "principals": ["api-credential", "oauth", "session"],
868
+ "problems": [
869
+ "authentication_required",
870
+ "credential_expired",
871
+ "credential_revoked",
872
+ "invalid_request",
873
+ "not_found",
874
+ "rate_limited",
875
+ "scope_missing",
876
+ "service_unavailable"
877
+ ],
878
+ "scopes": ["occurrences:read"],
879
+ "sessionAuthority": "headers",
880
+ "surfaces": ["api", "mock"]
881
+ },
882
+ {
883
+ "id": "attempts.read",
884
+ "method": "GET",
885
+ "mutates": false,
886
+ "path": "/v1/schedules/{scheduleId}/occurrences/{occurrenceId}/attempts/{attemptId}",
887
+ "principals": ["api-credential", "oauth", "session"],
888
+ "problems": [
889
+ "authentication_required",
890
+ "credential_expired",
891
+ "credential_revoked",
892
+ "invalid_request",
893
+ "not_found",
894
+ "rate_limited",
895
+ "scope_missing",
896
+ "service_unavailable"
897
+ ],
898
+ "scopes": ["occurrences:read"],
899
+ "sessionAuthority": "headers",
900
+ "surfaces": ["api", "mock"]
901
+ },
902
+ {
903
+ "id": "occurrences.redeliver",
904
+ "method": "POST",
905
+ "mutates": true,
906
+ "path": "/v1/schedules/{scheduleId}/occurrences/{occurrenceId}/redeliver",
907
+ "principals": ["api-credential", "oauth", "session"],
908
+ "problems": [
909
+ "authentication_required",
910
+ "credential_expired",
911
+ "credential_revoked",
912
+ "idempotency_key_reused",
913
+ "invalid_request",
914
+ "not_found",
915
+ "rate_limited",
916
+ "scope_missing",
917
+ "service_unavailable",
918
+ "state_conflict"
919
+ ],
920
+ "scopes": ["occurrences:redeliver"],
921
+ "sessionAuthority": "headers",
922
+ "surfaces": ["api", "mock"]
923
+ },
924
+ {
925
+ "id": "schedules.replace",
926
+ "method": "PUT",
927
+ "mutates": true,
928
+ "path": "/v1/schedules/{scheduleId}",
929
+ "principals": ["api-credential", "oauth", "session"],
930
+ "problems": [
931
+ "authentication_required",
932
+ "credential_expired",
933
+ "credential_revoked",
934
+ "endpoint_unverified",
935
+ "invalid_request",
936
+ "not_found",
937
+ "plan_limit_reached",
938
+ "rate_limited",
939
+ "scope_missing",
940
+ "service_unavailable",
941
+ "state_conflict",
942
+ "version_conflict"
943
+ ],
944
+ "scopes": ["schedules:write"],
945
+ "sessionAuthority": "headers",
946
+ "surfaces": ["api", "mock"]
947
+ },
948
+ {
949
+ "id": "schedules.pause",
950
+ "method": "POST",
951
+ "mutates": true,
952
+ "path": "/v1/schedules/{scheduleId}/pause",
953
+ "principals": ["api-credential", "oauth", "session"],
954
+ "problems": [
955
+ "authentication_required",
956
+ "credential_expired",
957
+ "credential_revoked",
958
+ "invalid_request",
959
+ "not_found",
960
+ "rate_limited",
961
+ "scope_missing",
962
+ "service_unavailable",
963
+ "state_conflict",
964
+ "version_conflict"
965
+ ],
966
+ "scopes": ["schedules:write"],
967
+ "sessionAuthority": "headers",
968
+ "surfaces": ["api", "mock"]
969
+ },
970
+ {
971
+ "id": "schedules.resume",
972
+ "method": "POST",
973
+ "mutates": true,
974
+ "path": "/v1/schedules/{scheduleId}/resume",
975
+ "principals": ["api-credential", "oauth", "session"],
976
+ "problems": [
977
+ "authentication_required",
978
+ "credential_expired",
979
+ "credential_revoked",
980
+ "invalid_request",
981
+ "not_found",
982
+ "rate_limited",
983
+ "scope_missing",
984
+ "service_unavailable",
985
+ "state_conflict",
986
+ "version_conflict"
987
+ ],
988
+ "scopes": ["schedules:write"],
989
+ "sessionAuthority": "headers",
990
+ "surfaces": ["api", "mock"]
991
+ },
992
+ {
993
+ "id": "schedules.cancel",
994
+ "method": "DELETE",
995
+ "mutates": true,
996
+ "path": "/v1/schedules/{scheduleId}",
997
+ "principals": ["api-credential", "oauth", "session"],
998
+ "problems": [
999
+ "authentication_required",
1000
+ "credential_expired",
1001
+ "credential_revoked",
1002
+ "invalid_request",
1003
+ "not_found",
1004
+ "rate_limited",
1005
+ "scope_missing",
1006
+ "service_unavailable",
1007
+ "state_conflict",
1008
+ "version_conflict"
1009
+ ],
1010
+ "scopes": ["schedules:write"],
1011
+ "sessionAuthority": "headers",
1012
+ "surfaces": ["api", "mock"]
1013
+ },
1014
+ {
1015
+ "id": "schedules.archive",
1016
+ "method": "POST",
1017
+ "mutates": true,
1018
+ "path": "/v1/schedules/{scheduleId}/archive",
1019
+ "principals": ["api-credential", "oauth", "session"],
1020
+ "problems": [
1021
+ "authentication_required",
1022
+ "credential_expired",
1023
+ "credential_revoked",
1024
+ "invalid_request",
1025
+ "not_found",
1026
+ "rate_limited",
1027
+ "scope_missing",
1028
+ "service_unavailable",
1029
+ "state_conflict",
1030
+ "version_conflict"
1031
+ ],
1032
+ "scopes": ["schedules:write"],
1033
+ "sessionAuthority": "headers",
1034
+ "surfaces": ["api", "mock"]
1035
+ }
1036
+ ]
1037
+ }