@graph8/sdk 0.7.1 → 0.7.2

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.
package/dist/react.mjs CHANGED
@@ -463,21 +463,30 @@ var createSequencesClient = (apiKey, apiUrl) => {
463
463
  query: params
464
464
  });
465
465
  },
466
- /** Add contacts to a sequence (V2 queuing). Live or drafted sequences only. */
467
- async add(config) {
466
+ /**
467
+ * Add contacts to a sequence (V2 queuing). Live or drafted sequences only.
468
+ * Pass `idempotencyKey` to make a retry safe — the same key returns the
469
+ * first result instead of re-enrolling on a 5xx-then-success (A6).
470
+ */
471
+ async add(config, idempotencyKey) {
468
472
  const resp = await request(
469
473
  baseUrl,
470
474
  `/api/v1/sequences/${config.sequenceId}/contacts`,
471
475
  apiKey,
472
- { method: "POST", body: { contact_ids: config.contactIds, list_id: config.listId } }
476
+ { method: "POST", body: { contact_ids: config.contactIds, list_id: config.listId }, idempotencyKey }
473
477
  );
474
478
  return resp.data ?? resp;
475
479
  },
476
- /** Create a new sequence with optional steps + channels. */
477
- async create(payload) {
480
+ /**
481
+ * Create a new sequence with optional steps + channels. Pass `idempotencyKey`
482
+ * to make a retry safe — the same key returns the first result instead of
483
+ * creating a duplicate sequence on a 5xx-then-success (A6).
484
+ */
485
+ async create(payload, idempotencyKey) {
478
486
  const resp = await request(baseUrl, "/api/v1/sequences", apiKey, {
479
487
  method: "POST",
480
- body: payload
488
+ body: payload,
489
+ idempotencyKey
481
490
  });
482
491
  return resp.data ?? resp;
483
492
  },
@@ -506,33 +515,43 @@ var createSequencesClient = (apiKey, apiUrl) => {
506
515
  });
507
516
  return resp.data ?? resp;
508
517
  },
509
- /** Run/start a DRAFTED sequence (V2 orchestration). */
510
- async run(sequenceId) {
518
+ /**
519
+ * Run/start a DRAFTED sequence (V2 orchestration). Pass `idempotencyKey` to
520
+ * make a retry safe — the same key won't re-trigger the run on a
521
+ * 5xx-then-success (A6).
522
+ */
523
+ async run(sequenceId, idempotencyKey) {
511
524
  const resp = await request(
512
525
  baseUrl,
513
526
  `/api/v1/sequences/${sequenceId}/run`,
514
527
  apiKey,
515
- { method: "POST" }
528
+ { method: "POST", idempotencyKey }
516
529
  );
517
530
  return resp.data ?? resp;
518
531
  },
519
- /** Pause a live sequence. */
520
- async pause(sequenceId) {
532
+ /**
533
+ * Pause a live sequence. Pass `idempotencyKey` to make a retry safe — the
534
+ * same key won't double-apply on a 5xx-then-success (A6).
535
+ */
536
+ async pause(sequenceId, idempotencyKey) {
521
537
  const resp = await request(
522
538
  baseUrl,
523
539
  `/api/v1/sequences/${sequenceId}/pause`,
524
540
  apiKey,
525
- { method: "POST" }
541
+ { method: "POST", idempotencyKey }
526
542
  );
527
543
  return resp.data ?? resp;
528
544
  },
529
- /** Resume a paused sequence. */
530
- async resume(sequenceId) {
545
+ /**
546
+ * Resume a paused sequence. Pass `idempotencyKey` to make a retry safe — the
547
+ * same key won't double-apply on a 5xx-then-success (A6).
548
+ */
549
+ async resume(sequenceId, idempotencyKey) {
531
550
  const resp = await request(
532
551
  baseUrl,
533
552
  `/api/v1/sequences/${sequenceId}/resume`,
534
553
  apiKey,
535
- { method: "POST" }
554
+ { method: "POST", idempotencyKey }
536
555
  );
537
556
  return resp.data ?? resp;
538
557
  },