• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Adyen / adyen-java-api-library / #2661

22 Sep 2023 11:24AM UTC coverage: 12.611%. First build
#2661

push

web-flow
Merge 251f6ff51 into 9e36e9c01

9262 of 9262 new or added lines in 142 files covered. (100.0%)

11033 of 87486 relevant lines covered (12.61%)

0.13 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/main/java/com/adyen/model/marketpayaccount/CreateAccountResponse.java
1
/*
2
 * Account API
3
 * This API is used for the classic integration. If you are just starting your implementation, refer to our [new integration guide](https://docs.adyen.com/marketplaces-and-platforms) instead.  The Account API provides endpoints for managing account-related entities on your platform. These related entities include account holders, accounts, bank accounts, shareholders, and verification-related documents. The management operations include actions such as creation, retrieval, updating, and deletion of them.  For more information, refer to our [documentation](https://docs.adyen.com/marketplaces-and-platforms/classic). ## Authentication Your Adyen contact will provide your API credential and an API key. To connect to the API, add an `X-API-Key` header with the API key as the value, for example:   ``` curl -H \"Content-Type: application/json\" \\ -H \"X-API-Key: YOUR_API_KEY\" \\ ... ```  Alternatively, you can use the username and password to connect to the API using basic authentication. For example:  ``` curl -U \"ws@MarketPlace.YOUR_PLATFORM_ACCOUNT\":\"YOUR_WS_PASSWORD\" \\ -H \"Content-Type: application/json\" \\ ... ``` When going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).  ## Versioning The Account API supports [versioning](https://docs.adyen.com/development-resources/versioning) using a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.  For example: ``` https://cal-test.adyen.com/cal/services/Account/v6/createAccountHolder ```
4
 *
5
 * The version of the OpenAPI document: 6
6
 * 
7
 *
8
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
 * https://openapi-generator.tech
10
 * Do not edit the class manually.
11
 */
12

13

14
package com.adyen.model.marketpayaccount;
15

16
import java.util.Objects;
17
import java.util.Arrays;
18
import java.util.Map;
19
import java.util.HashMap;
20
import com.adyen.model.marketpayaccount.ErrorFieldType;
21
import com.adyen.model.marketpayaccount.PayoutScheduleResponse;
22
import com.fasterxml.jackson.annotation.JsonInclude;
23
import com.fasterxml.jackson.annotation.JsonProperty;
24
import com.fasterxml.jackson.annotation.JsonCreator;
25
import com.fasterxml.jackson.annotation.JsonTypeName;
26
import com.fasterxml.jackson.annotation.JsonValue;
27
import io.swagger.annotations.ApiModel;
28
import io.swagger.annotations.ApiModelProperty;
29
import java.util.ArrayList;
30
import java.util.HashMap;
31
import java.util.List;
32
import java.util.Map;
33
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
34
import com.fasterxml.jackson.core.JsonProcessingException;
35

36

37
/**
38
 * CreateAccountResponse
39
 */
40
@JsonPropertyOrder({
41
  CreateAccountResponse.JSON_PROPERTY_ACCOUNT_CODE,
42
  CreateAccountResponse.JSON_PROPERTY_ACCOUNT_HOLDER_CODE,
43
  CreateAccountResponse.JSON_PROPERTY_BANK_ACCOUNT_U_U_I_D,
44
  CreateAccountResponse.JSON_PROPERTY_DESCRIPTION,
45
  CreateAccountResponse.JSON_PROPERTY_INVALID_FIELDS,
46
  CreateAccountResponse.JSON_PROPERTY_METADATA,
47
  CreateAccountResponse.JSON_PROPERTY_PAYOUT_METHOD_CODE,
48
  CreateAccountResponse.JSON_PROPERTY_PAYOUT_SCHEDULE,
49
  CreateAccountResponse.JSON_PROPERTY_PAYOUT_SPEED,
50
  CreateAccountResponse.JSON_PROPERTY_PSP_REFERENCE,
51
  CreateAccountResponse.JSON_PROPERTY_RESULT_CODE,
52
  CreateAccountResponse.JSON_PROPERTY_STATUS
53
})
54

