@inklok/api-spec 7.6.1 → 7.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 (2) hide show
  1. package/openapi.yaml +352 -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.6.1"
11
+ version: "7.7.0"
12
12
  contact:
13
13
  name: Inklok API Support
14
14
  email: support@inklok.com
@@ -325,6 +325,29 @@ paths:
325
325
  '500':
326
326
  $ref: '#/components/responses/InternalServerError'
327
327
 
328
+ /me/billing:
329
+ get:
330
+ operationId: getMeBilling
331
+ summary: Get billing state for the current account
332
+ x-internal: true
333
+ x-visibility: internal
334
+ description: |
335
+ Returns the authenticated account's Billing Subscription authority record
336
+ and the derived entitlement projection used by the application UI.
337
+ tags:
338
+ - Me
339
+ responses:
340
+ '200':
341
+ description: Successfully retrieved billing state
342
+ content:
343
+ application/json:
344
+ schema:
345
+ $ref: '#/components/schemas/MeBillingResponse'
346
+ '401':
347
+ $ref: '#/components/responses/Unauthorized'
348
+ '500':
349
+ $ref: '#/components/responses/InternalServerError'
350
+
328
351
  /platform/overview:
329
352
  get:
330
353
  operationId: getPlatformOverview
@@ -504,6 +527,65 @@ paths:
504
527
  '500':
505
528
  $ref: '#/components/responses/InternalServerError'
506
529
 
530
+ /platform/api-usage:
531
+ get:
532
+ operationId: getPlatformApiUsage
533
+ summary: Get Platform API usage health
534
+ x-visibility: internal
535
+ description: |
536
+ Returns a small operational API usage health view for platform administrators.
537
+ This endpoint uses existing usage counters and does not expose customer-facing analytics.
538
+ x-required-global-roles: [PLATFORM_ADMIN]
539
+ tags:
540
+ - Platform
541
+ parameters:
542
+ - in: query
543
+ name: window
544
+ schema:
545
+ type: string
546
+ enum:
547
+ - 1h
548
+ - 24h
549
+ - 7d
550
+ - 30d
551
+ default: 24h
552
+ description: Usage window to inspect.
553
+ - in: query
554
+ name: sort
555
+ schema:
556
+ type: string
557
+ enum:
558
+ - throttleCount
559
+ - usagePercentage
560
+ default: throttleCount
561
+ description: Sort order for returned organizations.
562
+ - in: query
563
+ name: limit
564
+ schema:
565
+ type: integer
566
+ minimum: 1
567
+ maximum: 100
568
+ default: 25
569
+ description: Maximum number of organizations to return.
570
+ - in: query
571
+ name: cursor
572
+ schema:
573
+ type: string
574
+ description: Opaque pagination cursor returned by the previous response.
575
+ responses:
576
+ '200':
577
+ description: Successfully retrieved Platform API usage health
578
+ content:
579
+ application/json:
580
+ schema:
581
+ $ref: '#/components/schemas/PlatformApiUsageResponse'
582
+ '401':
583
+ $ref: '#/components/responses/Unauthorized'
584
+ '403':
585
+ $ref: '#/components/responses/Forbidden'
586
+ '500':
587
+ $ref: '#/components/responses/InternalServerError'
588
+
507
589
  /platform/ses:
508
590
  get:
509
591
  operationId: getPlatformSes
@@ -3580,6 +3662,86 @@ components:
3580
3662
  profile:
3581
3663
  $ref: '#/components/schemas/BootstrapProfile'
3582
3664
 
