@inklok/api-spec 7.8.4 → 7.9.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 +284 -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.8.4"
11
+ version: "7.9.1"
12
12
  contact:
13
13
  name: Inklok API Support
14
14
  email: support@inklok.com
@@ -470,6 +470,64 @@ paths:
470
470
  '500':
471
471
  $ref: '#/components/responses/InternalServerError'
472
472
 
473
+ /me/billing/seats:
474
+ post:
475
+ operationId: updateMeBillingSeats
476
+ summary: Update additional seats for the current account
477
+ x-internal: true
478
+ x-visibility: internal
479
+ description: |
480
+ Updates the Additional Seat subscription item quantity for the authenticated
481
+ account's active Paddle-managed Pro or Team subscription.
482
+ tags:
483
+ - Me
484
+ requestBody:
485
+ required: true
486
+ content:
487
+ application/json:
488
+ schema:
489
+ $ref: '#/components/schemas/MeBillingSeatsUpdateRequest'
490
+ responses:
491
+ '200':
492
+ description: Successfully updated seats
493
+ content:
494
+ application/json:
495
+ schema:
496
+ $ref: '#/components/schemas/MeBillingResponse'
497
+ '202':
498
+ description: Paddle accepted the seat change and local billing reconciliation was requested
499
+ content:
500
+ application/json:
501
+ schema:
502
+ type: object
503
+ additionalProperties: false
504
+ required:
505
+ - accountId
506
+ - status
507
+ - message
508
+ properties:
509
+ accountId:
510
+ type: string
511
+ status:
512
+ type: string
513
+ enum: [reconciliation_requested]
514
+ message:
515
+ type: string
516
+ '400':
517
+ $ref: '#/components/responses/BadRequest'
518
+ '401':
519
+ $ref: '#/components/responses/Unauthorized'
520
+ '403':
521
+ $ref: '#/components/responses/Forbidden'
522
+ '409':
523
+ $ref: '#/components/responses/Conflict'
524
+ '502':
525
+ $ref: '#/components/responses/BadGateway'
526
+ '503':
527
+ $ref: '#/components/responses/ServiceUnavailable'
528
+ '500':
529
+ $ref: '#/components/responses/InternalServerError'
530
+
473
531
  /platform/overview:
474
532
  get:
475
533
  operationId: getPlatformOverview
@@ -708,6 +766,54 @@ paths:
708
766
  '500':
709
767
  $ref: '#/components/responses/InternalServerError'
710
768
 
769
+ /platform/billing-activity:
770
+ get:
771
+ operationId: getPlatformBillingActivity
772
+ summary: Get Platform billing activity
773
+ x-visibility: internal
774
+ description: |
775
+ Returns normalized billing activity for one account, newest first.
776
+ Requires an authorized platform administrator.
777
+ Raw Paddle webhook payloads and payment details are not returned.
778
+ x-required-global-roles: [PLATFORM_ADMIN]
779
+ tags:
780
+ - Platform
781
+ parameters:
782
+ - in: query
783
+ name: accountId
784
+ required: true
785
+ schema:
786
+ type: string
787
+ description: Billing account ID to inspect.
788
+ - in: query
789
+ name: limit
790
+ schema:
791
+ type: integer
792
+ minimum: 1
793
+ maximum: 100
794
+ default: 25
795
+ description: Maximum number of activity rows to return.
796
+ - in: query
797
+ name: cursor
798
+ schema:
799
+ type: string
800
+ description: Opaque pagination cursor returned by the previous response.
801
+ responses:
802
+ '200':
803
+ description: Successfully retrieved Platform billing activity
804
+ content:
805
+ application/json:
806
+ schema:
807
+ $ref: '#/components/schemas/PlatformBillingActivityResponse'
808
+ '400':
809
+ $ref: '#/components/responses/BadRequest'
810
+ '401':
811
+ $ref: '#/components/responses/Unauthorized'
812
+ '403':
813
+ $ref: '#/components/responses/Forbidden'
814
+ '500':
815
+ $ref: '#/components/responses/InternalServerError'
816
+
711
817
  /platform/ses:
712
818
  get:
713
819
  operationId: getPlatformSes
@@ -3787,6 +3893,9 @@ components:
3787
3893
  - nextBilledAt
3788
3894
  - nextExpectedBillingTransition
3789
3895
  - reconciliationRequested
3896
+ - includedSeats
3897
+ - additionalSeats
3898
+ - effectiveSeatLimit
3790
3899
  properties:
3791
3900
  source:
3792
3901
  type: string
@@ -3836,6 +3945,52 @@ components:
3836
3945
  nullable: true
3837
3946
  reconciliationRequested:
3838
3947
  type: boolean
3948
+ includedSeats:
3949
+ type: integer
3950
+ nullable: true
3951
+ minimum: 0
3952
+ additionalSeats:
3953
+ type: integer
3954
+ minimum: 0
3955
+ effectiveSeatLimit:
3956
+ type: integer
3957
+ nullable: true
3958
+ minimum: 0
3959
+
3960
+ MeBillingSeats:
3961
+ type: object
3962
+ additionalProperties: false
3963
+ required:
3964
+ - includedSeats
3965
+ - additionalSeats
3966
+ - effectiveSeatLimit
3967
+ - usedSeats
3968
+ properties:
3969
+ includedSeats:
3970
+ type: integer
3971
+ nullable: true
3972
+ minimum: 0
3973
+ additionalSeats:
3974
+ type: integer
3975
+ minimum: 0
3976
+ effectiveSeatLimit:
3977
+ type: integer
3978
+ nullable: true
3979
+ minimum: 0
3980
+ usedSeats:
3981
+ type: integer
3982
+ nullable: true
3983
+ minimum: 0
3984
+
3985
+ MeBillingSeatsUpdateRequest:
3986
+ type: object
3987
+ additionalProperties: false
3988
+ required:
3989
+ - additionalSeats
3990
+ properties:
3991
+ additionalSeats:
3992
+ type: integer
3993
+ minimum: 0
3839
3994
 
3840
3995
  MeBillingResponse:
3841
3996
  type: object
@@ -3846,6 +4001,7 @@ components:
3846
4001
  - plan
3847
4002
  - subscriptionStatus
3848
4003
  - limits
4004
+ - seats
3849
4005
  - billingSubscription
3850
4006
  properties:
3851
4007
  accountId:
@@ -3861,6 +4017,8 @@ components:
3861
4017
  limits:
3862
4018
  type: object
3863
4019
  additionalProperties: true
4020
+ seats:
4021
+ $ref: '#/components/schemas/MeBillingSeats'
3864
4022
  billingSubscription:
3865
4023
  $ref: '#/components/schemas/MeBillingSubscription'
3866
4024
 
@@ -4801,6 +4959,131 @@ components:
4801
4959
  enum:
4802
4960
  - peak_minute
4803
4961
  - daily_capacity
4962
+ generatedAt:
4963
+ type: string
4964
+ format: date-time
4965
+
4966
+ PlatformBillingActivityType:
4967
+ type: string
4968
+ enum:
4969
+ - plan_changed
4970
+ - subscription_status_changed
4971
+ - seats_changed
4972
+ - billing_reconciled
4973
+ - seat_change_failed
4974
+
4975
+ PlatformBillingActivitySource:
4976
+ type: string
4977
+ enum:
4978
+ - paddle_webhook
4979
+ - me_billing
4980
+ - billing_reconciliation
4981
+
4982
+ PlatformBillingActivityItem:
4983
+ type: object
4984
+ required:
4985
+ - accountId
4986
+ - activityId
4987
+ - activityKey
4988
+ - activityType
4989
+ - occurredAt
4990
+ - source
4991
+ - createdAt
4992
+ properties:
4993
+ accountId:
4994
+ type: string
4995
+ activityId:
4996
+ type: string
4997
+ activityKey:
4998
+ type: string
4999
+ activityType:
5000
+ $ref: '#/components/schemas/PlatformBillingActivityType'
5001
+ occurredAt:
5002
+ type: string
5003
+ format: date-time
5004
+ source:
5005
+ $ref: '#/components/schemas/PlatformBillingActivitySource'
5006
+ actorUserId:
5007
+ type: string
5008
+ nullable: true
5009
+ requestId:
5010
+ type: string
5011
+ nullable: true
5012
+ paddleEventId:
5013
+ type: string
5014
+ nullable: true
5015
+ paddleSubscriptionId:
5016
+ type: string
5017
+ nullable: true
5018
+ oldPlan:
5019
+ nullable: true
5020
+ allOf:
5021
+ - $ref: '#/components/schemas/Plan'
5022
+ newPlan:
5023
+ nullable: true
5024
+ allOf:
5025
+ - $ref: '#/components/schemas/Plan'
5026
+ oldSubscriptionStatus:
5027
+ type: string
5028
+ nullable: true
5029
+ newSubscriptionStatus:
5030
+ type: string
5031
+ nullable: true
5032
+ oldAdditionalSeats:
5033
+ type: integer
5034
+ nullable: true
5035
+ minimum: 0
5036
+ newAdditionalSeats:
5037
+ type: integer
5038
+ nullable: true
5039
+ minimum: 0
5040
+ oldEffectiveSeatLimit:
5041
+ type: integer
5042
+ nullable: true
5043
+ minimum: 0
5044
+ newEffectiveSeatLimit:
5045
+ type: integer
5046
+ nullable: true
5047
+ minimum: 0
5048
+ attemptedAdditionalSeats:
5049
+ type: integer
5050
+ nullable: true
5051
+ minimum: 0
5052
+ attemptedEffectiveSeatLimit:
5053
+ type: integer
5054
+ nullable: true
5055
+ minimum: 0
5056
+ errorCode:
5057
+ type: string
5058
+ nullable: true
5059
+ errorCategory:
5060
+ type: string
5061
+ nullable: true
5062
+ createdAt:
5063
+ type: string
5064
+ format: date-time
5065
+
5066
+ PlatformBillingActivityResponse:
5067
+ type: object
5068
+ required:
5069
+ - accountId
5070
+ - items
5071
+ - count
5072
+ - nextCursor
5073
+ - generatedAt
5074
+ properties:
5075
+ accountId:
5076
+ type: string
5077
+ items:
5078
+ type: array
5079
+ items:
5080
+ $ref: '#/components/schemas/PlatformBillingActivityItem'
5081
+ count:
5082
+ type: integer
5083
+ minimum: 0
5084
+ nextCursor:
5085
+ type: string
5086
+ nullable: true
4804
5087
  generatedAt:
4805
5088
  type: string
4806
5089
  format: date-time
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inklok/api-spec",
3
- "version": "7.8.4",
3
+ "version": "7.9.1",
4
4
  "description": "Canonical OpenAPI specification for the Inklok public API.",
5
5
  "main": "openapi.yaml",
6
6
  "license": "MIT",