55
public class CreateAccountResponse {
56
  public static final String JSON_PROPERTY_ACCOUNT_CODE = "accountCode";
57
  private String accountCode;
58

59
  public static final String JSON_PROPERTY_ACCOUNT_HOLDER_CODE = "accountHolderCode";
60
  private String accountHolderCode;
61

62
  public static final String JSON_PROPERTY_BANK_ACCOUNT_U_U_I_D = "bankAccountUUID";
63
  private String bankAccountUUID;
64

65
  public static final String JSON_PROPERTY_DESCRIPTION = "description";
66
  private String description;
67

68
  public static final String JSON_PROPERTY_INVALID_FIELDS = "invalidFields";
69
  private List<ErrorFieldType> invalidFields = null;
×
70

71
  public static final String JSON_PROPERTY_METADATA = "metadata";
72
  private Map<String, String> metadata = null;
×
73

74
  public static final String JSON_PROPERTY_PAYOUT_METHOD_CODE = "payoutMethodCode";
75
  private String payoutMethodCode;
76

77
  public static final String JSON_PROPERTY_PAYOUT_SCHEDULE = "payoutSchedule";
78
  private PayoutScheduleResponse payoutSchedule;
79

80
  /**
81
   * Speed with which payouts for this account are processed. Permitted values: &#x60;STANDARD&#x60;, &#x60;SAME_DAY&#x60;.
82
   */
83
  public enum PayoutSpeedEnum {
×
84
    INSTANT("INSTANT"),
×
85
    
86
    SAME_DAY("SAME_DAY"),
×
87
    
88
    STANDARD("STANDARD");
×
89

90
    private String value;
91

92
    PayoutSpeedEnum(String value) {
×
93
      this.value = value;
×
94
    }
×
95

96
    @JsonValue
97
    public String getValue() {
98
      return value;
×
99
    }
100

101
    @Override
102
    public String toString() {
103
      return String.valueOf(value);
×
104
    }
105

106
    @JsonCreator
107
    public static PayoutSpeedEnum fromValue(String value) {
108
      for (PayoutSpeedEnum b : PayoutSpeedEnum.values()) {
×
109
        if (b.value.equals(value)) {
×
110
          return b;
×
111
        }
112
      }
113
      throw new IllegalArgumentException("Unexpected value '" + value + "'");
×
114
    }
115
  }
116

117
  public static final String JSON_PROPERTY_PAYOUT_SPEED = "payoutSpeed";
118
  private PayoutSpeedEnum payoutSpeed;
119

120
  public static final String JSON_PROPERTY_PSP_REFERENCE = "pspReference";
121
  private String pspReference;
122

123
  public static final String JSON_PROPERTY_RESULT_CODE = "resultCode";
124
  private String resultCode;
125

126
  /**
127
   * The status of the account. &gt;Permitted values: &#x60;Active&#x60;.
128
   */
129
  public enum StatusEnum {
×
130
    ACTIVE("Active"),
×
131
    
132
    CLOSED("Closed"),
×
133
    
134
    INACTIVE("Inactive"),
×
135
    
136
    SUSPENDED("Suspended");
×
137

138
    private String value;
139

140
    StatusEnum(String value) {
×
141
      this.value = value;
×
142
    }
×
143

144
    @JsonValue
145
    public String getValue() {
146
      return value;
×
147
    }
148

149
    @Override
150
    public String toString() {
151
      return String.valueOf(value);
×
152
    }
153

154
    @JsonCreator
155
    public static StatusEnum fromValue(String value) {
156
      for (StatusEnum b : StatusEnum.values()) {
×
157
        if (b.value.equals(value)) {
×
158
          return b;
×
159
        }
160
      }
161
      throw new IllegalArgumentException("Unexpected value '" + value + "'");
×
162
    }
163
  }
164

165
  public static final String JSON_PROPERTY_STATUS = "status";
166
  private StatusEnum status;
167

168
  public CreateAccountResponse() { 
×
169
  }
×
170

171
  public CreateAccountResponse accountCode(String accountCode) {
172
    this.accountCode = accountCode;
×
173
    return this;
×
174
  }
175

176
   /**
177
   * The code of the new account.
178
   * @return accountCode
179
  **/
180
  @ApiModelProperty(value = "The code of the new account.")
181
  @JsonProperty(JSON_PROPERTY_ACCOUNT_CODE)
182
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
183

184
  public String getAccountCode() {
185
    return accountCode;
×
186
  }
187

188

189
  @JsonProperty(JSON_PROPERTY_ACCOUNT_CODE)
190
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
191
  public void setAccountCode(String accountCode) {
192
    this.accountCode = accountCode;
×
193
  }
×
194

195

196
  public CreateAccountResponse accountHolderCode(String accountHolderCode) {
197
    this.accountHolderCode = accountHolderCode;
×
198
    return this;
×
199
  }
200

201
   /**
202
   * The code of the account holder.
203
   * @return accountHolderCode
204
  **/
205
  @ApiModelProperty(value = "The code of the account holder.")
206
  @JsonProperty(JSON_PROPERTY_ACCOUNT_HOLDER_CODE)
207
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
208

209
  public String getAccountHolderCode() {
210
    return accountHolderCode;
×
211
  }
212

213

214
  @JsonProperty(JSON_PROPERTY_ACCOUNT_HOLDER_CODE)
215
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
216
  public void setAccountHolderCode(String accountHolderCode) {
217
    this.accountHolderCode = accountHolderCode;
×
218
  }
×
219

220

221
  public CreateAccountResponse bankAccountUUID(String bankAccountUUID) {
222
    this.bankAccountUUID = bankAccountUUID;
×
223
    return this;
×
224
  }
225

226
   /**
227
   * The bankAccountUUID of the bank account held by the account holder to couple the account with. Scheduled payouts in currencies matching the currency of this bank account will be sent to this bank account. Payouts in different currencies will be sent to a matching bank account of the account holder.
228
   * @return bankAccountUUID
229
  **/
230
  @ApiModelProperty(value = "The bankAccountUUID of the bank account held by the account holder to couple the account with. Scheduled payouts in currencies matching the currency of this bank account will be sent to this bank account. Payouts in different currencies will be sent to a matching bank account of the account holder.")
231
  @JsonProperty(JSON_PROPERTY_BANK_ACCOUNT_U_U_I_D)
232
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
233

234
  public String getBankAccountUUID() {
235
    return bankAccountUUID;
×
236
  }
237

238

239
  @JsonProperty(JSON_PROPERTY_BANK_ACCOUNT_U_U_I_D)
240
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
241
  public void setBankAccountUUID(String bankAccountUUID) {
242
    this.bankAccountUUID = bankAccountUUID;
×
243
  }
×
244

245

246
  public CreateAccountResponse description(String description) {
247
    this.description = description;
×
248
    return this;
×
249
  }
250

251
   /**
252
   * The description of the account.
253
   * @return description
254
  **/
255
  @ApiModelProperty(value = "The description of the account.")
256
  @JsonProperty(JSON_PROPERTY_DESCRIPTION)
257
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
258

259
  public String getDescription() {
260
    return description;
×
261
  }
262

263

264
  @JsonProperty(JSON_PROPERTY_DESCRIPTION)
265
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
266
  public void setDescription(String description) {
267
    this.description = description;
×
268
  }
×
269

270

271
  public CreateAccountResponse invalidFields(List<ErrorFieldType> invalidFields) {
272
    this.invalidFields = invalidFields;
×
273
    return this;
×
274
  }
275

276
  public CreateAccountResponse addInvalidFieldsItem(ErrorFieldType invalidFieldsItem) {
277
    if (this.invalidFields == null) {
×
278
      this.invalidFields = new ArrayList<>();
×
279
    }
280
    this.invalidFields.add(invalidFieldsItem);
×
281
    return this;
×
282
  }
283

284
   /**
285
   * A list of fields that caused the &#x60;/createAccount&#x60; request to fail.
286
   * @return invalidFields
287
  **/
288
  @ApiModelProperty(value = "A list of fields that caused the `/createAccount` request to fail.")
289
  @JsonProperty(JSON_PROPERTY_INVALID_FIELDS)
290
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
291

292
  public List<ErrorFieldType> getInvalidFields() {
293
    return invalidFields;
×
294
  }
295

296

297
  @JsonProperty(JSON_PROPERTY_INVALID_FIELDS)
298
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
299
  public void setInvalidFields(List<ErrorFieldType> invalidFields) {
300
    this.invalidFields = invalidFields;
×
301
  }
×
302

303

304
  public CreateAccountResponse metadata(Map<String, String> metadata) {
305
    this.metadata = metadata;
×
306
    return this;
×
307
  }
308

309
  public CreateAccountResponse putMetadataItem(String key, String metadataItem) {
310
    if (this.metadata == null) {
×
311
      this.metadata = new HashMap<>();
×
312
    }
313
    this.metadata.put(key, metadataItem);
×
314
    return this;
×
315
  }
316

317
   /**
318
   * A set of key and value pairs containing metadata.
319
   * @return metadata
320
  **/
321
  @ApiModelProperty(value = "A set of key and value pairs containing metadata.")
322
  @JsonProperty(JSON_PROPERTY_METADATA)
323
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
324

325
  public Map<String, String> getMetadata() {
326
    return metadata;
×
327
  }
328

329

330
  @JsonProperty(JSON_PROPERTY_METADATA)
331
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
332
  public void setMetadata(Map<String, String> metadata) {
333
    this.metadata = metadata;
×
334
  }
×
335

336

337
  public CreateAccountResponse payoutMethodCode(String payoutMethodCode) {
338
    this.payoutMethodCode = payoutMethodCode;
×
339
    return this;
×
340
  }
341

342
   /**
343
   * The payout method code held by the account holder to couple the account with. Scheduled card payouts will be sent using this payout method code.
344
   * @return payoutMethodCode
345
  **/
346
  @ApiModelProperty(value = "The payout method code held by the account holder to couple the account with. Scheduled card payouts will be sent using this payout method code.")
347
  @JsonProperty(JSON_PROPERTY_PAYOUT_METHOD_CODE)
348
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
349

350
  public String getPayoutMethodCode() {
351
    return payoutMethodCode;
×
352
  }
353

354

355
  @JsonProperty(JSON_PROPERTY_PAYOUT_METHOD_CODE)
356
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
357
  public void setPayoutMethodCode(String payoutMethodCode) {
358
    this.payoutMethodCode = payoutMethodCode;
×
359
  }
×
360

361

362
  public CreateAccountResponse payoutSchedule(PayoutScheduleResponse payoutSchedule) {
363
    this.payoutSchedule = payoutSchedule;
×
364
    return this;
×
365
  }
366

367
   /**
368
   * Get payoutSchedule
369
   * @return payoutSchedule
370
  **/
371
  @ApiModelProperty(value = "")
372
  @JsonProperty(JSON_PROPERTY_PAYOUT_SCHEDULE)
373
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
374

375
  public PayoutScheduleResponse getPayoutSchedule() {
376
    return payoutSchedule;
×
377
  }
378

379

380
  @JsonProperty(JSON_PROPERTY_PAYOUT_SCHEDULE)
381
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
382
  public void setPayoutSchedule(PayoutScheduleResponse payoutSchedule) {
383
    this.payoutSchedule = payoutSchedule;
×
384
  }
×
385

386

387
  public CreateAccountResponse payoutSpeed(PayoutSpeedEnum payoutSpeed) {
388
    this.payoutSpeed = payoutSpeed;
×
389
    return this;
×
390
  }
391

392
   /**
393
   * Speed with which payouts for this account are processed. Permitted values: &#x60;STANDARD&#x60;, &#x60;SAME_DAY&#x60;.
394
   * @return payoutSpeed
395
  **/
396
  @ApiModelProperty(value = "Speed with which payouts for this account are processed. Permitted values: `STANDARD`, `SAME_DAY`.")
397
  @JsonProperty(JSON_PROPERTY_PAYOUT_SPEED)
398
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
399

400
  public PayoutSpeedEnum getPayoutSpeed() {
401
    return payoutSpeed;
×
402
  }
403

404

405
  @JsonProperty(JSON_PROPERTY_PAYOUT_SPEED)
406
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
407
  public void setPayoutSpeed(PayoutSpeedEnum payoutSpeed) {
408
    this.payoutSpeed = payoutSpeed;
×
409
  }
×
410

411

412
  public CreateAccountResponse pspReference(String pspReference) {
413
    this.pspReference = pspReference;
×
414
    return this;
×
415
  }
416

417
   /**
418
   * The reference of a request. Can be used to uniquely identify the request.
419
   * @return pspReference
420
  **/
421
  @ApiModelProperty(value = "The reference of a request. Can be used to uniquely identify the request.")
422
  @JsonProperty(JSON_PROPERTY_PSP_REFERENCE)
423
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
424

425
  public String getPspReference() {
426
    return pspReference;
×
427
  }
428

429

430
  @JsonProperty(JSON_PROPERTY_PSP_REFERENCE)
431
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
432
  public void setPspReference(String pspReference) {
433
    this.pspReference = pspReference;
×
434
  }
×
435

436

437
  public CreateAccountResponse resultCode(String resultCode) {
438
    this.resultCode = resultCode;
×
439
    return this;
×
440
  }
441

442
   /**
443
   * The result code.
444
   * @return resultCode
445
  **/
446
  @ApiModelProperty(value = "The result code.")
447
  @JsonProperty(JSON_PROPERTY_RESULT_CODE)
448
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
449

450
  public String getResultCode() {
451
    return resultCode;
×
452
  }
453

454

455
  @JsonProperty(JSON_PROPERTY_RESULT_CODE)
456
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
457
  public void setResultCode(String resultCode) {
458
    this.resultCode = resultCode;
×
459
  }
×
460

461

462
  public CreateAccountResponse status(StatusEnum status) {
463
    this.status = status;
×
464
    return this;
×
465
  }
466

467
   /**
468
   * The status of the account. &gt;Permitted values: &#x60;Active&#x60;.
469
   * @return status
470
  **/
471
  @ApiModelProperty(value = "The status of the account. >Permitted values: `Active`.")
472
  @JsonProperty(JSON_PROPERTY_STATUS)
473
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
474

475
  public StatusEnum getStatus() {
476
    return status;
×
477
  }
478

479

480
  @JsonProperty(JSON_PROPERTY_STATUS)
481
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
482
  public void setStatus(StatusEnum status) {
483
    this.status = status;
×
484
  }
×
485

486

487
  /**
488
   * Return true if this CreateAccountResponse object is equal to o.
489
   */
490
  @Override
491
  public boolean equals(Object o) {
492
    if (this == o) {
×
493
      return true;
×
494
    }
495
    if (o == null || getClass() != o.getClass()) {
×
496
      return false;
×
497
    }
498
    CreateAccountResponse createAccountResponse = (CreateAccountResponse) o;
×
499
    return Objects.equals(this.accountCode, createAccountResponse.accountCode) &&
×
500
        Objects.equals(this.accountHolderCode, createAccountResponse.accountHolderCode) &&
×
501
        Objects.equals(this.bankAccountUUID, createAccountResponse.bankAccountUUID) &&
×
502
        Objects.equals(this.description, createAccountResponse.description) &&
×
503
        Objects.equals(this.invalidFields, createAccountResponse.invalidFields) &&
×
504
        Objects.equals(this.metadata, createAccountResponse.metadata) &&
×
505
        Objects.equals(this.payoutMethodCode, createAccountResponse.payoutMethodCode) &&
×
506
        Objects.equals(this.payoutSchedule, createAccountResponse.payoutSchedule) &&
×
507
        Objects.equals(this.payoutSpeed, createAccountResponse.payoutSpeed) &&
×
508
        Objects.equals(this.pspReference, createAccountResponse.pspReference) &&
×
509
        Objects.equals(this.resultCode, createAccountResponse.resultCode) &&
×
510
        Objects.equals(this.status, createAccountResponse.status);
×
511
  }
512

513
  @Override
514
  public int hashCode() {
515
    return Objects.hash(accountCode, accountHolderCode, bankAccountUUID, description, invalidFields, metadata, payoutMethodCode, payoutSchedule, payoutSpeed, pspReference, resultCode, status);
×
516
  }
517

518
  @Override
519
  public String toString() {
520
    StringBuilder sb = new StringBuilder();
×
521
    sb.append("class CreateAccountResponse {\n");
×
522
    sb.append("    accountCode: ").append(toIndentedString(accountCode)).append("\n");
×
523
    sb.append("    accountHolderCode: ").append(toIndentedString(accountHolderCode)).append("\n");
×
524
    sb.append("    bankAccountUUID: ").append(toIndentedString(bankAccountUUID)).append("\n");
×
525
    sb.append("    description: ").append(toIndentedString(description)).append("\n");
×
526
    sb.append("    invalidFields: ").append(toIndentedString(invalidFields)).append("\n");
×
527
    sb.append("    metadata: ").append(toIndentedString(metadata)).append("\n");
×
528
    sb.append("    payoutMethodCode: ").append(toIndentedString(payoutMethodCode)).append("\n");
×
529
    sb.append("    payoutSchedule: ").append(toIndentedString(payoutSchedule)).append("\n");
×
530
    sb.append("    payoutSpeed: ").append(toIndentedString(payoutSpeed)).append("\n");
×
531
    sb.append("    pspReference: ").append(toIndentedString(pspReference)).append("\n");
×
532
    sb.append("    resultCode: ").append(toIndentedString(resultCode)).append("\n");
×
533
    sb.append("    status: ").append(toIndentedString(status)).append("\n");
×
534
    sb.append("}");
×
535
    return sb.toString();
×
536
  }
537

538
  /**
539
   * Convert the given object to string with each line indented by 4 spaces
540
   * (except the first line).
541
   */
542
  private String toIndentedString(Object o) {
543
    if (o == null) {
×
544
      return "null";
×
545
    }
546
    return o.toString().replace("\n", "\n    ");
×
547
  }
548

549
/**
550
   * Create an instance of CreateAccountResponse given an JSON string
551
   *
552
   * @param jsonString JSON string
553
   * @return An instance of CreateAccountResponse
554
   * @throws JsonProcessingException if the JSON string is invalid with respect to CreateAccountResponse
555
   */
556
  public static CreateAccountResponse fromJson(String jsonString) throws JsonProcessingException {
557
    return JSON.getMapper().readValue(jsonString, CreateAccountResponse.class);
×
558
  }
559
/**
560
  * Convert an instance of CreateAccountResponse to an JSON string
561
  *
562
  * @return JSON string
563
  */
564
  public String toJson() throws JsonProcessingException {
565
    return JSON.getMapper().writeValueAsString(this);
×
566
  }
567
}
568

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc