@signa-so/sdk 0.8.0 → 0.9.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.
@@ -88,6 +88,49 @@ export interface paths {
88
88
  patch?: never;
89
89
  trace?: never;
90
90
  };
91
+ "/v1/offices/votes": {
92
+ parameters: {
93
+ query?: never;
94
+ header?: never;
95
+ path?: never;
96
+ cookie?: never;
97
+ };
98
+ /** @description List the authenticated organization's office-coverage votes, alphabetical by office code. The set is bounded by the votable vocabulary, so the list is always a single page: `limit` and `cursor` are accepted for list-client compatibility but do not affect the response, which always returns every vote with `has_more: false`. */
99
+ get: operations["listOfficeVotes"];
100
+ put?: never;
101
+ /**
102
+ * @description Vote for trademark offices your organization wants on Signa. One vote per office per organization — re-votes are no-ops, so the call is safely retryable. Returns the stored votes for every requested code (newly cast or pre-existing).
103
+ *
104
+ * This operation requires an `Idempotency-Key` header (see parameter description for 24h replay and 409-conflict semantics).
105
+ */
106
+ post: operations["castOfficeVotes"];
107
+ delete?: never;
108
+ options?: never;
109
+ head?: never;
110
+ patch?: never;
111
+ trace?: never;
112
+ };
113
+ "/v1/offices/votes/{code}": {
114
+ parameters: {
115
+ query?: never;
116
+ header?: never;
117
+ path?: never;
118
+ cookie?: never;
119
+ };
120
+ get?: never;
121
+ put?: never;
122
+ post?: never;
123
+ /**
124
+ * @description Retract your organization's vote for an office. Accepts the same code vocabulary as casting; votes for offices that have since gone live can still be retracted.
125
+ *
126
+ * This operation requires an `Idempotency-Key` header (see parameter description for 24h replay and 409-conflict semantics).
127
+ */
128
+ delete: operations["retractOfficeVote"];
129
+ options?: never;
130
+ head?: never;
131
+ patch?: never;
132
+ trace?: never;
133
+ };
91
134
  "/v1/classifications": {
92
135
  parameters: {
93
136
  query?: never;
@@ -1419,7 +1462,7 @@ export interface paths {
1419
1462
  };
1420
1463
  /** @description Read the org auto-top-up config. Internal (dashboard BFF); requires organization:manage. */
1421
1464
  get: operations["getAutoTopUpConfig"];
1422
- /** @description Update the org auto-top-up config. Internal (dashboard BFF); requires organization:manage. */
1465
+ /** @description Update the org auto-top-up config. Internal (dashboard BFF); requires organization:manage. Any update whose MERGED result would be enabled is refused with 501 — auto-top-up charges saved cards off-session, which Stripe Managed Payments does not support. Disabling (enabled:false) and editing a stored, disabled config remain allowed. */
1423
1466
  put: operations["setAutoTopUpConfig"];
1424
1467
  post?: never;
1425
1468
  delete?: never;
@@ -2415,27 +2458,33 @@ export interface components {
2415
2458
  data: components["schemas"]["ScreeningHitV3"][];
2416
2459
  request_id?: string;
2417
2460
  };
2418
- Classification: {
2419
- /** @example 9 */
2420
- class_number: number;
2461
+ OfficeVoteResource: {
2421
2462
  /** @enum {string} */
2422
- object: "classification";
2423
- /** @example Electrical and scientific apparatus */
2424
- title: string;
2425
- description: string | null;
2426
- category: string | null;
2463
+ object: "office_vote";
2464
+ /**
2465
+ * @description Canonical WIPO ST.3 office code (uppercase), e.g. BR, MX, BX.
2466
+ * @example BR
2467
+ */
2468
+ office_code: string;
2469
+ /**
2470
+ * @description Current coverage of the voted office: `live` (now on Signa — your ask landed), `roadmap` (modeled, connector not shipping yet), `not_covered` (not modeled yet).
2471
+ * @enum {string}
2472
+ */
2473
+ office_status: "live" | "roadmap" | "not_covered";
2474
+ /** @description When this org first voted for the office. */
2475
+ created_at: string;
2427
2476
  };
2428
- ClassificationListResponse: {
2477
+ OfficeVoteList: {
2429
2478
  /** @enum {string} */
2430
2479
  object: "list";
2431
- data: components["schemas"]["Classification"][];
2480
+ data: components["schemas"]["OfficeVoteResource"][];
2432
2481
  has_more: boolean;
2433
2482
  pagination: {
2434
2483
  cursor: string | null;
2435
2484
  total_count?: number;
2436
2485
  total_count_approximate?: boolean;
2437
2486
  };
2438
- request_id?: string;
2487
+ request_id: string;
2439
2488
  };
2440
2489
  Error: {
2441
2490
  error: {
@@ -2471,6 +2520,36 @@ export interface components {
2471
2520
  /** @example req_abc123 */
2472
2521
  request_id: string;
2473
2522
  };
2523
+ OfficeVoteDeleted: {
2524
+ /** @enum {string} */
2525
+ object: "office_vote";
2526
+ office_code: string;
2527
+ /** @enum {boolean} */
2528
+ deleted: true;
2529
+ request_id: string;
2530
+ };
2531
+ Classification: {
2532
+ /** @example 9 */
2533
+ class_number: number;
2534
+ /** @enum {string} */
2535
+ object: "classification";
2536
+ /** @example Electrical and scientific apparatus */
2537
+ title: string;
2538
+ description: string | null;
2539
+ category: string | null;
2540
+ };
2541
+ ClassificationListResponse: {
2542
+ /** @enum {string} */
2543
+ object: "list";
2544
+ data: components["schemas"]["Classification"][];
2545
+ has_more: boolean;
2546
+ pagination: {
2547
+ cursor: string | null;
2548
+ total_count?: number;
2549
+ total_count_approximate?: boolean;
2550
+ };
2551
+ request_id?: string;
2552
+ };
2474
2553
  GoodsServicesTerm: {
2475
2554
  /** @example Computer software for data processing */
2476
2555
  term: string;
@@ -6432,6 +6511,8 @@ export interface components {
6432
6511
  saved_payment_method: string | null;
6433
6512
  month_to_date_spend_usd: number;
6434
6513
  last_failure_reason: string | null;
6514
+ /** @description True while auto-top-up charging is suspended fleet-wide (all Signa payments run through Stripe Managed Payments, which cannot make automatic off-session charges). While true, any update whose merged result would be enabled is refused with 501. */
6515
+ suspended: boolean;
6435
6516
  request_id: string;
6436
6517
  };
6437
6518
  NotificationCategory: {
@@ -6669,6 +6750,153 @@ export interface operations {
6669
6750
  };
6670
6751
  };
6671
6752
  };
6753
+ listOfficeVotes: {
6754
+ parameters: {
6755
+ query?: {
6756
+ limit?: number;
6757
+ cursor?: string;
6758
+ };
6759
+ header?: never;
6760
+ path?: never;
6761
+ cookie?: never;
6762
+ };
6763
+ requestBody?: never;
6764
+ responses: {
6765
+ /** @description List of office votes */
6766
+ 200: {
6767
+ headers: {
6768
+ [name: string]: unknown;
6769
+ };
6770
+ content: {
6771
+ "application/json": components["schemas"]["OfficeVoteList"];
6772
+ };
6773
+ };
6774
+ /** @description Invalid query parameter */
6775
+ 400: {
6776
+ headers: {
6777
+ [name: string]: unknown;
6778
+ };
6779
+ content: {
6780
+ "application/json": components["schemas"]["Error"];
6781
+ };
6782
+ };
6783
+ /** @description Missing or invalid API key */
6784
+ 401: {
6785
+ headers: {
6786
+ [name: string]: unknown;
6787
+ };
6788
+ content: {
6789
+ "application/json": components["schemas"]["Error"];
6790
+ };
6791
+ };
6792
+ };
6793
+ };
6794
+ castOfficeVotes: {
6795
+ parameters: {
6796
+ query?: never;
6797
+ header: {
6798
+ /** @description Unique key for safe retries. Responses to a given key are cached for 24h; retrying the same key with the same body replays the original response (with an Idempotent-Replayed: true header); the same key with a different body returns 409 conflict. */
6799
+ "Idempotency-Key": string;
6800
+ };
6801
+ path?: never;
6802
+ cookie?: never;
6803
+ };
6804
+ requestBody?: {
6805
+ content: {
6806
+ "application/json": {
6807
+ /**
6808
+ * @description Office codes to vote for (1–50). ST.3 / ISO country codes, any case (surrounding whitespace is trimmed); legacy internal codes and reserved aliases like UK are canonicalized. Offices Signa already covers are rejected — vote for what you want added. Codes your organization already voted for are no-ops, never double counts.
6809
+ * @example [
6810
+ * "BR",
6811
+ * "MX"
6812
+ * ]
6813
+ */
6814
+ office_codes: string[];
6815
+ };
6816
+ };
6817
+ };
6818
+ responses: {
6819
+ /** @description Stored votes for the requested codes */
6820
+ 200: {
6821
+ headers: {
6822
+ [name: string]: unknown;
6823
+ };
6824
+ content: {
6825
+ "application/json": components["schemas"]["OfficeVoteList"];
6826
+ };
6827
+ };
6828
+ /** @description Unknown, already-covered, or register-less office code (unknown_office_code / office_already_live / no_trademark_register) */
6829
+ 400: {
6830
+ headers: {
6831
+ [name: string]: unknown;
6832
+ };
6833
+ content: {
6834
+ "application/json": components["schemas"]["Error"];
6835
+ };
6836
+ };
6837
+ /** @description Missing or invalid API key */
6838
+ 401: {
6839
+ headers: {
6840
+ [name: string]: unknown;
6841
+ };
6842
+ content: {
6843
+ "application/json": components["schemas"]["Error"];
6844
+ };
6845
+ };
6846
+ };
6847
+ };
6848
+ retractOfficeVote: {
6849
+ parameters: {
6850
+ query?: never;
6851
+ header: {
6852
+ /** @description Unique key for safe retries. Responses to a given key are cached for 24h; retrying the same key with the same body replays the original response (with an Idempotent-Replayed: true header); the same key with a different body returns 409 conflict. */
6853
+ "Idempotency-Key": string;
6854
+ };
6855
+ path: {
6856
+ code: string;
6857
+ };
6858
+ cookie?: never;
6859
+ };
6860
+ requestBody?: never;
6861
+ responses: {
6862
+ /** @description Vote deleted */
6863
+ 200: {
6864
+ headers: {
6865
+ [name: string]: unknown;
6866
+ };
6867
+ content: {
6868
+ "application/json": components["schemas"]["OfficeVoteDeleted"];
6869
+ };
6870
+ };
6871
+ /** @description Unknown office code */
6872
+ 400: {
6873
+ headers: {
6874
+ [name: string]: unknown;
6875
+ };
6876
+ content: {
6877
+ "application/json": components["schemas"]["Error"];
6878
+ };
6879
+ };
6880
+ /** @description Missing or invalid API key */
6881
+ 401: {
6882
+ headers: {
6883
+ [name: string]: unknown;
6884
+ };
6885
+ content: {
6886
+ "application/json": components["schemas"]["Error"];
6887
+ };
6888
+ };
6889
+ /** @description No vote for this office */
6890
+ 404: {
6891
+ headers: {
6892
+ [name: string]: unknown;
6893
+ };
6894
+ content: {
6895
+ "application/json": components["schemas"]["Error"];
6896
+ };
6897
+ };
6898
+ };
6899
+ };
6672
6900
  listClassifications: {
6673
6901
  parameters: {
6674
6902
  query?: {
@@ -12097,6 +12325,11 @@ export interface operations {
12097
12325
  * @description Redirect on cancel.
12098
12326
  */
12099
12327
  cancel_url?: string;
12328
+ /**
12329
+ * Format: email
12330
+ * @description Billing email for the Stripe customer (receipts, invoices, failed-payment mail). The dashboard BFF passes the signed-in user's address. Write-once seed: ignored when the organization already has a billing email (later changes flow from the Stripe customer via the customer.updated webhook).
12331
+ */
12332
+ billing_email?: string;
12100
12333
  };
12101
12334
  };
12102
12335
  };
@@ -12146,6 +12379,24 @@ export interface operations {
12146
12379
  "application/json": components["schemas"]["Error"];
12147
12380
  };
12148
12381
  };
12382
+ /** @description Organization already has an active subscription */
12383
+ 409: {
12384
+ headers: {
12385
+ [name: string]: unknown;
12386
+ };
12387
+ content: {
12388
+ "application/json": components["schemas"]["Error"];
12389
+ };
12390
+ };
12391
+ /** @description Billing is not configured on this deployment (Stripe key absent) */
12392
+ 503: {
12393
+ headers: {
12394
+ [name: string]: unknown;
12395
+ };
12396
+ content: {
12397
+ "application/json": components["schemas"]["Error"];
12398
+ };
12399
+ };
12149
12400
  };
12150
12401
  };
12151
12402
  createBillingPortal: {
@@ -12166,6 +12417,11 @@ export interface operations {
12166
12417
  * @description Return URL after the portal.
12167
12418
  */
12168
12419
  return_url?: string;
12420
+ /**
12421
+ * Format: email
12422
+ * @description Billing email for the Stripe customer (receipts, invoices, failed-payment mail). The dashboard BFF passes the signed-in user's address. Write-once seed: ignored when the organization already has a billing email (later changes flow from the Stripe customer via the customer.updated webhook).
12423
+ */
12424
+ billing_email?: string;
12169
12425
  };
12170
12426
  };
12171
12427
  };
@@ -12179,6 +12435,15 @@ export interface operations {
12179
12435
  "application/json": components["schemas"]["StripeBillingPortalResponse"];
12180
12436
  };
12181
12437
  };
12438
+ /** @description Validation error */
12439
+ 400: {
12440
+ headers: {
12441
+ [name: string]: unknown;
12442
+ };
12443
+ content: {
12444
+ "application/json": components["schemas"]["Error"];
12445
+ };
12446
+ };
12182
12447
  /** @description Missing or invalid API key */
12183
12448
  401: {
12184
12449
  headers: {
@@ -12206,6 +12471,15 @@ export interface operations {
12206
12471
  "application/json": components["schemas"]["Error"];
12207
12472
  };
12208
12473
  };
12474
+ /** @description Billing is not configured on this deployment (Stripe key absent) */
12475
+ 503: {
12476
+ headers: {
12477
+ [name: string]: unknown;
12478
+ };
12479
+ content: {
12480
+ "application/json": components["schemas"]["Error"];
12481
+ };
12482
+ };
12209
12483
  };
12210
12484
  };
12211
12485
  createCreditPackCheckout: {
@@ -12236,6 +12510,11 @@ export interface operations {
12236
12510
  * @description Redirect on cancel.
12237
12511
  */
12238
12512
  cancel_url?: string;
12513
+ /**
12514
+ * Format: email
12515
+ * @description Billing email for the Stripe customer (receipts, invoices, failed-payment mail). The dashboard BFF passes the signed-in user's address. Write-once seed: ignored when the organization already has a billing email (later changes flow from the Stripe customer via the customer.updated webhook).
12516
+ */
12517
+ billing_email?: string;
12239
12518
  };
12240
12519
  };
12241
12520
  };
@@ -12285,6 +12564,15 @@ export interface operations {
12285
12564
  "application/json": components["schemas"]["Error"];
12286
12565
  };
12287
12566
  };
12567
+ /** @description Billing is not configured on this deployment (Stripe key absent) */
12568
+ 503: {
12569
+ headers: {
12570
+ [name: string]: unknown;
12571
+ };
12572
+ content: {
12573
+ "application/json": components["schemas"]["Error"];
12574
+ };
12575
+ };
12288
12576
  };
12289
12577
  };
12290
12578
  getAutoTopUpConfig: {
@@ -12372,7 +12660,7 @@ export interface operations {
12372
12660
  "application/json": components["schemas"]["Error"];
12373
12661
  };
12374
12662
  };
12375
- /** @description Missing scope, or plan cannot enable auto-top-up */
12663
+ /** @description Missing organization:manage scope */
12376
12664
  403: {
12377
12665
  headers: {
12378
12666
  [name: string]: unknown;
@@ -12381,6 +12669,15 @@ export interface operations {
12381
12669
  "application/json": components["schemas"]["Error"];
12382
12670
  };
12383
12671
  };
12672
+ /** @description Auto-top-up cannot be enabled: all Signa payments run through Stripe Managed Payments, which does not support automatic off-session charges. */
12673
+ 501: {
12674
+ headers: {
12675
+ [name: string]: unknown;
12676
+ };
12677
+ content: {
12678
+ "application/json": components["schemas"]["Error"];
12679
+ };
12680
+ };
12384
12681
  };
12385
12682
  };
12386
12683
  getNotificationPreferences: {