@inklok/api-spec 7.5.2 → 7.6.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 (2) hide show
  1. package/openapi.yaml +342 -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.0"
12
12
  contact:
13
13
  name: Inklok API Support
14
14
  email: support@inklok.com
@@ -408,6 +408,89 @@ 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
+ responses:
439
+ '200':
440
+ description: Successfully retrieved Platform entitlement information
441
+ content:
442
+ application/json:
443
+ schema:
444
+ $ref: '#/components/schemas/PlatformEntitlementLookupResponse'
445
+ '400':
446
+ $ref: '#/components/responses/BadRequest'
447
+ '401':
448
+ $ref: '#/components/responses/Unauthorized'
449
+ '403':
450
+ $ref: '#/components/responses/Forbidden'
451
+ '500':
452
+ $ref: '#/components/responses/InternalServerError'
453
+
454
+ /platform/entitlements/{orgId}:
455
+ patch:
456
+ operationId: updatePlatformEntitlement
457
+ summary: Update Platform seat entitlements
458
+ x-visibility: internal
459
+ description: |
460
+ Updates editable seat entitlement values for an organization.
461
+ effectiveSeatLimit is always derived server-side.
462
+ Requires an authorized platform administrator.
463
+ x-required-global-roles: [PLATFORM_ADMIN]
464
+ tags:
465
+ - Platform
466
+ parameters:
467
+ - in: path
468
+ name: orgId
469
+ required: true
470
+ schema:
471
+ type: string
472
+ requestBody:
473
+ required: true
474
+ content:
475
+ application/json:
476
+ schema:
477
+ $ref: '#/components/schemas/PlatformEntitlementUpdateRequest'
478
+ responses:
479
+ '200':
480
+ description: Successfully updated Platform entitlement information
481
+ content:
482
+ application/json:
483
+ schema:
484
+ $ref: '#/components/schemas/PlatformEntitlementDetail'
485
+ '400':
486
+ $ref: '#/components/responses/BadRequest'
487
+ '401':
488
+ $ref: '#/components/responses/Unauthorized'
489
+ '403':
490
+ $ref: '#/components/responses/Forbidden'
491
+ '500':
492
+ $ref: '#/components/responses/InternalServerError'
493
+
411
494
  /platform/ses:
412
495
  get:
413
496
  operationId: getPlatformSes
@@ -3911,6 +3994,264 @@ components:
3911
3994
  type: string
3912
3995
  format: date-time
3913
3996
 
