@anvilco/types 0.1.0 → 0.2.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.
@@ -0,0 +1,2864 @@
1
+ type Amount {
2
+ """Monetary amount value"""
3
+ amount: Float!
4
+
5
+ """Currency code (e.g., USD)"""
6
+ currency: String!
7
+ }
8
+
9
+ type BillingPeriod {
10
+ """
11
+ End date (exclusive) of the billing period in ISO 8601 format; from Metronome this is ending_before (the first instant outside the billing period)
12
+ """
13
+ end: String!
14
+
15
+ """Start date (inclusive) of the billing period in ISO 8601 format"""
16
+ start: String!
17
+ }
18
+
19
+ type BillingSubscription {
20
+ """Arbitrary subscription attributes"""
21
+ attributes: JSON
22
+
23
+ """monthly | annual | null"""
24
+ billingInterval: String
25
+
26
+ """Subscription identifier"""
27
+ id: ID!
28
+
29
+ """Subscription name"""
30
+ name: String!
31
+
32
+ """Amount for the subscription"""
33
+ price: Amount
34
+
35
+ """active | available | expired"""
36
+ status: String!
37
+ }
38
+
39
+ """
40
+ A `Cast` holds configuration for a single PDF template. It defines the
41
+ location of boxes on PDF pages, and the type of each box (e.g. date, phone
42
+ number, etc.).
43
+
44
+ `Cast` objects are used by several API features:
45
+
46
+ * The [PDF filling endpoint](/docs/api/fill-pdf)
47
+ * Etch signature packets: see the [Etch e-sign guide](/docs/api/e-signatures) for more info
48
+ * Workflows: see the [Workflow API guide](/docs/api/workflows) for more info
49
+ """
50
+ type Cast {
51
+ """Allowed `Cast` field alias IDs"""
52
+ allowedAliasIds: [String]
53
+ archivedAt: Date
54
+ config(
55
+ """Only retrieve the specific keys provided."""
56
+ onlyKeys: [String] = null
57
+ ): JSON
58
+ createdAt: Date
59
+
60
+ """
61
+ The `eid` is the Cast's object identifier. It is also the PDF template ID.
62
+ """
63
+ eid: String
64
+
65
+ """
66
+ Example data payload to fill this PDF. Shown on the "API Info" tab for this template
67
+ """
68
+ exampleData: JSON
69
+
70
+ """
71
+ A digestable array of objects with all the details about all fields in this PDF, sorted by page, top to bottom, left to right.
72
+ """
73
+ fieldInfo: JSON
74
+ hasBeenPublished: Boolean
75
+ hasUnpublishedChanges: Boolean
76
+ isLatestVersion: Boolean
77
+ isPublishedVersion: Boolean
78
+
79
+ """
80
+ `true` when this `Cast` was created as a template. Template casts show up in the `PDF Templates` page on your dashboard.
81
+ """
82
+ isTemplate: Boolean
83
+ latestDraftVersionNumber: Int
84
+
85
+ """
86
+ Basic information about the latest published version (title and publisher name)
87
+ """
88
+ latestPublishedVersionInfo: JSON
89
+
90
+ """The file name"""
91
+ name: String
92
+ organization: Organization
93
+
94
+ """
95
+ If this `Cast` was originally copied from another `Cast`, this will be the original `Cast`.
96
+ """
97
+ parentCast: Cast
98
+ publishedAt: Date
99
+
100
+ """Current published version number of this Cast"""
101
+ publishedNumber: Int
102
+ publishedVersionId: Int
103
+ publishedVersionNumber: Int
104
+ publishedVersions(
105
+ """The requested number of rows per page (max: 500)"""
106
+ limit: Int = 10
107
+
108
+ """The requested page number"""
109
+ offset: Int = 1
110
+ ): CastVersionPage
111
+
112
+ """The title shown in the UI"""
113
+ title: String
114
+
115
+ """The file's mimetype. e.g. `application/pdf`"""
116
+ type: String
117
+ updatedAt: Date
118
+
119
+ """
120
+ An array of files uploaded by users during the dynamic template creation process.
121
+ """
122
+ userUploads: [UserUpload]
123
+ versionId: Int
124
+
125
+ """Current version number of this Cast"""
126
+ versionNumber: Int
127
+ versions(
128
+ """The requested number of rows per page (max: 500)"""
129
+ limit: Int = 10
130
+
131
+ """The requested page number"""
132
+ offset: Int = 1
133
+ ): CastVersionPage
134
+ }
135
+
136
+ type CastPage {
137
+ """The actual records for the requested page"""
138
+ items: [Cast]
139
+
140
+ """The requested page number"""
141
+ page: Int
142
+
143
+ """Total number of pages of results"""
144
+ pageCount: Int
145
+
146
+ """The requested number of rows per page"""
147
+ pageSize: Int
148
+
149
+ """
150
+ Total number of rows found for the query before pagination. Capped when the query was given a `countLimit`.
151
+ """
152
+ rowCount: Int
153
+
154
+ """
155
+ False when `rowCount` stopped at the requested `countLimit`, meaning there are at least that many rows. True whenever the count ran to completion.
156
+ """
157
+ rowCountIsExact: Boolean
158
+ }
159
+
160
+ """A mapping from an old redirect path to its canonical destination"""
161
+ type CastRedirectMapping {
162
+ """The Cast EID this redirect belongs to"""
163
+ castEid: String!
164
+
165
+ """The old redirect path (e.g., /forms/old-tag/old-slug/)"""
166
+ from: String!
167
+
168
+ """
169
+ The canonical destination path (e.g., /forms/current-tag/current-slug/)
170
+ """
171
+ to: String!
172
+ }
173
+
174
+ type CastTag {
175
+ cast: Cast
176
+ createdAt: Date
177
+ id: Int!
178
+ tag: Tag
179
+ updatedAt: Date
180
+ }
181
+
182
+ type CastVersion {
183
+ config: JSON
184
+ createdAt: Date
185
+
186
+ """The `eid` is the object identifier."""
187
+ eid: String!
188
+ id: Int!
189
+ location: String
190
+ name: String
191
+ number: Int
192
+ publishUpdatedAt: Date
193
+ publishedAt: Date
194
+ publishedDescription: String
195
+ publishedNumber: Int
196
+ publishedTitle: String
197
+ publishingUser: User
198
+ title: String
199
+ type: String
200
+ updatedAt: Date
201
+ updatedColumns: [String]
202
+ user: User
203
+ }
204
+
205
+ type CastVersionPage {
206
+ """The actual records for the requested page"""
207
+ items: [CastVersion]
208
+
209
+ """The requested page number"""
210
+ page: Int
211
+
212
+ """Total number of pages of results"""
213
+ pageCount: Int
214
+
215
+ """The requested number of rows per page"""
216
+ pageSize: Int
217
+
218
+ """
219
+ Total number of rows found for the query before pagination. Capped when the query was given a `countLimit`.
220
+ """
221
+ rowCount: Int
222
+
223
+ """
224
+ False when `rowCount` stopped at the requested `countLimit`, meaning there are at least that many rows. True whenever the count ran to completion.
225
+ """
226
+ rowCountIsExact: Boolean
227
+ }
228
+
229
+ """Datetime value represented in `ISO8601`."""
230
+ scalar Date
231
+
232
+ """
233
+ A collection of all the final files generated with data from a `WeldData` or
234
+ `EtchPacket`. When your users download a zip file of PDFs, that final
235
+ collection of filled, generated, uploaded, and signed files is specified by
236
+ the `DocumentGroup`. A `DocumentGroup` will be connected to either a
237
+ `WeldData` or a `EtchPacket`, never both. A `DocumentGroup` will only
238
+ exist on these objects if it has been sent out for signature.
239
+ """
240
+ type DocumentGroup {
241
+ """
242
+ Timestamp of when all Signers have finished signing or when all forms have been filled when no signers.
243
+ """
244
+ completedAt: Date
245
+ createdAt: Date
246
+ currentRoutingStep: Int
247
+
248
+ """The URL to download all documents as a zip file"""
249
+ downloadZipURL: String
250
+
251
+ """The `eid` is the object identifier."""
252
+ eid: String
253
+
254
+ """
255
+ The parent `EtchPacket`. This will only exist for DocumentGroups created as part of an Etch signature packet.
256
+ """
257
+ etchPacket: EtchPacket
258
+
259
+ """A file listing of all files in the `DocumentGroup`"""
260
+ files: [JSON]
261
+ finishPageConfig: JSON
262
+ orgLogo: JSON
263
+
264
+ """Possible values: `etch` or `docusign`"""
265
+ provider: String
266
+ providerConfig: JSON
267
+ signaturePageConfig: JSON
268
+ signers: [Signer]
269
+
270
+ """
271
+ Possible values: `sent`, `delivered`, `partial`, `declined`, `voided`, `completed`
272
+ """
273
+ status: String
274
+ stylesheetURL: String
275
+ updatedAt: Date
276
+
277
+ """
278
+ The parent `WeldData`. This will only exist for DocumentGroups created by a Workflow.
279
+ """
280
+ weldData: WeldData
281
+ }
282
+
283
+ type DocumentGroupPage {
284
+ """The actual records for the requested page"""
285
+ items: [DocumentGroup]
286
+
287
+ """The requested page number"""
288
+ page: Int
289
+
290
+ """Total number of pages of results"""
291
+ pageCount: Int
292
+
293
+ """The requested number of rows per page"""
294
+ pageSize: Int
295
+
296
+ """
297
+ Total number of rows found for the query before pagination. Capped when the query was given a `countLimit`.
298
+ """
299
+ rowCount: Int
300
+
301
+ """
302
+ False when `rowCount` stopped at the requested `countLimit`, meaning there are at least that many rows. True whenever the count ran to completion.
303
+ """
304
+ rowCountIsExact: Boolean
305
+ }
306
+
307
+ """
308
+ An object used by `createEtchPacket` to specify a file. See the
309
+ [Etch e-sign guide](/docs/api/e-signatures) for more info.
310
+ """
311
+ input EtchFile {
312
+ base64File: Upload
313
+ castEid: String
314
+ fields: [JSON!]
315
+ file: Upload
316
+
317
+ """Filename set when creating the `EtchPacket`."""
318
+ filename: String
319
+ fontSize: Int
320
+
321
+ """An id string set when creating the `EtchPacket`."""
322
+ id: String!
323
+
324
+ """
325
+ For generated PDFs, set to false to disable the "Generated at XXX" timestamp at the bottom of the document.
326
+ """
327
+ includeTimestamp: Boolean
328
+
329
+ """
330
+ For generated PDFs, you can specify a logo to be rendered at the top of the document.
331
+ """
332
+ logo: JSON
333
+
334
+ """Holds HTML/CSS to generate PDF"""
335
+ markup: JSON
336
+
337
+ """Holds page customizations to generate PDF"""
338
+ page: JSON
339
+ pageSizes: [JSON!]
340
+ textColor: String
341
+ title: String
342
+ }
343
+
344
+ """
345
+ Represents a single action taken by a user during the signing process. For
346
+ example, an `EtchLog` object will be created when a user signs, downloads
347
+ a file, voids the packet, etc.
348
+
349
+ All actions with a short description:
350
+
351
+ ```md
352
+ accessed: Viewed
353
+ acknowledged: Reviewed & acknowledged
354
+ formCompleted: Filled & completed
355
+ archived: Archived
356
+ completed: Completed
357
+ created: Created
358
+ download-csv-all: Downloaded CSV
359
+ download-csv-individual-file: Downloaded CSV file
360
+ download-file-individual: Downloaded file
361
+ download-files-zip: Downloaded zip
362
+ emailed-completed: Emailed
363
+ emailed-by-user: Emailed sign link
364
+ emailed: Emailed
365
+ locked: Locked
366
+ pin-code-changed: Changed PIN
367
+ pin-code-failed: Access failed
368
+ pin-code-set: Set PIN
369
+ pin-code-unset: Unset PIN
370
+ pin-code-verified: Access verified
371
+ reassigned-signer: Updated signer details
372
+ external-update-signer: Updated signer details
373
+ signed: Signed
374
+ unarchived: Unarchived
375
+ unlocked: Unlocked
376
+ voided: Voided
377
+ saved-form: Saved form
378
+ upload-file-accessed: Accessed file
379
+ upload-file: Uploaded
380
+ ```
381
+ """
382
+ type EtchLog {
383
+ """The action taken."""
384
+ action: String
385
+ createdAt: Date
386
+
387
+ """The `eid` is the object identifier."""
388
+ eid: String
389
+
390
+ """String id, often a filename, of any file related to the action taken."""
391
+ fileId: String
392
+
393
+ """Location of the user taking the action."""
394
+ formattedLocation: String
395
+ id: Int!
396
+
397
+ """Any action-specific information."""
398
+ metadata: JSON
399
+
400
+ """The Signer who took the action, if applicable."""
401
+ signer: Signer
402
+
403
+ """The Anvil `User` who took this action, if applicable."""
404
+ user: User
405
+
406
+ """The location of the user who took the action."""
407
+ userLocation: JSON
408
+ }
409
+
410
+ """
411
+ An `EtchPacket` represents a signature packet. `EtchPackets` packets allow you to gather signatures from multiple signers on a collection of PDFs filled with your data (see `payload`), and uploads such as images. See the [e-signature guide](/docs/api/e-signatures) for usage.
412
+ """
413
+ type EtchPacket {
414
+ """
415
+ When enabled, the EtchPacket payload can be updated. Requires a plan that allows EtchPacket updates.
416
+ """
417
+ allowUpdates: Boolean
418
+ archivedAt: Date
419
+ completedAt: Date
420
+
421
+ """`true` when `payload` contains data that will fill PDFs"""
422
+ containsFillData: Boolean
423
+ createdAt: Date
424
+
425
+ """
426
+ URL to this `EtchPacket` in the dashboard. Any users in your organization can view this URL.
427
+ """
428
+ detailsURL: String
429
+
430
+ """
431
+ A `DocumentGroup` contains the documents after they have been filled and sent out for signature. The `DocumentGroup` will only exist here when `status != 'draft'`, i.e when documents have been sent out for signature. See the `DocumentGroup`'s `status` for lifecycle information.
432
+ """
433
+ documentGroup: DocumentGroup
434
+
435
+ """The `eid` is the object identifier."""
436
+ eid: String
437
+ embeddedAt: Date
438
+
439
+ """
440
+ An array of actions during the signing process. Details actions when files are signed, downloaded, etc.
441
+ """
442
+ etchLogEvents: [EtchLog]
443
+
444
+ """
445
+ The `EtchTemplate` holds configuration for signers and files in the packet. Each `EtchPacket` will have an `EtchTemplate`.
446
+ """
447
+ etchTemplate: EtchTemplate
448
+ id: Int!
449
+ isFree: Boolean @deprecated(reason: "Use etchTemplate.isFree instead")
450
+
451
+ """
452
+ `true` when it is a test packet. You will not be charged for test packets. Filled and signed files will be watermarked.
453
+ """
454
+ isTest: Boolean
455
+
456
+ """The name shown in the UI."""
457
+ name: String
458
+ numberRemainingSigners: Int
459
+ organization: Organization
460
+
461
+ """Data specified to fill PDFs in the packet."""
462
+ payload: JSON
463
+ sentAt: Date
464
+
465
+ """
466
+ Possible values: `draft`, `sent`, `delivered`, `partial`, `declined`, `voided`, `completed`.
467
+ """
468
+ status: String
469
+ updatedAt: Date
470
+
471
+ """Uploaded files like images included in the packet."""
472
+ userUploads: [UserUpload]
473
+
474
+ """
475
+ An array of webhook notification calls to your server related to this `EtchPacket`. Get the status codes, response times, and retry information from each `WebhookLog`.
476
+ """
477
+ webhookLogs: [WebhookLog]
478
+
479
+ """
480
+ The specific webhook notification URL for this `EtchPacket`. We will POST to this URL when users take various actions.
481
+ """
482
+ webhookURL: String
483
+ }
484
+
485
+ type EtchPacketPage {
486
+ """The actual records for the requested page"""
487
+ items: [EtchPacket]
488
+
489
+ """The requested page number"""
490
+ page: Int
491
+
492
+ """Total number of pages of results"""
493
+ pageCount: Int
494
+
495
+ """The requested number of rows per page"""
496
+ pageSize: Int
497
+
498
+ """
499
+ Total number of rows found for the query before pagination. Capped when the query was given a `countLimit`.
500
+ """
501
+ rowCount: Int
502
+
503
+ """
504
+ False when `rowCount` stopped at the requested `countLimit`, meaning there are at least that many rows. True whenever the count ran to completion.
505
+ """
506
+ rowCountIsExact: Boolean
507
+ }
508
+
509
+ """
510
+ An `EtchTemplate` holds configuration for a signature packet. You should not need to interact directly with an `EtchTemplate` very much. See the [e-signature guide](/docs/api/e-signatures) for more info on sending documents out for signatures.
511
+ """
512
+ type EtchTemplate {
513
+ """All `Cast` objects (fillable pdfs) included in this template."""
514
+ casts: [Cast]
515
+ config: JSON
516
+ createdAt: Date
517
+
518
+ """The `eid` is the object identifier."""
519
+ eid: String
520
+
521
+ """
522
+ An array of `EtchPackets` created from this template. At this time, this will be a 1-to-1 relationship.
523
+ """
524
+ etchPackets: [EtchPacket]
525
+ id: Int!
526
+ isFree: Boolean
527
+ isRepeatable: Boolean
528
+ name: String
529
+ organization: Organization
530
+
531
+ """
532
+ Signer configurations including the inferred signatureExperience. Useful for inspecting signer state on draft packets before sending.
533
+ """
534
+ signers: [JSON]
535
+ updatedAt: Date
536
+ userUploads: [UserUpload]
537
+ }
538
+
539
+ type File {
540
+ encoding: String!
541
+ key: String!
542
+ mimetype: String!
543
+ name: String!
544
+ src: String!
545
+ }
546
+
547
+ """
548
+ A `Forge` holds configuration for a single webform. A `Forge` defines a
549
+ webform's fields, the page fields are on, their types, webform logic, etc.
550
+ Each Forge will be a member of only one `Weld` (Workflow).
551
+
552
+ See our [Workflow API guide](/docs/api/workflows) for more info.
553
+ """
554
+ type Forge {
555
+ archivedAt: Date
556
+ config(onlyKeys: [String] = null): JSON
557
+ createdAt: Date
558
+
559
+ """The `eid` is the Forge/Webform's object identifier."""
560
+ eid: String
561
+
562
+ """
563
+ Example payload to fill this webform. Shown on the "API information" page for this webform's Workflow.
564
+ """
565
+ examplePayload: JSON
566
+
567
+ """
568
+ A list of objects describing all the fields in this webform. The response is a more digestable way to get all the fields than digging in `config`.
569
+ """
570
+ fieldInfo: JSON
571
+ hasBeenPublished: Boolean
572
+ hasUnpublishedChanges: Boolean
573
+ id: Int!
574
+ isLatestVersion: Boolean
575
+ isPublishedVersion: Boolean
576
+
577
+ """Is this forge required to complete the Workflow?"""
578
+ isRequired: Boolean
579
+ latestDraftVersionNumber: Int
580
+ name: String
581
+ organization: Organization
582
+ publishedAt: Date
583
+
584
+ """Current published version number of this Forge"""
585
+ publishedNumber: Int
586
+
587
+ """The slug of the currently published version"""
588
+ publishedSlug: String
589
+ publishedVersionId: Int
590
+ publishedVersionNumber: Int
591
+ publishedVersions(
592
+ """The requested number of rows per page (max: 500)"""
593
+ limit: Int = 10
594
+
595
+ """The requested page number"""
596
+ offset: Int = 1
597
+ ): ForgeVersionPage
598
+
599
+ """
600
+ The forge `config` with cascade-resolved flags merged in (e.g. `optionalByDefault`, resolved forge → weld → org). Read this to render/validate the form; raw `config` is for editing the stored config.
601
+ """
602
+ resolvedConfig: JSON
603
+ slug: String
604
+ testForgeCompleteWebhookPayload: JSON
605
+ updatedAt: Date
606
+ userUploads: [UserUpload]
607
+ versionId: Int
608
+
609
+ """Current version number of this Forge"""
610
+ versionNumber: Int
611
+ versions(
612
+ """The requested number of rows per page (max: 500)"""
613
+ limit: Int = 10
614
+
615
+ """The requested page number"""
616
+ offset: Int = 1
617
+ ): ForgeVersionPage
618
+ weld: Weld
619
+ }
620
+
621
+ type ForgeMap {
622
+ config: JSON
623
+ createdAt: Date
624
+
625
+ """The `eid` is the object identifier."""
626
+ eid: String
627
+ forgeA: Forge
628
+ forgeB: Forge
629
+ id: Int!
630
+ updatedAt: Date
631
+ }
632
+
633
+ type ForgePage {
634
+ """The actual records for the requested page"""
635
+ items: [Forge]
636
+
637
+ """The requested page number"""
638
+ page: Int
639
+
640
+ """Total number of pages of results"""
641
+ pageCount: Int
642
+
643
+ """The requested number of rows per page"""
644
+ pageSize: Int
645
+
646
+ """
647
+ Total number of rows found for the query before pagination. Capped when the query was given a `countLimit`.
648
+ """
649
+ rowCount: Int
650
+
651
+ """
652
+ False when `rowCount` stopped at the requested `countLimit`, meaning there are at least that many rows. True whenever the count ran to completion.
653
+ """
654
+ rowCountIsExact: Boolean
655
+ }
656
+
657
+ type ForgeVersion {
658
+ config: JSON
659
+ createdAt: Date
660
+
661
+ """The `eid` is the object identifier."""
662
+ eid: String!
663
+ id: Int!
664
+ name: String
665
+ number: Int
666
+ publishUpdatedAt: Date
667
+ publishedAt: Date
668
+ publishedDescription: String
669
+ publishedNumber: Int
670
+ publishedTitle: String
671
+ publishingUser: User
672
+ slug: String
673
+ updatedAt: Date
674
+ updatedColumns: [String]
675
+ user: User
676
+ }
677
+
678
+ type ForgeVersionPage {
679
+ """The actual records for the requested page"""
680
+ items: [ForgeVersion]
681
+
682
+ """The requested page number"""
683
+ page: Int
684
+
685
+ """Total number of pages of results"""
686
+ pageCount: Int
687
+
688
+ """The requested number of rows per page"""
689
+ pageSize: Int
690
+
691
+ """
692
+ Total number of rows found for the query before pagination. Capped when the query was given a `countLimit`.
693
+ """
694
+ rowCount: Int
695
+
696
+ """
697
+ False when `rowCount` stopped at the requested `countLimit`, meaning there are at least that many rows. True whenever the count ran to completion.
698
+ """
699
+ rowCountIsExact: Boolean
700
+ }
701
+
702
+ type GenerateEmbedURLResponse {
703
+ """
704
+ The EID for the token associated with the request you just made. Can be used later to expire the session that was created using it.
705
+ """
706
+ requestTokenEid: String!
707
+
708
+ """
709
+ The URL to send your embedded User to. They will be logged in and then redirected to the appropriate page for their embedded access.
710
+ You can direct them back to this URL if they need to access their embedded experience again as long as their session has not expired.
711
+ """
712
+ url: String!
713
+ }
714
+
715
+ input GenerateExpressionDataInput {
716
+ """
717
+ A `Boolean` indicating whether the resulting expression shoudl resolve to a boolean value.
718
+ """
719
+ isBoolean: Boolean = false
720
+
721
+ """
722
+ A human-readable statement representing the expression you are trying to create. References to fields must be wrapped in double-brackets like so: `{{<forgeId>:<fieldId>}}`
723
+ """
724
+ userStatement: String!
725
+ }
726
+
727
+ """
728
+ A third-party integration connection (e.g. HubSpot) for an organization.
729
+ """
730
+ type Integration {
731
+ """
732
+ Whether the organization has an active connection for this integration.
733
+ """
734
+ isConnected: Boolean!
735
+
736
+ """
737
+ Available object types, normalized into the `{ k, v }` shape expected by Dropdown.
738
+ """
739
+ objectTypes: JSON
740
+ }
741
+
742
+ type Invoice {
743
+ endDate: Date
744
+ id: String
745
+ invoiceUrl: String
746
+ startDate: Date
747
+ status: String
748
+ totalAmount: Float
749
+ }
750
+
751
+ type InvoiceBucketItem {
752
+ includedUnits: Int
753
+ unitType: String
754
+ usedUnits: Int
755
+ }
756
+
757
+ type InvoiceUnitItem {
758
+ baseUnits: Int
759
+ totalAmount: Float
760
+ unitAmount: Float
761
+ unitType: String
762
+ usedUnits: Int
763
+ }
764
+
765
+ """
766
+ The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).
767
+ """
768
+ scalar JSON
769
+
770
+ type MetricUsage {
771
+ """Usage that will be billed (usage not covered by credits or prepaid)"""
772
+ billableUsage: Int!
773
+
774
+ """Cost for billable usage (billableUsage * unitPrice)"""
775
+ cost: Amount!
776
+
777
+ """Initial number of free credits granted for this metric"""
778
+ creditsInitial: Int
779
+
780
+ """Number of free credits remaining for this metric (null if no credits)"""
781
+ creditsRemaining: Int
782
+
783
+ """Metric key (e.g., pdfApiCalls, workflowSubmissions)"""
784
+ key: ID!
785
+
786
+ """Display label for the metric"""
787
+ label: String!
788
+
789
+ """Initial number of prepaid units from bulk purchases"""
790
+ prepaidInitial: Int
791
+
792
+ """
793
+ Number of prepaid units remaining from bulk purchases (null if no prepaid)
794
+ """
795
+ prepaidRemaining: Int
796
+
797
+ """Unit label (e.g., calls, submissions, packets)"""
798
+ unit: String!
799
+
800
+ """Price per unit"""
801
+ unitPrice: Amount!
802
+ }
803
+
804
+ type Mutation {
805
+ """
806
+ Create a `Cast` with the specified properties. This will require you to publish the `Cast`
807
+ via the [`publishCast`]({{Mutations.publishCast}}) mutation before it will go live.
808
+ """
809
+ createCast(
810
+ """
811
+ Uses AI to help analyze the document's fields. Will implicitly set `detectFields` to `true`.
812
+ """
813
+ advancedDetectFields: Boolean = false
814
+ allowedAliasIds: [String]
815
+
816
+ """
817
+ Uses AI to help detect the document's fields. Will implicitly set `detectFields` to `true`.
818
+ """
819
+ detectBoxesAdvanced: Boolean = false
820
+ detectFields: Boolean = true
821
+ file: Upload!
822
+ isTemplate: Boolean = true
823
+ organizationEid: String
824
+
825
+ """
826
+ The schema input, interpreted according to `schemaSource`:
827
+
828
+ - `schemaSource: "json"` -- `schema` *is* your aliasIds, passed
829
+ inline. This is the canonical way to supply your own custom field
830
+ aliases. Accepts either the object form or the array shorthand. For
831
+ example:
832
+ ```
833
+ schemaSource: "json"
834
+ schema: { employeeName: { description: "The employee's full name" } }
835
+ ```
836
+ or
837
+ ```
838
+ schemaSource: "json"
839
+ schema: ["employeeName", "employeeId"]
840
+ ```
841
+
842
+ - If `schemaSource` is an integration (currently only `"hubspot"`),
843
+ `schema` tells us which object type(s) on that integration to build
844
+ `aliasIds` from. We look up each object type's properties from the
845
+ integration and normalize them into the `aliasIds` shape for you.
846
+ How each aliasId is named depends on how many object types you pass:
847
+ - One object type: the bare property name. For example,
848
+ `schema: { objectTypes: ["contacts"] }` gives aliasIds like
849
+ `firstname` and `email`.
850
+ - More than one: `${objectType}.${propertyName}`, so properties two
851
+ object types share stay separate. For example,
852
+ `schema: { objectTypes: ["contacts", "companies"] }` gives
853
+ aliasIds like `contacts.email`, `contacts.phone`, and
854
+ `companies.phone`.
855
+
856
+ Detected fields that match a property are tagged with its aliasId,
857
+ so these are also the keys to use in `data` when filling the Cast.
858
+
859
+ Requires `advancedDetectFields: true`.
860
+ """
861
+ schema: JSON
862
+
863
+ """
864
+ The source of the input schema (e.g. "json", "hubspot") used to create this cast. Pair it with `schema` (see below).
865
+ """
866
+ schemaSource: String
867
+ title: String
868
+ ): Cast
869
+
870
+ """
871
+ Create an e-signature packet. See the
872
+ [Etch e-sign guide](/docs/api/e-signatures) for usage information.
873
+ """
874
+ createEtchPacket(
875
+ """
876
+ Uses AI to label uploaded documents, discover signers, and connect signers to fields.
877
+ """
878
+ advancedCreate: Boolean = false
879
+
880
+ """
881
+ When enabled, the EtchPacket payload can be updated. Requires a plan that allows EtchPacket updates.
882
+ """
883
+ allowUpdates: Boolean = false
884
+
885
+ """Set to `true` to save uploaded PDFs to your PDF templates."""
886
+ createCastTemplatesFromUploads: Boolean
887
+
888
+ """
889
+ Specifies data to fill documents in the `files` array. See the guide for details.
890
+ """
891
+ data: JSON
892
+
893
+ """
894
+ Uses AI to help detect fields on uploaded document. Will implicitly set `detectFields` to `true`.
895
+ """
896
+ detectBoxesAdvanced: Boolean = false
897
+
898
+ """
899
+ Set to `true` to duplicate all referenced PDF templates on packet
900
+ creation. Setting to true is useful if you would like to edit the PDFs
901
+ in the UI after packet creation.
902
+ """
903
+ duplicateCasts: Boolean = true
904
+
905
+ """
906
+ Enable all, none, or specific emails for this packet. When enabled, an
907
+ email type will adhere to the organization settings for that email type.
908
+ For example, when `signerViewAdmin` is enabled, an email will only be
909
+ sent to organization members specified in the organization settings.
910
+
911
+ Possible values: `true`, `false`, or an array of strings with any of
912
+ the following `'signerViewAdmin'`, `'signerCompleteAdmin'`, or
913
+ `'etchCompleteAdmin'`.
914
+
915
+ The default is `false`.
916
+ """
917
+ enableEmails: JSON
918
+
919
+ """
920
+ When enabled, the signature certificate is withheld from what signers
921
+ download (finish page, per-file download, and the combined zip). It is
922
+ still generated, stored, and available to your organization's users.
923
+ """
924
+ excludeCertificateFromSignerDownloads: Boolean
925
+
926
+ """
927
+ Specifies files that will be in the resulting packet. See the guide for details.
928
+ """
929
+ files: [EtchFile!]
930
+
931
+ """
932
+ Allows customization and whitelabeling of the signer finish page. See the guide for details.
933
+ """
934
+ finishPageOptions: JSON
935
+
936
+ """
937
+ When set to `false`, the packet will immediately be sent to the first
938
+ signer. When set to `true`, the resulting `EtchPacket` will not be
939
+ immediately sent. You will need to send the packet via the UI or
940
+ the [`sendEtchPacket`](#operation-sendetchpacket-Mutations) mutation.
941
+ """
942
+ isDraft: Boolean
943
+
944
+ """
945
+ When `true`, the resulting packet will be in test mode. You will not
946
+ be charged for test packets. Test packets will not use valid signatures.
947
+ Test packets only email verified members of your organization; sending
948
+ one to any other email signer is refused.
949
+ """
950
+ isTest: Boolean
951
+
952
+ """
953
+ When enabled, merges all PDFs before users sign. All signers will sign
954
+ one (potentially large) PDF.
955
+ """
956
+ mergePDFs: Boolean
957
+ name: String
958
+ organizationEid: String
959
+
960
+ """
961
+ Overrides the replyTo header on emails sent to signers.
962
+ By default, this will be the support email listed in your organization settings.
963
+ """
964
+ replyToEmail: String
965
+
966
+ """
967
+ Overrides the replyTo header on emails sent to signers.
968
+ By default, this will be your organization name.
969
+ """
970
+ replyToName: String
971
+
972
+ """
973
+ When `true`, every signer on the packet must have a signature or
974
+ signature initial field assigned; sending a packet with a signer missing
975
+ one throws an error. When omitted, falls back to the organization's
976
+ `requireSignatures` config, then defaults to `false`. Pass `false`
977
+ to explicitly override an organization that has the setting enabled.
978
+ """
979
+ requireSignatures: Boolean
980
+
981
+ """Customizes the email body on signer emails"""
982
+ signatureEmailBody: String
983
+
984
+ """Customizes the email subject on signer emails"""
985
+ signatureEmailSubject: String
986
+
987
+ """
988
+ Allows customization and whitelabeling of the signature page. See the guide for details.
989
+ """
990
+ signaturePageOptions: JSON
991
+ signatureProvider: String
992
+
993
+ """
994
+ BCC recipients for DocuSign envelopes. Only relevant when `signatureProvider` is set to `'docusign'`.
995
+
996
+ Each recipient will receive a copy of the completed signature packet via email.
997
+
998
+ Required fields:
999
+ - `name`: Recipient name
1000
+ - `email`: Recipient email address
1001
+ - `type`: Must be `'carbonCopy'`
1002
+
1003
+ Optional fields:
1004
+ - `disableInTestMode`: When `true`, removes recipient when packet is in test mode
1005
+ - `roleName`: Role name for the recipient
1006
+ - `accessCode`: Access code for the recipient
1007
+ - `templateAccessCodeRequired`: Whether access code is required
1008
+ """
1009
+ signatureRecipients: [JSON!]
1010
+
1011
+ """
1012
+ Specifies signers who will sign documents in the `files` array. See the guide for details.
1013
+
1014
+ When `signatureProvider` is set to `'docusign'`, additional DocuSign-specific fields are available:
1015
+ - `requireIdCheck`: Boolean or string ('kb', 'sms', 'smskb', 'idsms') to require ID verification
1016
+ - `requireIdCheckInTest`: Boolean to require ID verification even in test mode
1017
+ - `idCheckPhone`: Phone number for ID verification (required when requireIdCheck is 'sms', 'smskb', or 'idsms')
1018
+ - `accessCode`: Access code for the signer
1019
+ """
1020
+ signers: [JSON!]
1021
+
1022
+ """
1023
+ Allows you to set a webhook URL called specifically for actions on the resulting `EtchPacket`
1024
+ """
1025
+ webhookURL: String
1026
+ ): EtchPacket
1027
+
1028
+ """
1029
+ Create a `Forge` with the specified properties. This will require you to publish the `Weld`
1030
+ via the [`publishWeld`]({{Mutations.publishWeld}}) mutation before it will go live with the Workflow.
1031
+ """
1032
+ createForge(castEid: String, castFieldIds: JSON, config: JSON, name: String!, slug: String!, weldEid: String!): Forge
1033
+ createSubmission(forgeEid: String!, weldDataEid: String!): Submission
1034
+ createWebhook(organizationEid: String, organizationSlug: String, url: String): Organization
1035
+
1036
+ """
1037
+ Create a Webhook Action to subscribe to events on objects.
1038
+
1039
+ Here is a list of all the actions and the object types that are supported by them:
1040
+ - [`documentGroupCreate`](/docs/api/webhooks/#documentgroupcreate) => [`DocumentGroup`]({{Types.DocumentGroup}})
1041
+ - [`etchPacketComplete`](/docs/api/webhooks/#etchpacketcomplete) => [`EtchPacket`]({{Types.EtchPacket}})
1042
+ - [`forgeComplete`](/docs/api/webhooks/#forgecomplete) => [`Forge`]({{Types.Forge}}), [`Submission`]({{Types.Submission}}), [`WeldData`]({{Types.WeldData}}), [`Weld`]({{Types.Weld}})
1043
+ - [`signerUpdateStatus`](/docs/api/webhooks/#signerupdatestatus) => [`Signer`]({{Types.Signer}}), [`EtchPacket`]({{Types.EtchPacket}}), [`WeldData`]({{Types.WeldData}}), [`Weld`]({{Types.Weld}})
1044
+ - [`signerComplete`](/docs/api/webhooks/#signercomplete) => [`Signer`]({{Types.Signer}}), [`EtchPacket`]({{Types.EtchPacket}}), [`WeldData`]({{Types.WeldData}}), [`Weld`]({{Types.Weld}})
1045
+ - [`weldCreate`](/docs/api/webhooks/#weldcreate) => [`Organization`]({{Types.Organization}})
1046
+ - [`weldComplete`](/docs/api/webhooks/#weldcomplete) => [`WeldData`]({{Types.WeldData}}), [`Weld`]({{Types.Weld}})
1047
+
1048
+ See the [Webhook Action documentation](/docs/api/webhooks/#webhook-actions) for usage information.
1049
+ """
1050
+ createWebhookAction(
1051
+ """
1052
+ The action you'd like to subscribe to on the object(s).
1053
+ You can also use `*` to monitor all actions.
1054
+ """
1055
+ action: String!
1056
+ config: WebhookActionConfigInput
1057
+
1058
+ """
1059
+ The `eid` of the specific object you'd like to monitor.
1060
+ You can also use `*` to monitor all objects of the specified type(s).
1061
+ """
1062
+ objectEid: String!
1063
+
1064
+ """
1065
+ The type of object that you'd like to monitor for events.
1066
+ You can also use `*` to monitor all object types.
1067
+ """
1068
+ objectType: String!
1069
+
1070
+ """
1071
+ If you want to create a new [`Webhook`]({{Types.Webhook}}) on-the-fly, you must specify the Organization `eid` here.
1072
+ """
1073
+ organizationEid: String
1074
+
1075
+ """
1076
+ If you want to create a new [`Webhook`]({{Types.Webhook}}) on-the-fly, you must specify the URL here.
1077
+ """
1078
+ url: String
1079
+
1080
+ """
1081
+ The `eid` of a pre-existing [`Webhook`]({{Types.Webhook}}) that you'd like to use for this Webhook Action.
1082
+ A new `Webhook` can be created as well.
1083
+ """
1084
+ webhookEid: String
1085
+ ): WebhookAction
1086
+
1087
+ """
1088
+ Create a `Weld` with the specified properties. This will require you to publish the `Weld`
1089
+ via the [`publishWeld`]({{Mutations.publishWeld}}) mutation before it will go live.
1090
+ """
1091
+ createWeld(
1092
+ """
1093
+ Uses AI to generate webform pages, create signers, and connect webform fields to supplied documents.
1094
+ """
1095
+ advancedCreate: Boolean = false
1096
+
1097
+ """Uses AI to help detect and analyze uploaded documents' fields."""
1098
+ advancedDetectFields: Boolean = false
1099
+ castEid: String
1100
+ config: JSON
1101
+
1102
+ """Set to `true` to save uploaded PDFs to your PDF templates."""
1103
+ createCastTemplatesFromUploads: Boolean
1104
+
1105
+ """Uses AI to help detect fields on uploaded documents."""
1106
+ detectBoxesAdvanced: Boolean = false
1107
+ draftStep: String
1108
+ files: [WeldFile]
1109
+ name: String
1110
+ organizationEid: String
1111
+ slug: String
1112
+ visibility: String
1113
+ ): Weld
1114
+ createWeldData(isTest: Boolean = false, webhookURL: String, weldDataGroupEid: String, weldEid: String!): WeldData
1115
+ destroySubmission(eid: String!): Boolean
1116
+ disconnectDocusign(organizationSlug: String!): Organization
1117
+ duplicateCast(eid: String!, name: String, organizationEid: String!, title: String): Cast
1118
+ duplicateWeld(eid: String!, name: String, organizationEid: String!, slug: String, visibility: String): Weld
1119
+
1120
+ """
1121
+ Expires the `UserToken` associated with the provided `requestTokenEid`. Any authentication attempts
1122
+ made using that token will be rejected.
1123
+ """
1124
+ expireSessionToken(
1125
+ """
1126
+ The EID of the request token that was returned from the [`generateEmbedURL`]({{Mutations.generateEmbedURL}}) mutation.
1127
+ Used to determine which session token to invalidate.
1128
+ """
1129
+ requestTokenEid: String!
1130
+ ): Boolean
1131
+
1132
+ """
1133
+ Expires all valid `SignerTokens` for a specific `Signer`. Signers who
1134
+ visit links with expired tokens will be shown a "Token Expired" error, or
1135
+ will be [redirected to your
1136
+ service](/docs/api/e-signatures#handling-signing-errors) if there is a
1137
+ `redirectURL` set on the signer.
1138
+
1139
+ If the `Signer` has already completed signing, this mutation will throw an
1140
+ error. If you would like the `Signer` to be able to sign again, email
1141
+ signers will need to be notified via `sendEtchPacket`, and embedded
1142
+ signers will need a new signing link generated by `generateEtchSignURL`.
1143
+ """
1144
+ expireSignerTokens(signerEid: String!): Signer
1145
+
1146
+ """
1147
+ Submits data to a Workflow's webform (a `Forge`). You can use this
1148
+ mutation to start a Workflow with data from your system and submit data to
1149
+ an _existing_ `Submission`.
1150
+
1151
+ See the [Workflow API guide](/docs/api/workflows) for more information on
1152
+ usage scenarios.
1153
+ """
1154
+ forgeSubmit(
1155
+ complete: Boolean
1156
+ currentStep: Int
1157
+ enforcePayloadValidOnCreate: Boolean = true
1158
+ forgeEid: String!
1159
+ groupArrayId: String
1160
+ groupArrayIndex: Int
1161
+ isTest: Boolean = false
1162
+
1163
+ """
1164
+ A `{ key: value }` object where `key` is the id or field alias of the
1165
+ webform (`Forge`) field, and value is the data you'd like to send.
1166
+
1167
+ Data is additive: you only need to submit data you wish to update.
1168
+ """
1169
+ payload: JSON!
1170
+ submissionEid: String
1171
+ timezone: String
1172
+ webhookURL: String
1173
+ weldDataEid: String
1174
+ ): Submission
1175
+
1176
+ """
1177
+ Generate a URL for embedding the PDF template editor, the Etch packet
1178
+ builder, or the Workflow builder in your app. Embedding editors is an
1179
+ enterprise feature. Please contact sales@useanvil.com if you are interested
1180
+ in editor embedding.
1181
+ """
1182
+ generateEmbedURL(
1183
+ """The EID of the object you want to give embedded access to."""
1184
+ eid: String!
1185
+
1186
+ """
1187
+ Any information that you would like to associate with this embedded URL request
1188
+ """
1189
+ metadata: JSON
1190
+
1191
+ """
1192
+ Options to control many parts of a token user's experience.
1193
+ Currently only supported when `type` is `edit-pdf-template`.
1194
+ """
1195
+ options: JSON
1196
+
1197
+ """
1198
+ For `type: edit-etch-packet` embeds only. When `true` (default),
1199
+ every signer must have at least one signature or initial field;
1200
+ signer-experience inference is not surfaced to the packet builder.
1201
+ When `false`, signers without signature fields are allowed (the
1202
+ packet builder UI shows a pre-send review of each signer's
1203
+ inferred experience). Has no effect for other embed types.
1204
+ """
1205
+ requireSignatures: Boolean = true
1206
+
1207
+ """
1208
+ The type of object you want to create an embedded URL for. Allowed values are `edit-etch-packet`, `edit-pdf-template`, `edit-weld`, `submit-webform`, `edit-workflow`
1209
+ """
1210
+ type: String!
1211
+
1212
+ """
1213
+ The number of seconds from now that the embedded access will be valid for.
1214
+
1215
+ Must provide either `validUntil` or `validForSeconds` arguments.
1216
+ """
1217
+ validForSeconds: Int
1218
+
1219
+ """
1220
+ An ISO compliant date-time string such as `2030-01-01T00:00:00+00:00` that indicates when the embedded access will be valid until.
1221
+
1222
+ Must provide either `validUntil` or `validForSeconds` arguments.
1223
+ """
1224
+ validUntil: String
1225
+ ): GenerateEmbedURLResponse
1226
+
1227
+ """
1228
+ Generate a signing URL for embedded signers. See the
1229
+ [e-sign API guide on embedding signers](/docs/api/e-signatures#controlling-the-signature-process-with-embedded-signers)
1230
+ for more info.
1231
+ """
1232
+ generateEtchSignURL(
1233
+ """
1234
+ Your id for the person signing: a way to trace this signer back to a user in your system.
1235
+ """
1236
+ clientUserId: String!
1237
+ signerEid: String!
1238
+ ): String
1239
+ mergeWelds(autoPublish: Boolean, autoPublishDescription: String, autoPublishTitle: String, deduplicateWebformFields: Boolean!, name: String!, organizationEid: String!, slug: String!, weldEids: [String!]): Weld
1240
+
1241
+ """
1242
+ Notify a signer that it is their turn to sign. You can think of this as a
1243
+ "resend email" action for signers. This mutation will email signers with
1244
+ `signerType: 'email'` asking them to sign their portion of the signature
1245
+ packet. It will have no effect on signers with
1246
+ `signerType: 'embedded'` signers, it will error if the signer has already
1247
+ signed, or if it is not yet the signer's turn to sign.
1248
+ """
1249
+ notifySigner(signerEid: String!): Signer
1250
+
1251
+ """
1252
+ Publish a `Cast` by updating the `Cast` with all un-published changes.
1253
+
1254
+ This is required to have any changes from an [`updateCast`]({{Mutations.updateCast}}) take effect.
1255
+ """
1256
+ publishCast(
1257
+ description: String
1258
+
1259
+ """The object's `eid`"""
1260
+ eid: String!
1261
+
1262
+ """
1263
+ A title for this version. This will be displayed in the version history.
1264
+ """
1265
+ title: String!
1266
+ ): Cast
1267
+
1268
+ """
1269
+ Publish a `Weld` by updating the `Weld` with all un-published changes.
1270
+
1271
+ This is required to have any changes from an [`updateWeld`]({{Mutations.updateWeld}}) take effect.
1272
+ """
1273
+ publishWeld(
1274
+ description: String
1275
+
1276
+ """The object's `eid`"""
1277
+ eid: String!
1278
+
1279
+ """
1280
+ A boolean indicating whether you'd like to migrate all open workflow submissions to the
1281
+ new published version, or leave them pegged to the version under which they were created.
1282
+ """
1283
+ migrateOpenWeldDatas: Boolean = true
1284
+
1285
+ """
1286
+ A title for this version. This will be displayed in the version history.
1287
+ """
1288
+ title: String!
1289
+ ): Weld
1290
+ removeEtchPacket(eid: String!): Boolean
1291
+ removeWebhook(eid: String!): Organization
1292
+
1293
+ """Remove a Webhook Action and stop receiving Webhook calls for it."""
1294
+ removeWebhookAction(
1295
+ """The EID of the Webhook Action you want to remove."""
1296
+ eid: String!
1297
+ ): Boolean
1298
+ removeWeldData(eid: String!): Boolean
1299
+ retryWebhookLog(eid: String!): WebhookLog
1300
+
1301
+ """
1302
+ This will move a `draft` `EtchPacket` into sent mode (`status` ==
1303
+ `sent`). If the first signer is an email signer, this will kick off an
1304
+ email, with a link to sign their portion of the packet.
1305
+
1306
+ You can call this mutation after a packet is sent to "resend" signature
1307
+ emails to your email signers. For example, you can send a new email via
1308
+ `sendEtchPacket` if they lose the email, or if they have an email with an
1309
+ expired token. This mutation will always email the first signer who has not
1310
+ yet signed.
1311
+
1312
+ When your signers are set up as `embedded` signers, they will _not_ be
1313
+ emailed. You must generate signing URLs via the
1314
+ [`generateEtchSignURL`]({{Mutations.generateEtchSignURL}}) mutation. See
1315
+ [our e-signature guide on embedded signers](/docs/api/e-signatures#controlling-the-signature-process-with-embedded-signers)
1316
+ for more info.
1317
+ """
1318
+ sendEtchPacket(eid: String!): EtchPacket
1319
+ skipSigner(clearNameAndEmail: Boolean = true, signerEid: String!): Signer
1320
+
1321
+ """
1322
+ Mint a short-lived Nango Connect session token for the given integration
1323
+ (e.g. "hubspot"), scoped to the current organization. The frontend uses
1324
+ this token to open Nango's hosted Connect UI popup.
1325
+ """
1326
+ startIntegrationConnectSession(integration: String, organizationEid: String): String
1327
+
1328
+ """
1329
+ Mint a short-lived Nango Connect session token for repairing an existing,
1330
+ broken connection for the given integration (e.g. "hubspot"), scoped to
1331
+ the current organization. The frontend uses this token to open Nango's
1332
+ hosted Connect UI popup.
1333
+ """
1334
+ startIntegrationReconnectSession(integration: String, organizationEid: String): String
1335
+
1336
+ """
1337
+ Update a `Cast` with new properties. This will create a new `CastVersion` and:
1338
+ 1. If this being used as a Template, it will require you to publish the `Cast` via
1339
+ the [`publishCast`]({{Mutations.publishCast}}) mutation
1340
+ before it will go live.
1341
+ 2. If the `Cast` is part of a Workflow, it will require you to publish the `Weld` via
1342
+ the [`publishWeld`]({{Mutations.publishWeld}}) mutation
1343
+ """
1344
+ updateCast(
1345
+ allowedAliasIds: [String]
1346
+ config: JSON
1347
+ configFile: Upload
1348
+ eid: String!
1349
+ feedbackMessage: String
1350
+ feedbackRating: Int
1351
+ file: Upload
1352
+ isArchived: Boolean
1353
+ isTemplate: Boolean
1354
+ name: String
1355
+ organizationEid: String
1356
+ title: String
1357
+
1358
+ """
1359
+ Used to ensure that the Cast is still at the version that you believed it is.
1360
+ Helps to prevent performing an update without being aware that an update has already
1361
+ occurred in the meantime.
1362
+ """
1363
+ versionNumber: Int
1364
+ ): Cast
1365
+ updateEtchFree(castFields: [JSON], etchTemplateEid: String!, fields: [JSON], isEditing: Boolean, name: String, ownerEmail: String, ownerName: String, signers: JSON, token: String!): EtchTemplate
1366
+ updateEtchPacket(
1367
+ eid: String!
1368
+ isArchived: Boolean
1369
+
1370
+ """
1371
+ If `true` we treat the provided `payload` as a partial update to be merged with the previous payload.
1372
+ Any values in the `payload` that are set to `null` will be removed from the resulting merged payload.
1373
+ """
1374
+ mergePayloads: Boolean = false
1375
+ name: String
1376
+ payload: JSON
1377
+ token: String
1378
+ webhookURL: String
1379
+ ): EtchPacket
1380
+ updateEtchTemplate(config: JSON, eid: String!, isRepeatable: Boolean, name: String): EtchTemplate
1381
+
1382
+ """
1383
+ Update a `Forge` with new properties. This will create a new `ForgeVersion` and
1384
+ will require you to publish the `Weld` via the [`publishWeld`]({{Mutations.publishWeld}}) mutation
1385
+ before it will go live.
1386
+ """
1387
+ updateForge(
1388
+ config: JSON
1389
+ configFile: Upload
1390
+ eid: String!
1391
+ isArchived: Boolean
1392
+ isRequired: Boolean
1393
+ name: String
1394
+ organizationRole: String
1395
+ slug: String
1396
+ title: String
1397
+ unauthenticatedAuthType: String
1398
+
1399
+ """
1400
+ Used to ensure that the Forge is still at the version that you believed it is.
1401
+ Helps to prevent performing an update without being aware that an update has already
1402
+ occurred in the meantime.
1403
+ """
1404
+ versionNumber: Int
1405
+ ): Forge
1406
+ updateOrganization(billingEmail: String, config: JSON, defaultSourceId: String, etchCompleteEmailRecipients: JSON, logo: Upload, name: String, organizationEid: String, organizationSlug: String, signatureProvider: String, signerCompleteEmailRecipients: JSON, signerOptions: JSON, signerViewEmailRecipients: JSON, slug: String, stylesheetURL: String, supportEmail: String, weldCompleteEmailEnableForTest: Boolean, weldCompleteEmailRecipients: JSON): Organization
1407
+ updateOrganizationUser(externalId: String, organizationEid: String!, role: String!, userEid: String!): Organization
1408
+
1409
+ """
1410
+ Update a `Signer`'s name and email address. A signer's name and email can
1411
+ be updated as long as the signer has not completed signing or been skipped.
1412
+
1413
+ Name and email for a signer can be updated after a previous signer
1414
+ has already signed. Documents will be updated with the new signer
1415
+ information. Only name and email fields that have been attached to a signer
1416
+ will be updated. An invisible signature will be added to each updated
1417
+ document indicating what changed and who changed it.
1418
+
1419
+ This mutation can be used on signers in `EtchPackets` and in Workflows
1420
+ (attached to `WeldData` objects).
1421
+ """
1422
+ updateSigner(
1423
+ """
1424
+ If this is an Etch signer and they were created as `pending`, set this to `true` to activate them.
1425
+ """
1426
+ activateIfPending: Boolean = false
1427
+
1428
+ """
1429
+ Optionally provide a new or update an existing user-specified id for the `Signer`. This is specified as `id` in the [`createEtchPacket`]({{Mutations.createEtchPacket}})
1430
+ mutation. Note: This will only be updated if the `name` and/or the `email` are also changed.
1431
+ """
1432
+ aliasId: String
1433
+
1434
+ """The eid of the `Signer` to update."""
1435
+ eid: String!
1436
+
1437
+ """The signer's new email address."""
1438
+ email: String
1439
+
1440
+ """The signer's new name."""
1441
+ name: String
1442
+ ): Signer
1443
+ updateSubmission(eid: String!, isExcluded: Boolean): Submission
1444
+ updateWebhook(eid: String!, url: String): Organization
1445
+
1446
+ """
1447
+ Update a `Weld` with new properties. This will create a new `WeldVersion` and
1448
+ will require you to publish the `Weld` via the [`publishWeld`]({{Mutations.publishWeld}}) mutation
1449
+ before it will go live.
1450
+ """
1451
+ updateWeld(
1452
+ config: JSON
1453
+ configFile: Upload
1454
+ dataDisplayTitle: JSON
1455
+ draftStep: String
1456
+ eid: String!
1457
+ entryButtonCopyLink: Boolean
1458
+ entryButtonText: String
1459
+ entryForgeId: Int
1460
+ excludeCertificateFromSignerDownloads: Boolean
1461
+ expireAfterDaysComplete: Int
1462
+ expireAfterDaysStart: Int
1463
+ expiresAt: String
1464
+ isArchived: Boolean
1465
+ lockedDescriptionExisting: String
1466
+ lockedDescriptionNew: String
1467
+ lockedTitleExisting: String
1468
+ lockedTitleNew: String
1469
+ mergePDFs: Boolean
1470
+ name: String
1471
+ organizationEid: String
1472
+ signatureEmailBody: JSON
1473
+ signatureEmailSubject: JSON
1474
+ signatureMode: String
1475
+ signatureProvider: String
1476
+ signatureStepsMode: String
1477
+ slug: String
1478
+ steps: JSON
1479
+
1480
+ """
1481
+ Used to ensure that the Weld is still at the version that you believed it is.
1482
+ Helps to prevent performing an update without being aware that an update has already
1483
+ occurred in the meantime.
1484
+ """
1485
+ versionNumber: Int
1486
+ visibility: String
1487
+ weldCompleteEmailEnableForTest: Boolean
1488
+ weldCompleteEmailRecipients: JSON
1489
+ ): Weld
1490
+ updateWeldData(eid: String!, isArchived: Boolean, isExpired: Boolean, isTest: Boolean, pin: String, webhookURL: String): WeldData
1491
+ voidDocumentGroup(
1492
+ """The DocumentGroup's `eid`"""
1493
+ eid: String
1494
+ voidedReason: String!
1495
+ weldDataEid: String
1496
+ ): DocumentGroup
1497
+ }
1498
+
1499
+ type ObjectRelationship {
1500
+ id: Int!
1501
+ relatedObjectEid: String!
1502
+ relatedObjectType: String
1503
+ relation: String
1504
+ sourceObjectEid: String!
1505
+ sourceObjectType: String
1506
+ }
1507
+
1508
+ """An entity that encapsulates a set of Workflows, templates, users, etc."""
1509
+ type Organization {
1510
+ adminUsers: [User]
1511
+ availableSignatureProviderTypes: [String]
1512
+
1513
+ """The email used for all billing related correspondence."""
1514
+ billingEmail: String
1515
+
1516
+ """
1517
+ Returns a paginated Page that includes items (array of Casts), rowCount, pageCount, page, and pageSize.
1518
+ """
1519
+ casts(
1520
+ """
1521
+ Stop counting matching rows once this many are found (max: 10000). `rowCount` is capped at this value and `rowCountIsExact` becomes false. Omit for an exact total.
1522
+ """
1523
+ countLimit: Int
1524
+
1525
+ """Set to `true` to search only within archived casts"""
1526
+ isArchived: Boolean = false
1527
+
1528
+ """Set to `true` to search only within draft casts"""
1529
+ isDraft: Boolean = null
1530
+
1531
+ """Set to `true` to search only within published casts"""
1532
+ isPublished: Boolean = null
1533
+
1534
+ """
1535
+ Defaults to `true`, returning only template casts. Set to `false` for only non-template casts, or `null` for both.
1536
+ """
1537
+ isTemplate: Boolean = true
1538
+
1539
+ """The requested number of rows per page (max: 500)"""
1540
+ limit: Int = 10
1541
+
1542
+ """The requested page number"""
1543
+ offset: Int = 1
1544
+
1545
+ """Order by a specific field"""
1546
+ orderBy: String = "name"
1547
+
1548
+ """Order in ascending or descending order"""
1549
+ orderDirection: String = "ASC"
1550
+
1551
+ """Search based on the title of the Cast"""
1552
+ query: String = null
1553
+
1554
+ """Filter casts that have at least one tag with a name from this array"""
1555
+ tagNames: [String] = null
1556
+ ): CastPage
1557
+ childOrganizations: [Organization]
1558
+ config: JSON
1559
+ createdAt: Date
1560
+
1561
+ """The `eid` is the object identifier."""
1562
+ eid: String
1563
+ etchCompleteStats: JSON
1564
+ etchPackets(
1565
+ """
1566
+ Stop counting matching rows once this many are found (max: 10000). `rowCount` is capped at this value and `rowCountIsExact` becomes false. Omit for an exact total.
1567
+ """
1568
+ countLimit: Int
1569
+ dateEnd: String = null
1570
+ dateFilterBy: String = null
1571
+ dateStart: String = null
1572
+
1573
+ """
1574
+ Set to `true` to return only archived packets, or `false` to return only active packets. When omitted, archived packets are included only if `status` contains `archived`.
1575
+ """
1576
+ isArchived: Boolean
1577
+ isTest: Boolean = false
1578
+
1579
+ """The requested number of rows per page (max: 500)"""
1580
+ limit: Int = 5
1581
+
1582
+ """The requested page number"""
1583
+ offset: Int = 1
1584
+ orderBy: String = "name"
1585
+ orderDirection: String = "ASC"
1586
+ query: String = null
1587
+ status: [String]
1588
+ ): EtchPacketPage
1589
+
1590
+ """
1591
+ Etch templates in this organization, oldest first. Page through them with `limit` and `offset`.
1592
+ """
1593
+ etchTemplates(
1594
+ """The requested number of rows per page (max: 500)"""
1595
+ limit: Int = 500
1596
+
1597
+ """The requested page number"""
1598
+ offset: Int = 1
1599
+ ): [EtchTemplate]
1600
+ forgeMaps: [ForgeMap]
1601
+ forges(isArchived: Boolean = false): [Forge]
1602
+ id: Int!
1603
+ isPersonal: Boolean
1604
+
1605
+ """Is this Organization set up for SSO-based authentication or not."""
1606
+ isSso: Boolean
1607
+ isSubscribed: Boolean
1608
+ logo: JSON
1609
+
1610
+ """
1611
+ URL to your logo. You can update this on your organization settings page.
1612
+ """
1613
+ logoURL: String
1614
+ name: String
1615
+ organizationUserInvites: [OrganizationUserInvite]
1616
+ organizationUsers: [OrganizationUser]
1617
+ parentOrganization: Organization
1618
+ paymentMethods: [PaymentMethod]
1619
+ relatedOrganizations(actions: [String]): [Organization]
1620
+
1621
+ """Number of user slots remaining for this organization."""
1622
+ remainingUsers: Int
1623
+ resolvedConfig: JSON
1624
+ signatureProviderType: String
1625
+ slug: String
1626
+
1627
+ """
1628
+ Your organization's white-label CSS stylesheet. You can update this on your organization settings page.
1629
+ """
1630
+ stylesheetURL: String
1631
+ subscriptionActivity: JSON
1632
+
1633
+ """
1634
+ Your organization's support email address. Used as the reply-to address for emails sent to your users by Anvil.
1635
+ """
1636
+ supportEmail: String
1637
+ updatedAt: Date
1638
+ useTestSignatureProvider: Boolean
1639
+ users: [User]
1640
+ webhook: Webhook
1641
+ webhookActions: [WebhookAction]
1642
+ webhookLogs(
1643
+ """The requested number of rows per page (max: 500)"""
1644
+ limit: Int = 10
1645
+
1646
+ """The requested page number"""
1647
+ offset: Int = 1
1648
+ ): WebhookLogPage
1649
+ weldCompleteStats: JSON
1650
+ weldCompleteWebhookStats: JSON
1651
+ weldGroups: [WeldGroup]
1652
+
1653
+ """
1654
+ Returns a paginated Page that includes items (array of Welds), rowCount, pageCount, page, and pageSize.
1655
+ """
1656
+ welds(
1657
+ """
1658
+ Stop counting matching rows once this many are found (max: 10000). `rowCount` is capped at this value and `rowCountIsExact` becomes false. Omit for an exact total.
1659
+ """
1660
+ countLimit: Int
1661
+
1662
+ """Search based on the date the Weld was created"""
1663
+ dateEnd: String = null
1664
+
1665
+ """Filter by a specific date"""
1666
+ dateFilterBy: String = null
1667
+
1668
+ """Search based on the date the Weld was created"""
1669
+ dateStart: String = null
1670
+
1671
+ """Set to `true` to search only within archived Welds"""
1672
+ isArchived: Boolean = false
1673
+
1674
+ """Set to `true` to search only within locked Welds"""
1675
+ isClosed: Boolean = null
1676
+
1677
+ """Set to `true` to search only within Welds with unpublished changes"""
1678
+ isDraft: Boolean = null
1679
+
1680
+ """The requested number of rows per page (max: 500)"""
1681
+ limit: Int = 10
1682
+
1683
+ """Search based on the title of the Weld"""
1684
+ name: String = null
1685
+
1686
+ """The requested page number"""
1687
+ offset: Int = 1
1688
+
1689
+ """Order by a specific field"""
1690
+ orderBy: String = "name"
1691
+
1692
+ """Order in ascending or descending order"""
1693
+ orderDirection: String = "ASC"
1694
+
1695
+ """Search based on the title of the Weld"""
1696
+ query: String = null
1697
+
1698
+ """Filter based on the visibility of the Weld"""
1699
+ visibility: String
1700
+ ): WeldPage
1701
+ }
1702
+
1703
+ type OrganizationPage {
1704
+ """The actual records for the requested page"""
1705
+ items: [Organization]
1706
+
1707
+ """The requested page number"""
1708
+ page: Int
1709
+
1710
+ """Total number of pages of results"""
1711
+ pageCount: Int
1712
+
1713
+ """The requested number of rows per page"""
1714
+ pageSize: Int
1715
+
1716
+ """
1717
+ Total number of rows found for the query before pagination. Capped when the query was given a `countLimit`.
1718
+ """
1719
+ rowCount: Int
1720
+
1721
+ """
1722
+ False when `rowCount` stopped at the requested `countLimit`, meaning there are at least that many rows. True whenever the count ran to completion.
1723
+ """
1724
+ rowCountIsExact: Boolean
1725
+ }
1726
+
1727
+ type OrganizationUser {
1728
+ createdAt: Date
1729
+
1730
+ """
1731
+ A place to store your external system's unique identifier for this User.
1732
+ """
1733
+ externalId: String
1734
+ id: Int!
1735
+ organization: Organization
1736
+
1737
+ """
1738
+ Role of this user within your org. Possible values: viewer, editor, billingAdmin, admin, tokenized, api
1739
+ """
1740
+ role: String
1741
+ updatedAt: Date
1742
+ user: User
1743
+ }
1744
+
1745
+ """
1746
+ An invite sent for a user to join your organization. Once accepted, an
1747
+ `OrganizationUser` will be created.
1748
+ """
1749
+ type OrganizationUserInvite {
1750
+ acceptedAt: Date
1751
+ createdAt: Date
1752
+
1753
+ """The `eid` is the object identifier."""
1754
+ eid: String
1755
+ email: String
1756
+
1757
+ """
1758
+ A place to store your external system's unique identifier for this User.
1759
+ """
1760
+ externalId: String
1761
+ id: Int!
1762
+ name: String
1763
+ organization: Organization
1764
+ revokedAt: Date
1765
+
1766
+ """
1767
+ Role of this user within your org. Possible values: viewer, editor, billingAdmin, admin, tokenized, api
1768
+ """
1769
+ role: String
1770
+ updatedAt: Date
1771
+ }
1772
+
1773
+ type PaymentMethod {
1774
+ expMonth: Int
1775
+ expYear: Int
1776
+ id: String!
1777
+ isDefault: Boolean
1778
+ last4: String
1779
+ providerName: String
1780
+ status: String
1781
+ type: String
1782
+ }
1783
+
1784
+ type Query {
1785
+ """
1786
+ Fetch a single `Cast`. A `Cast` is a PDF Template. See our
1787
+ [terminology guide](/docs/api/getting-started#terminology) for more info.
1788
+ """
1789
+ cast(
1790
+ """The Cast's `eid` (which is the same as the PDF template ID)"""
1791
+ eid: String
1792
+
1793
+ """
1794
+ Optional argument to request a specific version of the `Cast`. If not provided,
1795
+ the last ***published*** version will be returned, unless it has not been published
1796
+ in which case the latest ***draft*** version will be returned.
1797
+
1798
+ Providing `-1` is a special value that will return the latest
1799
+ draft version of the `Cast`.
1800
+ """
1801
+ versionNumber: Int
1802
+ ): Cast
1803
+
1804
+ """
1805
+ Fetches the currently logged in user. When used in an API context, this will
1806
+ return your API user. The `currentUser` query is useful to fetch objects
1807
+ in your organization. e.g. your `Organization`, its `Weld`s, etc.
1808
+ """
1809
+ currentUser: User
1810
+
1811
+ """
1812
+ Fetch a single `EtchPacket`. An `EtchPacket` represents a signature
1813
+ packet containing PDFs, signers, signed documents. This is the result of
1814
+ `createEtchPacket`. See the
1815
+ [e-signature API guide](/docs/api/e-signatures) for more info.
1816
+ """
1817
+ etchPacket(eid: String!): EtchPacket
1818
+
1819
+ """
1820
+ Fetch a single `Forge` by specifying _either_ (but not both) of the following argument sets:
1821
+ 1. Just the `eid` for the Forge if you know it.
1822
+ 2. Both the `organizationSlug` and `eidOrSlug`.
1823
+
1824
+ A `Forge` holds configuration for a single webform. A `Forge` defines a
1825
+ webform's fields, the page fields are on, their types, webform logic, etc.
1826
+ Each Forge will be a member of only one `Weld` (Workflow). See our
1827
+ [terminology guide](/docs/api/getting-started#terminology) for more info.
1828
+
1829
+ A better way to fetch `Forge`s is via the `weld` query.
1830
+ For example:
1831
+
1832
+ ```graphql
1833
+ weld (eid: weldEid) {
1834
+ forges {
1835
+ eid
1836
+ slug
1837
+ name
1838
+ }
1839
+ }
1840
+ ```
1841
+ """
1842
+ forge(
1843
+ """
1844
+ If you are authenticated and know the EID, you can use this argument.
1845
+ Be sure to omit the `organizationSlug` and `eidOrSlug` arguments if passing `eid`.
1846
+ """
1847
+ eid: String
1848
+ eidOrSlug: String
1849
+ organizationSlug: String
1850
+
1851
+ """
1852
+ If you want to receive the Forge and its related, versioned items in the version associated with
1853
+ a specific [`Submission`]({{Types.Submission}}) then pass that `Submission` EID here.
1854
+ """
1855
+ submissionEid: String
1856
+
1857
+ """
1858
+ Optional argument to request a specific version of the `Forge`. If not provided,
1859
+ the last ***published*** version will be returned, unless it has not been published
1860
+ in which case the latest ***draft*** version will be returned.
1861
+
1862
+ All `Welds` and `Casts` that are related to this `Forge` will be returned
1863
+ in their state "as-of" the version requested for the `Forge`.
1864
+
1865
+ Providing `-1` is a special value that will return the latest
1866
+ draft version of the `Forge`, but also the latest draft version of any related
1867
+ `Weld` and `Casts`.
1868
+ """
1869
+ versionNumber: Int
1870
+
1871
+ """
1872
+ If you want to receive the Forge and its related, versioned items in the version associated with
1873
+ a specific [`WeldData`]({{Types.WeldData}}) then pass that `WeldData` EID here.
1874
+ """
1875
+ weldDataEid: String
1876
+ ): Forge
1877
+
1878
+ """
1879
+ A connected (or connectable) third-party integration for the current
1880
+ organization, e.g. "hubspot". Request only the fields you need —
1881
+ `objectTypes` lazily calls out to the integration only when selected.
1882
+ """
1883
+ integration(organizationEid: String, type: String): Integration
1884
+
1885
+ """
1886
+ Fetch a single `Organization`. You obviously will only be able to access
1887
+ organizations you are a part of.
1888
+
1889
+ A better way to fetch this information is via the `currentUser` query.
1890
+ For example:
1891
+
1892
+ ```graphql
1893
+ currentUser {
1894
+ organizations {
1895
+ eid
1896
+ slug
1897
+ name
1898
+ }
1899
+ }
1900
+ ```
1901
+ """
1902
+ organization(organizationEid: String, organizationSlug: String): Organization
1903
+
1904
+ """
1905
+ Fetches a single `Signer`.
1906
+
1907
+ An alternate way to fetch signers is via a `DocumentGroup` object. For
1908
+ example, use the `etchPacket` or `weldData` query, then dig down to the
1909
+ signers in your query.
1910
+ """
1911
+ signer(eid: String!): Signer
1912
+
1913
+ """
1914
+ Fetches a single `Submission`. A `Submission` holds data submitted to a
1915
+ webform. See our
1916
+ [terminology guide](/docs/api/getting-started#terminology) for more info.
1917
+
1918
+ A better way to fetch submissions is via the `weldData` query. For example:
1919
+
1920
+ ```graphql
1921
+ weldData (eid: weldDataEid) {
1922
+ displayTitle
1923
+ submissions {
1924
+ eid
1925
+ resolvedPayload
1926
+ }
1927
+ }
1928
+ ```
1929
+ """
1930
+ submission(eid: String!, forceCreate: Boolean, forgeEidOrSlug: String!, organizationSlug: String!, timezone: String): Submission
1931
+
1932
+ """
1933
+ Fetch a single `Weld`. This query is a good way to fetch all of a
1934
+ Workflow's submissions (`WeldData`s). See the `Weld`'s `weldDatas`
1935
+ resolver.
1936
+
1937
+ Specify either the `Weld`'s `eid` _or_ both the `Weld`'s `slug` and
1938
+ the `Weld`'s `organizationSlug`.
1939
+
1940
+ See the [Workflow API guide](/docs/api/workflows) for more information on
1941
+ query usage.
1942
+ """
1943
+ weld(
1944
+ """The Workflow / Weld's `eid`"""
1945
+ eid: String
1946
+ organizationSlug: String
1947
+ slug: String
1948
+
1949
+ """
1950
+ Optional argument to request a specific version of the `Weld`. If not provided,
1951
+ the last ***published*** version will be returned, unless it has not been published
1952
+ in which case the latest ***draft*** version will be returned.
1953
+
1954
+ All `Forges` and `Casts` that are related to this `Weld` will be returned
1955
+ in their state "as-of" the version requested for the `Weld`.
1956
+
1957
+ Providing `-1` is a special value that will return the latest
1958
+ draft version of the `Weld`, but also the latest draft version of any related
1959
+ `Forges` and `Casts`.
1960
+ """
1961
+ versionNumber: Int
1962
+ ): Weld
1963
+
1964
+ """
1965
+ Fetch a single `WeldData` (Workflow submission). If you need to fetch all
1966
+ `WeldData`s for a given `Weld`, see the `weld` query.
1967
+
1968
+ See the [Workflow API guide](/docs/api/workflows) for more information on
1969
+ query usage.
1970
+ """
1971
+ weldData(eid: String!): WeldData
1972
+ }
1973
+
1974
+ """
1975
+ Represents a single signer. See `Signer.status` to indicate where a signer
1976
+ is in the signing process.
1977
+ """
1978
+ type Signer {
1979
+ """The `Signer`'s user-specified id set on packet creation."""
1980
+ aliasId: String
1981
+ allowDefaultTranslations: Boolean
1982
+
1983
+ """
1984
+ Your id for the person signing: a way to trace this signer back to a user in your system.
1985
+ """
1986
+ clientUserId: String
1987
+
1988
+ """Timestamp when the `Signer` has finished signing."""
1989
+ completedAt: Date
1990
+ createdAt: Date
1991
+
1992
+ """
1993
+ A `DocumentGroup` references all signers and the documents after they have been filled and sent out for signature. See the `DocumentGroup`'s `status` for lifecycle information.
1994
+ """
1995
+ documentGroup: DocumentGroup
1996
+
1997
+ """The `eid` is the object identifier."""
1998
+ eid: String
1999
+ email: String
2000
+
2001
+ """The URL the user will be redirected to when they finish signing."""
2002
+ finishURL: String
2003
+ id: Int!
2004
+ name: String
2005
+
2006
+ """Possible values: `etch` or `docusign`."""
2007
+ provider: String
2008
+
2009
+ """
2010
+ Numeric step in the signing process where this user signs. Signers are routed in sorted order.
2011
+ """
2012
+ routingOrder: Int
2013
+
2014
+ """
2015
+ Indicates the method by which the user signs. Possible values: `email`, `embedded`, or `in-person`.
2016
+ """
2017
+ signActionType: String
2018
+
2019
+ """
2020
+ The inferred signing experience for this signer. Possible values: `signBeforeReviewing`, `signWhileReviewing`, `formCompletionOnly`, `acknowledgeOnly`.
2021
+ """
2022
+ signatureExperience: String
2023
+
2024
+ """
2025
+ Get all `SignerTokens` this signer has available. These can tell you when a signer's token will be expiring, which token was used for signing, etc.
2026
+ """
2027
+ signerTokens: [SignerToken]
2028
+
2029
+ """
2030
+ Possible values: `sent`, `viewed`, `delivered`, `voided`, `autoresponded`, `faxpending`, `created`, `skipped`, `pending`, `ignored`, `declined`, `idCheckFailed`, `completed`
2031
+ """
2032
+ status: String
2033
+
2034
+ """
2035
+ An associated `Submission`. This wil exist for signers who sign at the end of a Workflow.
2036
+ """
2037
+ submission: Submission
2038
+ supportEmail: String
2039
+ updatedAt: Date
2040
+
2041
+ """A Anvil `User` associated with this signer."""
2042
+ user: User
2043
+ }
2044
+
2045
+ type SignerPage {
2046
+ """The actual records for the requested page"""
2047
+ items: [Signer]
2048
+
2049
+ """The requested page number"""
2050
+ page: Int
2051
+
2052
+ """Total number of pages of results"""
2053
+ pageCount: Int
2054
+
2055
+ """The requested number of rows per page"""
2056
+ pageSize: Int
2057
+
2058
+ """
2059
+ Total number of rows found for the query before pagination. Capped when the query was given a `countLimit`.
2060
+ """
2061
+ rowCount: Int
2062
+
2063
+ """
2064
+ False when `rowCount` stopped at the requested `countLimit`, meaning there are at least that many rows. True whenever the count ran to completion.
2065
+ """
2066
+ rowCountIsExact: Boolean
2067
+ }
2068
+
2069
+ """
2070
+ Represents a token used to sign documents. See `Signer.signerTokens` to
2071
+ fetch them.
2072
+
2073
+ We do not expose the token itself, but you can use this object to get an
2074
+ idea of what tokens the signer has available, whether they are valid, and
2075
+ their expiration dates (`validUntil`).
2076
+ """
2077
+ type SignerToken {
2078
+ """Date when the token was created"""
2079
+ createdAt: Date
2080
+
2081
+ """The `eid` is the object identifier."""
2082
+ eid: String
2083
+
2084
+ """Extra data for the token."""
2085
+ extra: JSON
2086
+
2087
+ """`true` when this token was used to sign the `Signer`'s documents."""
2088
+ hasSigned: Boolean
2089
+ id: Int!
2090
+
2091
+ """
2092
+ Date when the token was invalidated if explicitly invalidated. If invalid due to expiration, use `validUntil`.
2093
+ """
2094
+ invalidatedAt: Date
2095
+
2096
+ """Date when the token was used to sign documents."""
2097
+ signedAt: Date
2098
+ signer: Signer
2099
+
2100
+ """
2101
+ Type of token issued. Tells you how the token was issued. Values: `api`, `sign-now`, `notify-signer`, `view`
2102
+ """
2103
+ type: String
2104
+
2105
+ """`true` when this token is valid and can be used to sign."""
2106
+ valid: Boolean
2107
+
2108
+ """Date of token expiration."""
2109
+ validUntil: Date
2110
+ }
2111
+
2112
+ """
2113
+ An instance of a `Forge`. A `Submission` holds the data for one webform
2114
+ submission on a particular `Forge`.
2115
+
2116
+ See our [Workflow API guide](/docs/api/workflows) for more info.
2117
+ """
2118
+ type Submission {
2119
+ completedAt: Date
2120
+ completionPercentage: Float
2121
+
2122
+ """URL to the next step in this webform."""
2123
+ continueURL: String
2124
+ createdAt: Date
2125
+ currentStep: Int
2126
+
2127
+ """The `eid` is the object identifier."""
2128
+ eid: String
2129
+ forge: Forge
2130
+ id: Int!
2131
+ isExcluded: Boolean
2132
+
2133
+ """The raw payload"""
2134
+ payload: JSON
2135
+
2136
+ """The raw payload without types"""
2137
+ payloadValue: JSON
2138
+ requestMeta: JSON
2139
+
2140
+ """
2141
+ The payload resolved with field aliases and field information. If you need to fetch the submission payload, use this.
2142
+ """
2143
+ resolvedPayload: JSON
2144
+ reviewData(targetLanguage: String): JSON
2145
+ signer: Signer
2146
+
2147
+ """
2148
+ Possible values: `created`, `in-progress`, `waiting-to-sign`, `user-signed-and-waiting`, `users-turn-to-sign-ui`, `users-turn-to-sign-email`, `someone-else-signed-and-waiting`, `completed`
2149
+ """
2150
+ status: String
2151
+ totalSteps: Int
2152
+ touchedByUser: Boolean
2153
+ updatedAt: Date
2154
+ user: User
2155
+ weldData: WeldData
2156
+ }
2157
+
2158
+ type SubmissionPage {
2159
+ """The actual records for the requested page"""
2160
+ items: [Submission]
2161
+
2162
+ """The requested page number"""
2163
+ page: Int
2164
+
2165
+ """Total number of pages of results"""
2166
+ pageCount: Int
2167
+
2168
+ """The requested number of rows per page"""
2169
+ pageSize: Int
2170
+
2171
+ """
2172
+ Total number of rows found for the query before pagination. Capped when the query was given a `countLimit`.
2173
+ """
2174
+ rowCount: Int
2175
+
2176
+ """
2177
+ False when `rowCount` stopped at the requested `countLimit`, meaning there are at least that many rows. True whenever the count ran to completion.
2178
+ """
2179
+ rowCountIsExact: Boolean
2180
+ }
2181
+
2182
+ type Tag {
2183
+ """
2184
+ Config for the tag, e.g. { color: "red", description: "This is a red tag" }
2185
+ """
2186
+ config: JSON
2187
+ createdAt: Date
2188
+
2189
+ """The `eid` is the object identifier."""
2190
+ eid: String
2191
+ id: Int!
2192
+
2193
+ """
2194
+ The other tables this tag can be applied to, e.g. cast, weld_data, etch_packet, weld, etc.
2195
+ """
2196
+ intendedFor: String
2197
+
2198
+ """The name of the tag"""
2199
+ name: String
2200
+ organization: Organization
2201
+ updatedAt: Date
2202
+ }
2203
+
2204
+ "The `Upload` scalar type represents a file upload. This can be one of:\n\n1. An object with `data`, `mimetype`, and `filename` keys (base64 buffer)\n2. An object with `url` and optionally `filename` keys (URL download)\n3. A multipart request with a structure described by the\n [GraphQL multipart requests specification](https://github.com/jaydenseric/graphql-multipart-request-spec)\n\nWhile sending up an object structure described in the example is considerably\nsimpler than the multipart spec, we only support request payloads of up to 1MB.\nContent-Type `application/json` requests with sizes over the 1MB size will\nresult in a `419 Request Too Large` response.\n\nIf your request is larger than 1MB, use a multipart request. A very basic\nmultipart GraphQL + `Upload` example using `curl`:\n\n```sh\ncurl https://graphql.useanvil.com \\ -F operations='[{ \"query\": \"CreateCast ($file: Upload!) { createCast(file: $file) { id } }\", \"variables\": { \"file\": null } }]' \\\n -F map='{ \"0\": [\"0.variables.file\"] }' \\\n -F 0=@my-file.pdf\n```\n\nOur [Node API Client](https://github.com/anvilco/node-anvil) uses multipart\nuploads by default.\n"
2205
+ scalar Upload
2206
+
2207
+ type User {
2208
+ createdAt: Date
2209
+
2210
+ """The `eid` is the object identifier."""
2211
+ eid: String
2212
+ email: String
2213
+ extra: JSON
2214
+ firstName: String
2215
+ lastName: String
2216
+ name: String
2217
+ onboarding: JSON
2218
+ organizationUsers: [OrganizationUser]
2219
+ organizations: [Organization]
2220
+ preferences: UserPreferences!
2221
+
2222
+ """What type of role the User has. Either `user` or `api`."""
2223
+ role: String
2224
+ updatedAt: Date
2225
+ verifiedEmail: Boolean
2226
+ }
2227
+
2228
+ type UserPage {
2229
+ """The actual records for the requested page"""
2230
+ items: [User]
2231
+
2232
+ """The requested page number"""
2233
+ page: Int
2234
+
2235
+ """Total number of pages of results"""
2236
+ pageCount: Int
2237
+
2238
+ """The requested number of rows per page"""
2239
+ pageSize: Int
2240
+
2241
+ """
2242
+ Total number of rows found for the query before pagination. Capped when the query was given a `countLimit`.
2243
+ """
2244
+ rowCount: Int
2245
+
2246
+ """
2247
+ False when `rowCount` stopped at the requested `countLimit`, meaning there are at least that many rows. True whenever the count ran to completion.
2248
+ """
2249
+ rowCountIsExact: Boolean
2250
+ }
2251
+
2252
+ type UserPreferences {
2253
+ acceptedSignature: Boolean
2254
+ initials: String
2255
+ mcpOrganizationEid: String
2256
+ name: String
2257
+ require2FA: Boolean
2258
+ }
2259
+
2260
+ type UserUpload {
2261
+ cast: Cast
2262
+ createdAt: Date
2263
+
2264
+ """The `eid` is the object identifier."""
2265
+ eid: String
2266
+ etchPacket: EtchPacket
2267
+ forge: Forge
2268
+ id: Int!
2269
+ location: String
2270
+ metadata: JSON
2271
+ updatedAt: Date
2272
+ user: User
2273
+ weldData: WeldData
2274
+ }
2275
+
2276
+ """
2277
+ A `Webhook` represents a webhook URL. Anvil will POST to webhook URLs on
2278
+ specific actions. Both organization-wide and per-object webhook URLs are
2279
+ represented by this object. See the [webhooks guide](/docs/api/webhooks) for
2280
+ more information.
2281
+ """
2282
+ type Webhook {
2283
+ createdAt: Date
2284
+ creationUser: User
2285
+
2286
+ """The `eid` is the object identifier."""
2287
+ eid: String
2288
+ id: Int!
2289
+ inactiveAt: Date
2290
+ inactiveReason: String
2291
+ organization: Organization
2292
+
2293
+ """Prossible values: `active` or `inactive`."""
2294
+ status: String
2295
+
2296
+ """Use this token to make sure the request is from Anvil."""
2297
+ token: String
2298
+
2299
+ """
2300
+ Webhook URLs that accept notifications for any object will be `prod`. Per-object webhook URLs will have type `adhoc`. Webhook URLs that accept notifications for a specific object will have type `webhookAction`.
2301
+ """
2302
+ type: String
2303
+ updatedAt: Date
2304
+
2305
+ """The URL Anvil will POST to."""
2306
+ url: String
2307
+ webhookActions: [WebhookAction]
2308
+ }
2309
+
2310
+ """
2311
+ A model that represents a subscription to actions on other objects in our system
2312
+ that would trigger a [`Webhook`]({{Types.Webhook}}) call.
2313
+ """
2314
+ type WebhookAction {
2315
+ action: String!
2316
+ config: JSON
2317
+ createdAt: Date!
2318
+ creationUser: User!
2319
+
2320
+ """The `eid` is the object identifier."""
2321
+ eid: String!
2322
+ objectEid: String
2323
+ objectType: String
2324
+ updatedAt: Date!
2325
+ webhook: Webhook!
2326
+ }
2327
+
2328
+ """
2329
+ Configuration options for a [`Webhook Action`]({{Types.WebhookAction}}).
2330
+ """
2331
+ input WebhookActionConfigInput {
2332
+ """Whether actually make the webhook call on Staging"""
2333
+ doOnStaging: Boolean
2334
+
2335
+ """
2336
+ Whether to encrypt the data payloads delivered by the [`Webhook`]({{Types.Webhook}}) call. Defaults to `false`.
2337
+ """
2338
+ encryptData: Boolean = false
2339
+ }
2340
+
2341
+ """
2342
+ A `WebhookLog` represents a single webhook call to your server. See the
2343
+ [webhooks guide](/docs/api/webhooks) for more information.
2344
+ """
2345
+ type WebhookLog {
2346
+ """The webhook action type, e.g. `signerComplete`."""
2347
+ action: String
2348
+ createdAt: Date
2349
+
2350
+ """The `eid` is the object identifier."""
2351
+ eid: String
2352
+ id: Int!
2353
+
2354
+ """
2355
+ `true` when this call was considered an error. It will be an error when the status code is >= 400, or the request timed out.
2356
+ """
2357
+ isError: Boolean
2358
+
2359
+ """`true` when this call was a retry of a previous call."""
2360
+ isRetry: Boolean
2361
+
2362
+ """Time it took to complete the webhook request."""
2363
+ millisecondsToFinish: Int
2364
+ objectEid: String
2365
+ objectMetadata: JSON
2366
+ organization: Organization
2367
+
2368
+ """
2369
+ If this call was a retry, `originalWebhookLog` will be `WebhookLog` that was retried.
2370
+ """
2371
+ originalWebhookLog: WebhookLog
2372
+
2373
+ """The decrypted webhook payload data."""
2374
+ payload: JSON
2375
+ rootObjectType: String
2376
+
2377
+ """
2378
+ Dashboard URL to the object that triggered the webhook event. e.g. it will link to a Workflow submission or an etch packet.
2379
+ """
2380
+ rootObjectURL: String
2381
+
2382
+ """The status code returned by your server for this call."""
2383
+ statusCode: Int
2384
+ }
2385
+
2386
+ type WebhookLogPage {
2387
+ """The actual records for the requested page"""
2388
+ items: [WebhookLog]
2389
+
2390
+ """The requested page number"""
2391
+ page: Int
2392
+
2393
+ """Total number of pages of results"""
2394
+ pageCount: Int
2395
+
2396
+ """The requested number of rows per page"""
2397
+ pageSize: Int
2398
+
2399
+ """
2400
+ Total number of rows found for the query before pagination. Capped when the query was given a `countLimit`.
2401
+ """
2402
+ rowCount: Int
2403
+
2404
+ """
2405
+ False when `rowCount` stopped at the requested `countLimit`, meaning there are at least that many rows. True whenever the count ran to completion.
2406
+ """
2407
+ rowCountIsExact: Boolean
2408
+ }
2409
+
2410
+ """
2411
+ A Weld is a Workflow. It holds the configuration that combines one or more
2412
+ `Forge` objects with zero or more `Cast` objects to create a Workflow.
2413
+
2414
+ See our [Workflow API guide](/docs/api/workflows) for more info.
2415
+ """
2416
+ type Weld {
2417
+ allowDefaultTranslations: Boolean
2418
+ archivedAt: Date
2419
+ availableSignatureProviderTypes: [String]
2420
+ casts: [Cast]
2421
+
2422
+ """Config object specifying files output, signers, etc."""
2423
+ config(
2424
+ """
2425
+ Only root level keys specified here will be returned. When omitted, all keys will be returned.
2426
+ """
2427
+ onlyKeys: [String] = null
2428
+ ): JSON
2429
+ createdAt: Date
2430
+ draftStep: String
2431
+
2432
+ """The `eid` is the Weld/Workflow's object identifier."""
2433
+ eid: String
2434
+ expiresAt: Date
2435
+ forges(isArchived: Boolean = false): [Forge]
2436
+ hasBeenPublished: Boolean
2437
+ hasSigners: Boolean
2438
+ hasUnpublishedChanges: Boolean
2439
+ hasWeldDatas: Boolean
2440
+ id: Int!
2441
+ isLatestVersion: Boolean
2442
+ isPublishedVersion: Boolean
2443
+ isTest: Boolean
2444
+ latestDraftVersionNumber: Int
2445
+ name: String
2446
+ organization: Organization
2447
+ publishedAt: Date
2448
+
2449
+ """Current published version number of this Weld"""
2450
+ publishedNumber: Int
2451
+
2452
+ """The slug of the currently published version"""
2453
+ publishedSlug: String
2454
+ publishedVersionId: Int
2455
+ publishedVersionNumber: Int
2456
+ publishedVersions(
2457
+ """The requested number of rows per page (max: 500)"""
2458
+ limit: Int = 10
2459
+
2460
+ """The requested page number"""
2461
+ offset: Int = 1
2462
+ ): WeldVersionPage
2463
+ signatureProviderType: String
2464
+ slug: String
2465
+ styleConfig: JSON
2466
+ stylesheetURL: String
2467
+
2468
+ """Total number of submissions (WeldDatas) started by this Weld"""
2469
+ submissionsCount: Int!
2470
+ testSignerCompleteWebhookPayload: JSON
2471
+ testWeldCompleteWebhookPayload: JSON
2472
+ title: String
2473
+
2474
+ """Total size in bytes of all PDF casts that would be merged"""
2475
+ totalOutputFileSize: Int
2476
+ updatedAt: Date
2477
+ versionId: Int
2478
+
2479
+ """Current version number of this Weld"""
2480
+ versionNumber: Int
2481
+ versions(
2482
+ """The requested number of rows per page (max: 500)"""
2483
+ limit: Int = 10
2484
+
2485
+ """The requested page number"""
2486
+ offset: Int = 1
2487
+ ): WeldVersionPage
2488
+ visibility: String
2489
+ weldDataCounts: JSON
2490
+
2491
+ """Fetch all the `Weld`'s `WeldData`s (Workflow submissions)"""
2492
+ weldDatas(
2493
+ """
2494
+ Stop counting matching rows once this many are found (max: 10000). `rowCount` is capped at this value and `rowCountIsExact` becomes false. Omit for an exact total.
2495
+ """
2496
+ countLimit: Int
2497
+ eids: [String]
2498
+ fromDate: Date
2499
+ ignoreTest: Boolean = true
2500
+ isArchived: Boolean = false
2501
+ isTest: Boolean = false
2502
+
2503
+ """The requested number of rows per page (max: 500)"""
2504
+ limit: Int = 5
2505
+
2506
+ """The requested page number"""
2507
+ offset: Int = 1
2508
+ orderBy: String
2509
+ orderDirection: String
2510
+ query: String
2511
+ simpleSearchTerm: String
2512
+ statuses: [String]
2513
+ toDate: Date
2514
+ touchedByUser: Boolean = true
2515
+ ): WeldDataPage
2516
+ weldGroups: [WeldGroup]
2517
+ }
2518
+
2519
+ """
2520
+ An instance of a `Weld`. You can think of it as a "workflow submission".
2521
+ A `WeldData` references `Submission`s for all the `Forge`s (webforms)
2522
+ in the related `Weld` (workflow).
2523
+
2524
+ See our [workflow API guide](/docs/api/workflows) for more info.
2525
+ """
2526
+ type WeldData {
2527
+ agents: JSON
2528
+ archivedAt: Date
2529
+
2530
+ """
2531
+ How complete is this workflow submission. Will be a value between 0 and 1.
2532
+ """
2533
+ completionPercentage: Float
2534
+
2535
+ """
2536
+ URL to the next form to be filled by the user. Use this after `WeldData` creation to get the URL to the form that should be filled first.
2537
+ """
2538
+ continueURL: String
2539
+ createdAt: Date
2540
+ currentStepInfo: JSON
2541
+
2542
+ """When a the data in any child `Submission` was last updated."""
2543
+ dataUpdatedAt: Date
2544
+
2545
+ """The title displayed in the UI."""
2546
+ displayTitle: String
2547
+
2548
+ """
2549
+ A `DocumentGroup` contains the documents after they have been filled and sent out for signature. The `DocumentGroup` will only exist here when that documents have been sent out for signature, or in the case of a workflow with no signers, when the workflow is completely finished. See the `DocumentGroup`'s `status` for lifecycle information.
2550
+ """
2551
+ documentGroup: DocumentGroup
2552
+
2553
+ """The `eid` is the object identifier."""
2554
+ eid: String
2555
+ embeddedAt: Date
2556
+
2557
+ """
2558
+ An array of actions during the signing process when using Anvil's Etch as the signature provider. These objects detail actions when files are signed, downloaded, etc.
2559
+ """
2560
+ etchLogEvents: [EtchLog]
2561
+
2562
+ """A file listing of all files excluded from the signing process."""
2563
+ excludedFiles: [JSON]
2564
+ expiresAt: Date
2565
+
2566
+ """
2567
+ A file listing of all files available in the `WeldData`. If there is a `DocumentGroup`, this will be equal to `DocumentGroup.files`.
2568
+ """
2569
+ files: [JSON]
2570
+ forgesRequiringCompletion: [Forge]
2571
+ hasPin: Boolean
2572
+ hasSigners: Boolean
2573
+
2574
+ """
2575
+ `true` when status is `completed`: All forms have been filled, all signers have signed.
2576
+ """
2577
+ isAllComplete: Boolean
2578
+
2579
+ """
2580
+ `true` when all forms in the workflow have been filled. There may be signers who need to sign.
2581
+ """
2582
+ isComplete: Boolean
2583
+
2584
+ """
2585
+ This `WeldData` has expired, either by passing the `expiredAt` date, or by being locked.
2586
+ """
2587
+ isExpired: Boolean
2588
+
2589
+ """
2590
+ `true` when it is a test workflow submission. You will not be charged for signatures on test submissions, and they will not count toward your monthly completed workflows.
2591
+ """
2592
+ isTest: Boolean
2593
+ nextSigner: Signer
2594
+ nextSigners: [Signer]
2595
+ numberRemainingSigners: Int
2596
+ payloadCanBeUpdated: Boolean
2597
+ pin: String
2598
+
2599
+ """
2600
+ Possible values: `created`, `in-progress`, `ready-to-sign`, `awaiting-signatures`, `completed`, `declined`
2601
+ """
2602
+ status: String
2603
+ stylesheetURL: String
2604
+
2605
+ """
2606
+ An array of all the underlying `Submission` objects holding data from each webform.
2607
+ """
2608
+ submissions: [Submission]
2609
+
2610
+ """When a column on the WeldData itself was updated."""
2611
+ updatedAt: Date
2612
+
2613
+ """
2614
+ An array of files uploaded by users during the webform filling process.
2615
+ """
2616
+ userUploads: [UserUpload]
2617
+
2618
+ """
2619
+ An array of webhook notification calls to your server related to this `WeldData`. Get the status codes, response times, and retry information from each `WebhookLog`.
2620
+ """
2621
+ webhookLogs: [WebhookLog]
2622
+
2623
+ """
2624
+ The specific webhook notification URL for this `WeldData`. We will POST to this URL when users take various actions.
2625
+ """
2626
+ webhookURL: String
2627
+
2628
+ """The workflow this `WeldData` is related to."""
2629
+ weld: Weld
2630
+ weldDataGroup: WeldDataGroup
2631
+
2632
+ """An array of actions taken during the form filling process."""
2633
+ weldDataLogEvents: [WeldDataLog]
2634
+ weldVersionId: Int
2635
+ }
2636
+
2637
+ type WeldDataGroup {
2638
+ archivedAt: Date
2639
+ createdAt: Date
2640
+ dataUpdatedAt: Date
2641
+
2642
+ """The `eid` is the object identifier."""
2643
+ eid: String
2644
+ id: Int!
2645
+ isTest: Boolean
2646
+ title: String
2647
+ updatedAt: Date
2648
+ weldDatas(isArchived: Boolean = false): [WeldData]
2649
+ weldGroup: WeldGroup
2650
+ }
2651
+
2652
+ type WeldDataGroupPage {
2653
+ """The actual records for the requested page"""
2654
+ items: [WeldDataGroup]
2655
+
2656
+ """The requested page number"""
2657
+ page: Int
2658
+
2659
+ """Total number of pages of results"""
2660
+ pageCount: Int
2661
+
2662
+ """The requested number of rows per page"""
2663
+ pageSize: Int
2664
+
2665
+ """
2666
+ Total number of rows found for the query before pagination. Capped when the query was given a `countLimit`.
2667
+ """
2668
+ rowCount: Int
2669
+
2670
+ """
2671
+ False when `rowCount` stopped at the requested `countLimit`, meaning there are at least that many rows. True whenever the count ran to completion.
2672
+ """
2673
+ rowCountIsExact: Boolean
2674
+ }
2675
+
2676
+ """
2677
+ Represents a single action taken by a user while filling a webform within a Workflow. For
2678
+ example, a `WeldDataLog` object will be created when a user completes a webform, downloads
2679
+ a file, voids the packet associated packet, etc.
2680
+
2681
+ All actions with a short description:
2682
+
2683
+ ```md
2684
+ accessed: Viewed
2685
+ archived: Archived
2686
+ completed: Completed Form
2687
+ created: Created
2688
+ download-csv-all: Downloaded
2689
+ download-csv-individual-file: Downloaded
2690
+ download-file-individual: Downloaded File
2691
+ download-files-zip: Downloaded Zip
2692
+ emailed-completed: Emailed
2693
+ emailed: Emailed
2694
+ locked: Locked
2695
+ pin-code-changed: Changed PIN
2696
+ pin-code-failed: Access Failed
2697
+ pin-code-set: Set PIN
2698
+ pin-code-unset: Unset PIN
2699
+ pin-code-verified: Access Verified
2700
+ saved-form: Saved form
2701
+ signed: Signed
2702
+ unarchived: Unarchived
2703
+ unlocked: Unlocked
2704
+ upload-file-accessed: Accessed file
2705
+ upload-file: Uploaded
2706
+ voided: Voided
2707
+ ```
2708
+ """
2709
+ type WeldDataLog {
2710
+ """The action taken."""
2711
+ action: String
2712
+ createdAt: Date
2713
+
2714
+ """The `eid` is the object identifier."""
2715
+ eid: String
2716
+
2717
+ """Location of the user taking the action."""
2718
+ formattedLocation: String
2719
+ id: Int!
2720
+
2721
+ """Any action-specific information."""
2722
+ metadata: JSON
2723
+ submission: Submission
2724
+
2725
+ """The Anvil `User` who took this action, if applicable."""
2726
+ user: User
2727
+ weldData: WeldData
2728
+ }
2729
+
2730
+ type WeldDataPage {
2731
+ """The actual records for the requested page"""
2732
+ items: [WeldData]
2733
+
2734
+ """The requested page number"""
2735
+ page: Int
2736
+
2737
+ """Total number of pages of results"""
2738
+ pageCount: Int
2739
+
2740
+ """The requested number of rows per page"""
2741
+ pageSize: Int
2742
+
2743
+ """
2744
+ Total number of rows found for the query before pagination. Capped when the query was given a `countLimit`.
2745
+ """
2746
+ rowCount: Int
2747
+
2748
+ """
2749
+ False when `rowCount` stopped at the requested `countLimit`, meaning there are at least that many rows. True whenever the count ran to completion.
2750
+ """
2751
+ rowCountIsExact: Boolean
2752
+ }
2753
+
2754
+ """
2755
+ An object used by `createWeld` to specify a file. See the
2756
+ [GraphQL reference](/docs/api/graphql/reference/#operation-createweld-Mutations) for more info.
2757
+ """
2758
+ input WeldFile {
2759
+ castEid: String
2760
+ file: Upload
2761
+
2762
+ """An id string set when creating the `Weld`."""
2763
+ id: String!
2764
+ mimetype: String
2765
+ name: String
2766
+ src: String
2767
+ stamp: Float
2768
+ title: String
2769
+ }
2770
+
2771
+ type WeldGroup {
2772
+ createdAt: Date
2773
+
2774
+ """The `eid` is the object identifier."""
2775
+ eid: String
2776
+ hasWeldDataGroups: Boolean
2777
+ id: Int!
2778
+ name: String
2779
+ organization: Organization
2780
+ slug: String
2781
+ updatedAt: Date
2782
+ weldDataGroups(
2783
+ ignoreTest: Boolean = true
2784
+ isArchived: Boolean = false
2785
+ isTest: Boolean = false
2786
+
2787
+ """The requested number of rows per page (max: 500)"""
2788
+ limit: Int = 10
2789
+
2790
+ """The requested page number"""
2791
+ offset: Int = 1
2792
+ weldSlugFilter: [String]
2793
+ ): WeldDataGroupPage
2794
+ welds(isArchived: Boolean = false): [Weld]
2795
+ }
2796
+
2797
+ type WeldPage {
2798
+ """The actual records for the requested page"""
2799
+ items: [Weld]
2800
+
2801
+ """The requested page number"""
2802
+ page: Int
2803
+
2804
+ """Total number of pages of results"""
2805
+ pageCount: Int
2806
+
2807
+ """The requested number of rows per page"""
2808
+ pageSize: Int
2809
+
2810
+ """
2811
+ Total number of rows found for the query before pagination. Capped when the query was given a `countLimit`.
2812
+ """
2813
+ rowCount: Int
2814
+
2815
+ """
2816
+ False when `rowCount` stopped at the requested `countLimit`, meaning there are at least that many rows. True whenever the count ran to completion.
2817
+ """
2818
+ rowCountIsExact: Boolean
2819
+ }
2820
+
2821
+ type WeldVersion {
2822
+ config: JSON
2823
+ createdAt: Date
2824
+
2825
+ """The `eid` is the object identifier."""
2826
+ eid: String!
2827
+ id: Int!
2828
+ name: String
2829
+ number: Int
2830
+ publishUpdatedAt: Date
2831
+ publishedAt: Date
2832
+ publishedDescription: String
2833
+ publishedNumber: Int
2834
+ publishedTitle: String
2835
+ publishingUser: User
2836
+ slug: String
2837
+ updatedAt: Date
2838
+ updatedColumns: [String]
2839
+ user: User
2840
+ }
2841
+
2842
+ type WeldVersionPage {
2843
+ """The actual records for the requested page"""
2844
+ items: [WeldVersion]
2845
+
2846
+ """The requested page number"""
2847
+ page: Int
2848
+
2849
+ """Total number of pages of results"""
2850
+ pageCount: Int
2851
+
2852
+ """The requested number of rows per page"""
2853
+ pageSize: Int
2854
+
2855
+ """
2856
+ Total number of rows found for the query before pagination. Capped when the query was given a `countLimit`.
2857
+ """
2858
+ rowCount: Int
2859
+
2860
+ """
2861
+ False when `rowCount` stopped at the requested `countLimit`, meaning there are at least that many rows. True whenever the count ran to completion.
2862
+ """
2863
+ rowCountIsExact: Boolean
2864
+ }