@inklok/api-spec 7.5.2 → 7.6.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 (2) hide show
  1. package/openapi.yaml +406 -1
  2. package/package.json +1 -1
package/openapi.yaml CHANGED
@@ -8,7 +8,7 @@ info:
8
8
  Authenticate using an API key or bearer token, then use the resources below to manage
9
9
  templates, agreements, documents, and signing. For your first integration, start with
10
10
  the Quick Start guide.
11
- version: "7.5.2"
11
+ version: "7.6.1"
12
12
  contact:
13
13
  name: Inklok API Support
14
14
  email: support@inklok.com
@@ -408,6 +408,102 @@ paths:
408
408
  '500':
409
409
  $ref: '#/components/responses/InternalServerError'
410
410
 
411
+ /platform/entitlements:
412
+ get:
413
+ operationId: getPlatformEntitlements
414
+ summary: Lookup Platform entitlements
415
+ x-visibility: internal
416
+ description: |
417
+ Looks up organization entitlement information for internal operators.
418
+ Requires an authorized platform administrator.
419
+ x-required-global-roles: [PLATFORM_ADMIN]
420
+ tags:
421
+ - Platform
422
+ parameters:
423
+ - in: query
424
+ name: orgId
425
+ schema:
426
+ type: string
427
+ description: Organization ID to inspect.
428
+ - in: query
429
+ name: accountId
430
+ schema:
431
+ type: string
432
+ description: Customer account identifier to inspect.
433
+ - in: query
434
+ name: q
435
+ schema:
436
+ type: string
437
+ description: Organization name or identifier search.
438
+ - in: query
439
+ name: limit
440
+ schema:
441
+ type: integer
442
+ minimum: 1
443
+ maximum: 100
444
+ default: 25
445
+ description: Maximum number of organizations to return for browse/search results.
446
+ - in: query
447
+ name: cursor
448
+ schema:
449
+ type: string
450
+ description: Opaque pagination cursor returned by the previous response.
451
+ responses:
452
+ '200':
453
+ description: Successfully retrieved Platform entitlement information
454
+ content:
455
+ application/json:
456
+ schema:
457
+ $ref: '#/components/schemas/PlatformEntitlementLookupResponse'
458
+ '400':
459
+ $ref: '#/components/responses/BadRequest'
460
+ '401':
461
+ $ref: '#/components/responses/Unauthorized'
462
+ '403':
463
+ $ref: '#/components/responses/Forbidden'
464
+ '500':
465
+ $ref: '#/components/responses/InternalServerError'
466
+
467
+ /platform/entitlements/{orgId}:
468
+ patch:
469
+ operationId: updatePlatformEntitlement
470
+ summary: Update Platform seat entitlements
471
+ x-visibility: internal
472
+ description: |
473
+ Updates editable seat entitlement values for an organization.
474
+ effectiveSeatLimit is always derived server-side.
475
+ Requires an authorized platform administrator.
476
+ x-required-global-roles: [PLATFORM_ADMIN]
477
+ tags:
478
+ - Platform
479
+ parameters:
480
+ - in: path
481
+ name: orgId
482
+ required: true
483
+ schema:
484
+ type: string
485
+ requestBody:
486
+ required: true
487
+ content:
488
+ application/json:
489
+ schema:
490
+ $ref: '#/components/schemas/PlatformEntitlementUpdateRequest'
491
+ responses:
492
+ '200':
493
+ description: Successfully updated Platform entitlement information
494
+ content:
495
+ application/json:
496
+ schema:
497
+ $ref: '#/components/schemas/PlatformEntitlementDetail'
498
+ '400':
499
+ $ref: '#/components/responses/BadRequest'
500
+ '401':
501
+ $ref: '#/components/responses/Unauthorized'
502
+ '403':
503
+ $ref: '#/components/responses/Forbidden'
504
+ '500':
505
+ $ref: '#/components/responses/InternalServerError'
506
+
411
507
  /platform/ses:
412
508
  get:
413
509
  operationId: getPlatformSes
@@ -3911,6 +4007,315 @@ components:
3911
4007
  type: string
3912
4008
  format: date-time
3913
4009
 