3997
+ PlatformPlan:
3998
+ type: string
3999
+ enum:
4000
+ - free
4001
+ - pro
4002
+ - team
4003
+ - enterprise
4004
+
4005
+ PlatformPlanLimits:
4006
+ type: object
4007
+ required:
4008
+ - includedSeats
4009
+ - additionalSeats
4010
+ - effectiveSeatLimit
4011
+ - maxProductionAgreementsLifetime
4012
+ - maxEmailsPerDay
4013
+ - maxAgreementCreatesPerMinute
4014
+ - maxApiRequestsPerMinute
4015
+ properties:
4016
+ includedSeats:
4017
+ type: integer
4018
+ nullable: true
4019
+ minimum: 0
4020
+ additionalSeats:
4021
+ type: integer
4022
+ minimum: 0
4023
+ effectiveSeatLimit:
4024
+ type: integer
4025
+ nullable: true
4026
+ minimum: 0
4027
+ readOnly: true
4028
+ maxProductionAgreementsLifetime:
4029
+ type: integer
4030
+ nullable: true
4031
+ minimum: 0
4032
+ maxEmailsPerDay:
4033
+ type: integer
4034
+ nullable: true
4035
+ minimum: 0
4036
+ maxAgreementCreatesPerMinute:
4037
+ type: integer
4038
+ nullable: true
4039
+ minimum: 0
4040
+ maxApiRequestsPerMinute:
4041
+ type: integer
4042
+ nullable: true
4043
+ minimum: 0
4044
+
4045
+ PlatformEntitlement:
4046
+ type: object
4047
+ required:
4048
+ - accountId
4049
+ - plan
4050
+ - subscriptionStatus
4051
+ - source
4052
+ - limits
4053
+ properties:
4054
+ accountId:
4055
+ type: string
4056
+ plan:
4057
+ $ref: '#/components/schemas/PlatformPlan'
4058
+ subscriptionStatus:
4059
+ type: string
4060
+ source:
4061
+ type: string
4062
+ enum:
4063
+ - stored
4064
+ - plan-default
4065
+ limits:
4066
+ $ref: '#/components/schemas/PlatformPlanLimits'
4067
+
4068
+ PlatformEntitlementOrganization:
4069
+ type: object
4070
+ required:
4071
+ - orgId
4072
+ - name
4073
+ - type
4074
+ - accountId
4075
+ - isPersonal
4076
+ - createdAt
4077
+ properties:
4078
+ orgId:
4079
+ type: string
4080
+ name:
4081
+ type: string
4082
+ nullable: true
4083
+ type:
4084
+ type: string
4085
+ enum:
4086
+ - PRODUCTION
4087
+ - SANDBOX
4088
+ accountId:
4089
+ type: string
4090
+ nullable: true
4091
+ isPersonal:
4092
+ type: boolean
4093
+ createdAt:
4094
+ type: string
4095
+ format: date-time
4096
+
4097
+ PlatformEntitlementSeats:
4098
+ type: object
4099
+ required:
4100
+ - includedSeats
4101
+ - additionalSeats
4102
+ - effectiveSeatLimit
4103
+ - reservedSeats
4104
+ - activeMembers
4105
+ - pendingInvitations
4106
+ properties:
4107
+ includedSeats:
4108
+ type: integer
4109
+ nullable: true
4110
+ minimum: 0
4111
+ additionalSeats:
4112
+ type: integer
4113
+ minimum: 0
4114
+ effectiveSeatLimit:
4115
+ type: integer
4116
+ nullable: true
4117
+ minimum: 0
4118
+ readOnly: true
4119
+ reservedSeats:
4120
+ type: integer
4121
+ minimum: 0
4122
+ activeMembers:
4123
+ type: integer
4124
+ minimum: 0
4125
+ pendingInvitations:
4126
+ type: integer
4127
+ minimum: 0
4128
+
4129
+ PlatformEntitlementMember:
4130
+ type: object
4131
+ required:
4132
+ - userId
4133
+ - displayName
4134
+ - email
4135
+ - role
4136
+ - status
4137
+ - joinedAt
4138
+ properties:
4139
+ userId:
4140
+ type: string
4141
+ displayName:
4142
+ type: string
4143
+ email:
4144
+ type: string
4145
+ role:
4146
+ $ref: '#/components/schemas/Role'
4147
+ status:
4148
+ type: string
4149
+ enum:
4150
+ - active
4151
+ - inactive
4152
+ joinedAt:
4153
+ type: string
4154
+
4155
+ PlatformEntitlementUsage:
4156
+ type: object
4157
+ required:
4158
+ - usageTrackingConfigured
4159
+ - productionAgreementsLifetime
4160
+ - productionAgreementsLimit
4161
+ - maxApiRequestsPerMinute
4162
+ properties:
4163
+ usageTrackingConfigured:
4164
+ type: boolean
4165
+ productionAgreementsLifetime:
4166
+ type: integer
4167
+ nullable: true
4168
+ minimum: 0
4169
+ productionAgreementsLimit:
4170
+ type: integer
4171
+ nullable: true
4172
+ minimum: 0
4173
+ maxApiRequestsPerMinute:
4174
+ type: integer
4175
+ nullable: true
4176
+ minimum: 0
4177
+
4178
+ PlatformApiLimitReadiness:
4179
+ type: object
4180
+ required:
4181
+ - maxApiRequestsPerMinute
4182
+ - customApiOverridesReady
4183
+ - usageVisibilityReady
4184
+ properties:
4185
+ maxApiRequestsPerMinute:
4186
+ type: integer
4187
+ nullable: true
4188
+ minimum: 0
4189
+ customApiOverridesReady:
4190
+ type: boolean
4191
+ usageVisibilityReady:
4192
+ type: boolean
4193
+
4194
+ PlatformEntitlementDetail:
4195
+ type: object
4196
+ required:
4197
+ - organization
4198
+ - entitlement
4199
+ - seats
4200
+ - members
4201
+ - usage
4202
+ - apiLimitReadiness
4203
+ - generatedAt
4204
+ properties:
4205
+ organization:
4206
+ $ref: '#/components/schemas/PlatformEntitlementOrganization'
4207
+ entitlement:
4208
+ $ref: '#/components/schemas/PlatformEntitlement'
4209
+ seats:
4210
+ $ref: '#/components/schemas/PlatformEntitlementSeats'
4211
+ members:
4212
+ type: array
4213
+ items:
4214
+ $ref: '#/components/schemas/PlatformEntitlementMember'
4215
+ usage:
4216
+ $ref: '#/components/schemas/PlatformEntitlementUsage'
4217
+ apiLimitReadiness:
4218
+ $ref: '#/components/schemas/PlatformApiLimitReadiness'
4219
+ generatedAt:
4220
+ type: string
4221
+ format: date-time
4222
+
4223
+ PlatformEntitlementLookupResponse:
4224
+ type: object
4225
+ required:
4226
+ - organizations
4227
+ - selected
4228
+ - generatedAt
4229
+ properties:
4230
+ organizations:
4231
+ type: array
4232
+ items:
4233
+ $ref: '#/components/schemas/PlatformEntitlementOrganization'
4234
+ selected:
4235
+ nullable: true
4236
+ allOf:
4237
+ - $ref: '#/components/schemas/PlatformEntitlementDetail'
4238
+ generatedAt:
4239
+ type: string
4240
+ format: date-time
4241
+
4242
+ PlatformEntitlementUpdateRequest:
4243
+ type: object
4244
+ additionalProperties: false
4245
+ properties:
4246
+ additionalSeats:
4247
+ type: integer
4248
+ minimum: 0
4249
+ includedSeats:
4250
+ type: integer
4251
+ nullable: true
4252
+ minimum: 0
4253
+ description: Enterprise custom included seat value. Ignored for non-Enterprise plans.
4254
+
3914
4255
  PlatformCostsResponse:
3915
4256
  type: object
3916
4257
  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.0",
4
4
  "description": "Canonical OpenAPI specification for the Inklok public API.",
5
5
  "main": "openapi.yaml",
6
6
  "license": "MIT",