3665
+ MeBillingSubscription:
3666
+ type: object
3667
+ additionalProperties: false
3668
+ required:
3669
+ - source
3670
+ - currentPlan
3671
+ - status
3672
+ - billingInterval
3673
+ - currentBillingPeriodStart
3674
+ - currentBillingPeriodEnd
3675
+ - renewalDate
3676
+ - cancelAtPeriodEnd
3677
+ - paddleCustomerId
3678
+ - paddleSubscriptionId
3679
+ - nextBilledAt
3680
+ - nextExpectedBillingTransition
3681
+ properties:
3682
+ source:
3683
+ type: string
3684
+ enum: [PADDLE, INTERNAL]
3685
+ currentPlan:
3686
+ type: string
3687
+ enum: [free, pro, team, enterprise]
3688
+ status:
3689
+ type: string
3690
+ billingInterval:
3691
+ type: string
3692
+ enum: [day, week, month, year, unknown]
3693
+ currentBillingPeriodStart:
3694
+ type: string
3695
+ format: date-time
3696
+ nullable: true
3697
+ currentBillingPeriodEnd:
3698
+ type: string
3699
+ format: date-time
3700
+ nullable: true
3701
+ renewalDate:
3702
+ type: string
3703
+ format: date-time
3704
+ nullable: true
3705
+ cancelAtPeriodEnd:
3706
+ type: boolean
3707
+ paddleCustomerId:
3708
+ type: string
3709
+ nullable: true
3710
+ paddleSubscriptionId:
3711
+ type: string
3712
+ nullable: true
3713
+ nextBilledAt:
3714
+ type: string
3715
+ format: date-time
3716
+ nullable: true
3717
+ nextExpectedBillingTransition:
3718
+ type: string
3719
+ format: date-time
3720
+ nullable: true
3721
+
3722
+ MeBillingResponse:
3723
+ type: object
3724
+ additionalProperties: false
3725
+ required:
3726
+ - accountId
3727
+ - plan
3728
+ - subscriptionStatus
3729
+ - limits
3730
+ - billingSubscription
3731
+ properties:
3732
+ accountId:
3733
+ type: string
3734
+ plan:
3735
+ type: string
3736
+ enum: [free, pro, team, enterprise]
3737
+ subscriptionStatus:
3738
+ type: string
3739
+ limits:
3740
+ type: object
3741
+ additionalProperties: true
3742
+ billingSubscription:
3743
+ $ref: '#/components/schemas/MeBillingSubscription'
3744
+
3583
3745
  PlatformDailyEmailCounts:
3584
3746
  type: object
3585
3747
  required:
@@ -4087,6 +4249,7 @@ components:
4087
4249
  - accountId
4088
4250
  - isPersonal
4089
4251
  - createdAt
4252
+ - sandboxForOrgId
4090
4253
  - entitlement
4091
4254
  properties:
4092
4255
  orgId:
@@ -4107,6 +4270,9 @@ components:
4107
4270
  createdAt:
4108
4271
  type: string
4109
4272
  format: date-time
4273
+ sandboxForOrgId:
4274
+ type: string
4275
+ nullable: true
4110
4276
  entitlement:
4111
4277
  nullable: true
4112
4278
  allOf:
@@ -4316,6 +4482,191 @@ components:
4316
4482
  minimum: 0
4317
4483
  description: Enterprise custom included seat value. Ignored for non-Enterprise plans.
4318
4484
 