4010
+ PlatformPlan:
4011
+ type: string
4012
+ enum:
4013
+ - free
4014
+ - pro
4015
+ - team
4016
+ - enterprise
4017
+
4018
+ PlatformPlanLimits:
4019
+ type: object
4020
+ required:
4021
+ - includedSeats
4022
+ - additionalSeats
4023
+ - effectiveSeatLimit
4024
+ - maxProductionAgreementsLifetime
4025
+ - maxEmailsPerDay
4026
+ - maxAgreementCreatesPerMinute
4027
+ - maxApiRequestsPerMinute
4028
+ properties:
4029
+ includedSeats:
4030
+ type: integer
4031
+ nullable: true
4032
+ minimum: 0
4033
+ additionalSeats:
4034
+ type: integer
4035
+ minimum: 0
4036
+ effectiveSeatLimit:
4037
+ type: integer
4038
+ nullable: true
4039
+ minimum: 0
4040
+ readOnly: true
4041
+ maxProductionAgreementsLifetime:
4042
+ type: integer
4043
+ nullable: true
4044
+ minimum: 0
4045
+ maxEmailsPerDay:
4046
+ type: integer
4047
+ nullable: true
4048
+ minimum: 0
4049
+ maxAgreementCreatesPerMinute:
4050
+ type: integer
4051
+ nullable: true
4052
+ minimum: 0
4053
+ maxApiRequestsPerMinute:
4054
+ type: integer
4055
+ nullable: true
4056
+ minimum: 0
4057
+
4058
+ PlatformEntitlement:
4059
+ type: object
4060
+ required:
4061
+ - accountId
4062
+ - plan
4063
+ - subscriptionStatus
4064
+ - source
4065
+ - limits
4066
+ properties:
4067
+ accountId:
4068
+ type: string
4069
+ plan:
4070
+ $ref: '#/components/schemas/PlatformPlan'
4071
+ subscriptionStatus:
4072
+ type: string
4073
+ source:
4074
+ type: string
4075
+ enum:
4076
+ - stored
4077
+ - plan-default
4078
+ limits:
4079
+ $ref: '#/components/schemas/PlatformPlanLimits'
4080
+
4081
+ PlatformEntitlementOrganization:
4082
+ type: object
4083
+ required:
4084
+ - orgId
4085
+ - name
4086
+ - type
4087
+ - accountId
4088
+ - isPersonal
4089
+ - createdAt
4090
+ - entitlement
4091
+ properties:
4092
+ orgId:
4093
+ type: string
4094
+ name:
4095
+ type: string
4096
+ nullable: true
4097
+ type:
4098
+ type: string
4099
+ enum:
4100
+ - PRODUCTION
4101
+ - SANDBOX
4102
+ accountId:
4103
+ type: string
4104
+ nullable: true
4105
+ isPersonal:
4106
+ type: boolean
4107
+ createdAt:
4108
+ type: string
4109
+ format: date-time
4110
+ entitlement:
4111
+ nullable: true
4112
+ allOf:
4113
+ - $ref: '#/components/schemas/PlatformEntitlementOrganizationSummary'
4114
+
4115
+ PlatformEntitlementOrganizationSummary:
4116
+ type: object
4117
+ required:
4118
+ - plan
4119
+ - subscriptionStatus
4120
+ - source
4121
+ - includedSeats
4122
+ - additionalSeats
4123
+ - effectiveSeatLimit
4124
+ - maxApiRequestsPerMinute
4125
+ - hasCustomSeatOverride
4126
+ - hasCustomApiLimit
4127
+ properties:
4128
+ plan:
4129
+ $ref: '#/components/schemas/PlatformPlan'
4130
+ subscriptionStatus:
4131
+ type: string
4132
+ source:
4133
+ type: string
4134
+ enum:
4135
+ - stored
4136
+ - plan-default
4137
+ includedSeats:
4138
+ type: integer
4139
+ nullable: true
4140
+ minimum: 0
4141
+ additionalSeats:
4142
+ type: integer
4143
+ minimum: 0
4144
+ effectiveSeatLimit:
4145
+ type: integer
4146
+ nullable: true
4147
+ minimum: 0
4148
+ maxApiRequestsPerMinute:
4149
+ type: integer
4150
+ nullable: true
4151
+ minimum: 0
4152
+ hasCustomSeatOverride:
4153
+ type: boolean
4154
+ hasCustomApiLimit:
4155
+ type: boolean
4156
+
4157
+ PlatformEntitlementSeats:
4158
+ type: object
4159
+ required:
4160
+ - includedSeats
4161
+ - additionalSeats
4162
+ - effectiveSeatLimit
4163
+ - reservedSeats
4164
+ - activeMembers
4165
+ - pendingInvitations
4166
+ properties:
4167
+ includedSeats:
4168
+ type: integer
4169
+ nullable: true
4170
+ minimum: 0
4171
+ additionalSeats:
4172
+ type: integer
4173
+ minimum: 0
4174
+ effectiveSeatLimit:
4175
+ type: integer
4176
+ nullable: true
4177
+ minimum: 0
4178
+ readOnly: true
4179
+ reservedSeats:
4180
+ type: integer
4181
+ minimum: 0
4182
+ activeMembers:
4183
+ type: integer
4184
+ minimum: 0
4185
+ pendingInvitations:
4186
+ type: integer
4187
+ minimum: 0
4188
+
4189
+ PlatformEntitlementMember:
4190
+ type: object
4191
+ required:
4192
+ - userId
4193
+ - displayName
4194
+ - email
4195
+ - role
4196
+ - status
4197
+ - joinedAt
4198
+ properties:
4199
+ userId:
4200
+ type: string
4201
+ displayName:
4202
+ type: string
4203
+ email:
4204
+ type: string
4205
+ role:
4206
+ $ref: '#/components/schemas/Role'
4207
+ status:
4208
+ type: string
4209
+ enum:
4210
+ - active
4211
+ - inactive
4212
+ joinedAt:
4213
+ type: string
4214
+
4215
+ PlatformEntitlementUsage:
4216
+ type: object
4217
+ required:
4218
+ - usageTrackingConfigured
4219
+ - productionAgreementsLifetime
4220
+ - productionAgreementsLimit
4221
+ - maxApiRequestsPerMinute
4222
+ properties:
4223
+ usageTrackingConfigured:
4224
+ type: boolean
4225
+ productionAgreementsLifetime:
4226
+ type: integer
4227
+ nullable: true
4228
+ minimum: 0
4229
+ productionAgreementsLimit:
4230
+ type: integer
4231
+ nullable: true
4232
+ minimum: 0
4233
+ maxApiRequestsPerMinute:
4234
+ type: integer
4235
+ nullable: true
4236
+ minimum: 0
4237
+
4238
+ PlatformApiLimitReadiness:
4239
+ type: object
4240
+ required:
4241
+ - maxApiRequestsPerMinute
4242
+ - customApiOverridesReady
4243
+ - usageVisibilityReady
4244
+ properties:
4245
+ maxApiRequestsPerMinute:
4246
+ type: integer
4247
+ nullable: true
4248
+ minimum: 0
4249
+ customApiOverridesReady:
4250
+ type: boolean
4251
+ usageVisibilityReady:
4252
+ type: boolean
4253
+
4254
+ PlatformEntitlementDetail:
4255
+ type: object
4256
+ required:
4257
+ - organization
4258
+ - entitlement
4259
+ - seats
4260
+ - members
4261
+ - usage
4262
+ - apiLimitReadiness
4263
+ - generatedAt
4264
+ properties:
4265
+ organization:
4266
+ $ref: '#/components/schemas/PlatformEntitlementOrganization'
4267
+ entitlement:
4268
+ $ref: '#/components/schemas/PlatformEntitlement'
4269
+ seats:
4270
+ $ref: '#/components/schemas/PlatformEntitlementSeats'
4271
+ members:
4272
+ type: array
4273
+ items:
4274
+ $ref: '#/components/schemas/PlatformEntitlementMember'
4275
+ usage:
4276
+ $ref: '#/components/schemas/PlatformEntitlementUsage'
4277
+ apiLimitReadiness:
4278
+ $ref: '#/components/schemas/PlatformApiLimitReadiness'
4279
+ generatedAt:
4280
+ type: string
4281
+ format: date-time
4282
+
4283
+ PlatformEntitlementLookupResponse:
4284
+ type: object
4285
+ required:
4286
+ - organizations
4287
+ - selected
4288
+ - nextCursor
4289
+ - generatedAt
4290
+ properties:
4291
+ organizations:
4292
+ type: array
4293
+ items:
4294
+ $ref: '#/components/schemas/PlatformEntitlementOrganization'
4295
+ selected:
4296
+ nullable: true
4297
+ allOf:
4298
+ - $ref: '#/components/schemas/PlatformEntitlementDetail'
4299
+ nextCursor:
4300
+ type: string
4301
+ nullable: true
4302
+ generatedAt:
4303
+ type: string
4304
+ format: date-time
4305
+
4306
+ PlatformEntitlementUpdateRequest:
4307
+ type: object
4308
+ additionalProperties: false
4309
+ properties:
4310
+ additionalSeats:
4311
+ type: integer
4312
+ minimum: 0
4313
+ includedSeats:
4314
+ type: integer
4315
+ nullable: true
4316
+ minimum: 0
4317
+ description: Enterprise custom included seat value. Ignored for non-Enterprise plans.
4318
+
3914
4319
  PlatformCostsResponse:
3915
4320
  type: object
3916
4321
  required:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inklok/api-spec",
3
- "version": "7.5.2",
3
+ "version": "7.6.1",
4
4
  "description": "Canonical OpenAPI specification for the Inklok public API.",
5
5
  "main": "openapi.yaml",
6
6
  "license": "MIT",