4485
+ PlatformApiUsagePolicySummary:
4486
+ type: object
4487
+ required:
4488
+ - totalApiRequests
4489
+ - throttleCount
4490
+ - configuredLimit
4491
+ - peakUsage
4492
+ - usagePercentage
4493
+ properties:
4494
+ totalApiRequests:
4495
+ type: integer
4496
+ minimum: 0
4497
+ throttleCount:
4498
+ type: integer
4499
+ minimum: 0
4500
+ configuredLimit:
4501
+ type: integer
4502
+ nullable: true
4503
+ minimum: 0
4504
+ peakUsage:
4505
+ type: integer
4506
+ minimum: 0
4507
+ usagePercentage:
4508
+ type: number
4509
+ nullable: true
4510
+ minimum: 0
4511
+
4512
+ PlatformApiUsageCategorySummary:
4513
+ type: object
4514
+ required:
4515
+ - totalApiRequests
4516
+ - throttleCount
4517
+ - peakUsage
4518
+ properties:
4519
+ totalApiRequests:
4520
+ type: integer
4521
+ minimum: 0
4522
+ throttleCount:
4523
+ type: integer
4524
+ minimum: 0
4525
+ peakUsage:
4526
+ type: integer
4527
+ minimum: 0
4528
+
4529
+ PlatformApiUsageOrganization:
4530
+ type: object
4531
+ required:
4532
+ - orgId
4533
+ - organizationName
4534
+ - accountId
4535
+ - plan
4536
+ - totalApiRequests
4537
+ - throttleCount
4538
+ - configuredApiLimit
4539
+ - peakUsage
4540
+ - usagePercentage
4541
+ - lastRequestAt
4542
+ - lastThrottleAt
4543
+ - status
4544
+ - breakdown
4545
+ properties:
4546
+ orgId:
4547
+ type: string
4548
+ organizationName:
4549
+ type: string
4550
+ nullable: true
4551
+ accountId:
4552
+ type: string
4553
+ nullable: true
4554
+ plan:
4555
+ $ref: '#/components/schemas/Plan'
4556
+ totalApiRequests:
4557
+ type: integer
4558
+ minimum: 0
4559
+ throttleCount:
4560
+ type: integer
4561
+ minimum: 0
4562
+ configuredApiLimit:
4563
+ type: integer
4564
+ nullable: true
4565
+ minimum: 0
4566
+ peakUsage:
4567
+ type: integer
4568
+ minimum: 0
4569
+ usagePercentage:
4570
+ type: number
4571
+ nullable: true
4572
+ minimum: 0
4573
+ lastRequestAt:
4574
+ type: string
4575
+ nullable: true
4576
+ format: date-time
4577
+ lastThrottleAt:
4578
+ type: string
4579
+ nullable: true
4580
+ format: date-time
4581
+ status:
4582
+ type: string
4583
+ enum:
4584
+ - THROTTLED
4585
+ - NEAR_LIMIT
4586
+ - WATCH
4587
+ - OK
4588
+ breakdown:
4589
+ type: object
4590
+ required:
4591
+ - publishedApi
4592
+ - firstParty
4593
+ - production
4594
+ - sandbox
4595
+ properties:
4596
+ publishedApi:
4597
+ $ref: '#/components/schemas/PlatformApiUsagePolicySummary'
4598
+ firstParty:
4599
+ $ref: '#/components/schemas/PlatformApiUsagePolicySummary'
4600
+ production:
4601
+ $ref: '#/components/schemas/PlatformApiUsageCategorySummary'
4602
+ sandbox:
4603
+ $ref: '#/components/schemas/PlatformApiUsageCategorySummary'
4604
+
4605
+ PlatformApiUsageResponse:
4606
+ type: object
4607
+ required:
4608
+ - window
4609
+ - sort
4610
+ - limit
4611
+ - nextCursor
4612
+ - organizations
4613
+ - totalOrganizations
4614
+ - dataSource
4615
+ - generatedAt
4616
+ properties:
4617
+ window:
4618
+ type: string
4619
+ enum:
4620
+ - 1h
4621
+ - 24h
4622
+ - 7d
4623
+ - 30d
4624
+ sort:
4625
+ type: string
4626
+ enum:
4627
+ - throttleCount
4628
+ - usagePercentage
4629
+ limit:
4630
+ type: integer
4631
+ minimum: 1
4632
+ nextCursor:
4633
+ type: string
4634
+ nullable: true
4635
+ organizations:
4636
+ type: array
4637
+ items:
4638
+ $ref: '#/components/schemas/PlatformApiUsageOrganization'
4639
+ totalOrganizations:
4640
+ type: integer
4641
+ minimum: 0
4642
+ dataSource:
4643
+ type: object
4644
+ required:
4645
+ - table
4646
+ - rollupTableUsed
4647
+ - precision
4648
+ - usagePercentageBasis
4649
+ properties:
4650
+ table:
4651
+ type: string
4652
+ enum:
4653
+ - usage-counters
4654
+ rollupTableUsed:
4655
+ type: boolean
4656
+ precision:
4657
+ type: string
4658
+ enum:
4659
+ - minute
4660
+ - day
4661
+ usagePercentageBasis:
4662
+ type: string
4663
+ enum:
4664
+ - peak_minute
4665
+ - daily_capacity
4666
+ generatedAt:
4667
+ type: string
4668
+ format: date-time
4669
+
4319
4670
  PlatformCostsResponse:
4320
4671
  type: object
4321
4672
  required:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inklok/api-spec",
3
- "version": "7.6.1",
3
+ "version": "7.7.0",
4
4
  "description": "Canonical OpenAPI specification for the Inklok public API.",
5
5
  "main": "openapi.yaml",
6
6
  "license": "MIT",