diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index 47775e91..f118d043 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "0.127.0"
+ ".": "0.128.0"
}
\ No newline at end of file
diff --git a/.stats.yml b/.stats.yml
index 29c3961c..3a379657 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 195
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-efe780032e44b3cf0f6914407e43bce6aa7176fa50aa6ec018f93c1f28af8490.yml
-openapi_spec_hash: fcb4ca53ca59978f23f21d7c74fcc0b0
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-c1cfc621309e4d49899f9b055c399d7ad3eb24c05bad299322c1e03804d3d130.yml
+openapi_spec_hash: 799d9da903ff2e4d51fe3f1566d17c92
config_hash: a0a579b0564a5c18568a78f5ba2b6653
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0adfca64..40fed9ad 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,18 @@
# Changelog
+## 0.128.0 (2026-05-28)
+
+Full Changelog: [v0.127.0...v0.128.0](https://github.com/lithic-com/lithic-java/compare/v0.127.0...v0.128.0)
+
+### Features
+
+* **api:** Add created field and make completed_at nullable in latest_challenge ([14f5f3b](https://github.com/lithic-com/lithic-java/commit/14f5f3bb2e2ad05201f3b5553d1d96c82419554d))
+
+
+### Documentation
+
+* **api:** update support contact from email to URL in account and card ([0df9db9](https://github.com/lithic-com/lithic-java/commit/0df9db999c78ee16730eedd995b96496e96576b9))
+
## 0.127.0 (2026-05-26)
Full Changelog: [v0.126.0...v0.127.0](https://github.com/lithic-com/lithic-java/compare/v0.126.0...v0.127.0)
diff --git a/README.md b/README.md
index e4c826c5..9323dd11 100644
--- a/README.md
+++ b/README.md
@@ -2,8 +2,8 @@
-[](https://central.sonatype.com/artifact/com.lithic.api/lithic-java/0.127.0)
-[](https://javadoc.io/doc/com.lithic.api/lithic-java/0.127.0)
+[](https://central.sonatype.com/artifact/com.lithic.api/lithic-java/0.128.0)
+[](https://javadoc.io/doc/com.lithic.api/lithic-java/0.128.0)
@@ -22,7 +22,7 @@ Use the Lithic MCP Server to enable AI assistants to interact with this API, all
-The REST API documentation can be found on [docs.lithic.com](https://docs.lithic.com). Javadocs are available on [javadoc.io](https://javadoc.io/doc/com.lithic.api/lithic-java/0.127.0).
+The REST API documentation can be found on [docs.lithic.com](https://docs.lithic.com). Javadocs are available on [javadoc.io](https://javadoc.io/doc/com.lithic.api/lithic-java/0.128.0).
@@ -33,7 +33,7 @@ The REST API documentation can be found on [docs.lithic.com](https://docs.lithic
### Gradle
```kotlin
-implementation("com.lithic.api:lithic-java:0.127.0")
+implementation("com.lithic.api:lithic-java:0.128.0")
```
### Maven
@@ -42,7 +42,7 @@ implementation("com.lithic.api:lithic-java:0.127.0")
com.lithic.api
lithic-java
- 0.127.0
+ 0.128.0
```
diff --git a/build.gradle.kts b/build.gradle.kts
index 86353f33..1d421d9f 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -8,7 +8,7 @@ repositories {
allprojects {
group = "com.lithic.api"
- version = "0.127.0" // x-release-please-version
+ version = "0.128.0" // x-release-please-version
}
subprojects {
diff --git a/lithic-java-core/src/main/kotlin/com/lithic/api/models/Account.kt b/lithic-java-core/src/main/kotlin/com/lithic/api/models/Account.kt
index a34b3df3..18cfcf62 100644
--- a/lithic-java-core/src/main/kotlin/com/lithic/api/models/Account.kt
+++ b/lithic-java-core/src/main/kotlin/com/lithic/api/models/Account.kt
@@ -113,8 +113,8 @@ private constructor(
* * `CLOSED` - Account will not be able to transact or create new cards. `CLOSED` accounts are
* unable to be transitioned to `ACTIVE` or `PAUSED` states. Accounts can be manually set to
* `CLOSED`, or this can be done by Lithic due to failure to pass KYB/KYC or for
- * risk/compliance reasons. Please contact [support@lithic.com](mailto:support@lithic.com) if
- * you believe this was done by mistake.
+ * risk/compliance reasons. Please contact [support.lithic.com](https://support.lithic.com/)
+ * if you believe this was done by mistake.
*
* @throws LithicInvalidDataException if the JSON field has an unexpected type or is
* unexpectedly missing or null (e.g. if the server responded with an unexpected value).
@@ -391,8 +391,9 @@ private constructor(
* * `CLOSED` - Account will not be able to transact or create new cards. `CLOSED` accounts
* are unable to be transitioned to `ACTIVE` or `PAUSED` states. Accounts can be manually
* set to `CLOSED`, or this can be done by Lithic due to failure to pass KYB/KYC or for
- * risk/compliance reasons. Please contact [support@lithic.com](mailto:support@lithic.com)
- * if you believe this was done by mistake.
+ * risk/compliance reasons. Please contact
+ * [support.lithic.com](https://support.lithic.com/) if you believe this was done by
+ * mistake.
*/
fun state(state: State) = state(JsonField.of(state))
@@ -898,8 +899,8 @@ private constructor(
* * `CLOSED` - Account will not be able to transact or create new cards. `CLOSED` accounts are
* unable to be transitioned to `ACTIVE` or `PAUSED` states. Accounts can be manually set to
* `CLOSED`, or this can be done by Lithic due to failure to pass KYB/KYC or for
- * risk/compliance reasons. Please contact [support@lithic.com](mailto:support@lithic.com) if
- * you believe this was done by mistake.
+ * risk/compliance reasons. Please contact [support.lithic.com](https://support.lithic.com/)
+ * if you believe this was done by mistake.
*/
class State @JsonCreator private constructor(private val value: JsonField) : Enum {
diff --git a/lithic-java-core/src/main/kotlin/com/lithic/api/models/Card.kt b/lithic-java-core/src/main/kotlin/com/lithic/api/models/Card.kt
index 7b619e65..3a5dc571 100644
--- a/lithic-java-core/src/main/kotlin/com/lithic/api/models/Card.kt
+++ b/lithic-java-core/src/main/kotlin/com/lithic/api/models/Card.kt
@@ -443,7 +443,8 @@ private constructor(
/**
* Primary Account Number (PAN) (i.e. the card number). Customers must be PCI compliant to have
- * PAN returned as a field in production. Please contact support@lithic.com for questions.
+ * PAN returned as a field in production. Please contact https://support.lithic.com/ for
+ * questions.
*
* @throws LithicInvalidDataException if the JSON field has an unexpected type (e.g. if the
* server responded with an unexpected value).
@@ -1253,8 +1254,8 @@ private constructor(
/**
* Primary Account Number (PAN) (i.e. the card number). Customers must be PCI compliant to
- * have PAN returned as a field in production. Please contact support@lithic.com for
- * questions.
+ * have PAN returned as a field in production. Please contact https://support.lithic.com/
+ * for questions.
*/
fun pan(pan: String) = pan(JsonField.of(pan))
diff --git a/lithic-java-core/src/main/kotlin/com/lithic/api/models/CardAuthorization.kt b/lithic-java-core/src/main/kotlin/com/lithic/api/models/CardAuthorization.kt
index 396b17e4..633e054f 100644
--- a/lithic-java-core/src/main/kotlin/com/lithic/api/models/CardAuthorization.kt
+++ b/lithic-java-core/src/main/kotlin/com/lithic/api/models/CardAuthorization.kt
@@ -5638,24 +5638,45 @@ private constructor(
class LatestChallenge
@JsonCreator(mode = JsonCreator.Mode.DISABLED)
private constructor(
+ private val completedAt: JsonField,
+ private val created: JsonField,
private val method: JsonField,
private val phoneNumber: JsonField,
private val status: JsonField,
- private val completedAt: JsonField,
private val additionalProperties: MutableMap,
) {
@JsonCreator
private constructor(
+ @JsonProperty("completed_at")
+ @ExcludeMissing
+ completedAt: JsonField = JsonMissing.of(),
+ @JsonProperty("created")
+ @ExcludeMissing
+ created: JsonField = JsonMissing.of(),
@JsonProperty("method") @ExcludeMissing method: JsonField = JsonMissing.of(),
@JsonProperty("phone_number")
@ExcludeMissing
phoneNumber: JsonField = JsonMissing.of(),
@JsonProperty("status") @ExcludeMissing status: JsonField = JsonMissing.of(),
- @JsonProperty("completed_at")
- @ExcludeMissing
- completedAt: JsonField = JsonMissing.of(),
- ) : this(method, phoneNumber, status, completedAt, mutableMapOf())
+ ) : this(completedAt, created, method, phoneNumber, status, mutableMapOf())
+
+ /**
+ * The date and time when the Authorization Challenge was completed in UTC. Filled only if
+ * the challenge has been completed.
+ *
+ * @throws LithicInvalidDataException if the JSON field has an unexpected type (e.g. if the
+ * server responded with an unexpected value).
+ */
+ fun completedAt(): Optional = completedAt.getOptional("completed_at")
+
+ /**
+ * The date and time when the Authorization Challenge was created in UTC
+ *
+ * @throws LithicInvalidDataException if the JSON field has an unexpected type or is
+ * unexpectedly missing or null (e.g. if the server responded with an unexpected value).
+ */
+ fun created(): OffsetDateTime = created.getRequired("created")
/**
* The method used to deliver the challenge to the cardholder
@@ -5690,13 +5711,20 @@ private constructor(
fun status(): Status = status.getRequired("status")
/**
- * The date and time when the Authorization Challenge was completed in UTC. Present only if
- * the status is `COMPLETED`.
+ * Returns the raw JSON value of [completedAt].
*
- * @throws LithicInvalidDataException if the JSON field has an unexpected type (e.g. if the
- * server responded with an unexpected value).
+ * Unlike [completedAt], this method doesn't throw if the JSON field has an unexpected type.
*/
- fun completedAt(): Optional = completedAt.getOptional("completed_at")
+ @JsonProperty("completed_at")
+ @ExcludeMissing
+ fun _completedAt(): JsonField = completedAt
+
+ /**
+ * Returns the raw JSON value of [created].
+ *
+ * Unlike [created], this method doesn't throw if the JSON field has an unexpected type.
+ */
+ @JsonProperty("created") @ExcludeMissing fun _created(): JsonField = created
/**
* Returns the raw JSON value of [method].
@@ -5721,15 +5749,6 @@ private constructor(
*/
@JsonProperty("status") @ExcludeMissing fun _status(): JsonField = status
- /**
- * Returns the raw JSON value of [completedAt].
- *
- * Unlike [completedAt], this method doesn't throw if the JSON field has an unexpected type.
- */
- @JsonProperty("completed_at")
- @ExcludeMissing
- fun _completedAt(): JsonField = completedAt
-
@JsonAnySetter
private fun putAdditionalProperty(key: String, value: JsonValue) {
additionalProperties.put(key, value)
@@ -5749,6 +5768,8 @@ private constructor(
*
* The following fields are required:
* ```java
+ * .completedAt()
+ * .created()
* .method()
* .phoneNumber()
* .status()
@@ -5760,21 +5781,57 @@ private constructor(
/** A builder for [LatestChallenge]. */
class Builder internal constructor() {
+ private var completedAt: JsonField? = null
+ private var created: JsonField? = null
private var method: JsonField? = null
private var phoneNumber: JsonField? = null
private var status: JsonField? = null
- private var completedAt: JsonField = JsonMissing.of()
private var additionalProperties: MutableMap = mutableMapOf()
@JvmSynthetic
internal fun from(latestChallenge: LatestChallenge) = apply {
+ completedAt = latestChallenge.completedAt
+ created = latestChallenge.created
method = latestChallenge.method
phoneNumber = latestChallenge.phoneNumber
status = latestChallenge.status
- completedAt = latestChallenge.completedAt
additionalProperties = latestChallenge.additionalProperties.toMutableMap()
}
+ /**
+ * The date and time when the Authorization Challenge was completed in UTC. Filled only
+ * if the challenge has been completed.
+ */
+ fun completedAt(completedAt: OffsetDateTime?) =
+ completedAt(JsonField.ofNullable(completedAt))
+
+ /** Alias for calling [Builder.completedAt] with `completedAt.orElse(null)`. */
+ fun completedAt(completedAt: Optional) =
+ completedAt(completedAt.getOrNull())
+
+ /**
+ * Sets [Builder.completedAt] to an arbitrary JSON value.
+ *
+ * You should usually call [Builder.completedAt] with a well-typed [OffsetDateTime]
+ * value instead. This method is primarily for setting the field to an undocumented or
+ * not yet supported value.
+ */
+ fun completedAt(completedAt: JsonField) = apply {
+ this.completedAt = completedAt
+ }
+
+ /** The date and time when the Authorization Challenge was created in UTC */
+ fun created(created: OffsetDateTime) = created(JsonField.of(created))
+
+ /**
+ * Sets [Builder.created] to an arbitrary JSON value.
+ *
+ * You should usually call [Builder.created] with a well-typed [OffsetDateTime] value
+ * instead. This method is primarily for setting the field to an undocumented or not yet
+ * supported value.
+ */
+ fun created(created: JsonField) = apply { this.created = created }
+
/**
* The method used to deliver the challenge to the cardholder
* * `SMS` - Challenge was delivered via SMS
@@ -5830,23 +5887,6 @@ private constructor(
*/
fun status(status: JsonField) = apply { this.status = status }
- /**
- * The date and time when the Authorization Challenge was completed in UTC. Present only
- * if the status is `COMPLETED`.
- */
- fun completedAt(completedAt: OffsetDateTime) = completedAt(JsonField.of(completedAt))
-
- /**
- * Sets [Builder.completedAt] to an arbitrary JSON value.
- *
- * You should usually call [Builder.completedAt] with a well-typed [OffsetDateTime]
- * value instead. This method is primarily for setting the field to an undocumented or
- * not yet supported value.
- */
- fun completedAt(completedAt: JsonField) = apply {
- this.completedAt = completedAt
- }
-
fun additionalProperties(additionalProperties: Map) = apply {
this.additionalProperties.clear()
putAllAdditionalProperties(additionalProperties)
@@ -5873,6 +5913,8 @@ private constructor(
*
* The following fields are required:
* ```java
+ * .completedAt()
+ * .created()
* .method()
* .phoneNumber()
* .status()
@@ -5882,10 +5924,11 @@ private constructor(
*/
fun build(): LatestChallenge =
LatestChallenge(
+ checkRequired("completedAt", completedAt),
+ checkRequired("created", created),
checkRequired("method", method),
checkRequired("phoneNumber", phoneNumber),
checkRequired("status", status),
- completedAt,
additionalProperties.toMutableMap(),
)
}
@@ -5906,10 +5949,11 @@ private constructor(
return@apply
}
+ completedAt()
+ created()
method().validate()
phoneNumber()
status().validate()
- completedAt()
validated = true
}
@@ -5929,10 +5973,11 @@ private constructor(
*/
@JvmSynthetic
internal fun validity(): Int =
- (method.asKnown().getOrNull()?.validity() ?: 0) +
+ (if (completedAt.asKnown().isPresent) 1 else 0) +
+ (if (created.asKnown().isPresent) 1 else 0) +
+ (method.asKnown().getOrNull()?.validity() ?: 0) +
(if (phoneNumber.asKnown().isPresent) 1 else 0) +
- (status.asKnown().getOrNull()?.validity() ?: 0) +
- (if (completedAt.asKnown().isPresent) 1 else 0)
+ (status.asKnown().getOrNull()?.validity() ?: 0)
/**
* The method used to deliver the challenge to the cardholder
@@ -6249,21 +6294,22 @@ private constructor(
}
return other is LatestChallenge &&
+ completedAt == other.completedAt &&
+ created == other.created &&
method == other.method &&
phoneNumber == other.phoneNumber &&
status == other.status &&
- completedAt == other.completedAt &&
additionalProperties == other.additionalProperties
}
private val hashCode: Int by lazy {
- Objects.hash(method, phoneNumber, status, completedAt, additionalProperties)
+ Objects.hash(completedAt, created, method, phoneNumber, status, additionalProperties)
}
override fun hashCode(): Int = hashCode
override fun toString() =
- "LatestChallenge{method=$method, phoneNumber=$phoneNumber, status=$status, completedAt=$completedAt, additionalProperties=$additionalProperties}"
+ "LatestChallenge{completedAt=$completedAt, created=$created, method=$method, phoneNumber=$phoneNumber, status=$status, additionalProperties=$additionalProperties}"
}
/** Card network of the authorization. */
diff --git a/lithic-java-core/src/main/kotlin/com/lithic/api/models/CardSearchByPanParams.kt b/lithic-java-core/src/main/kotlin/com/lithic/api/models/CardSearchByPanParams.kt
index deab4b3e..4c622e03 100644
--- a/lithic-java-core/src/main/kotlin/com/lithic/api/models/CardSearchByPanParams.kt
+++ b/lithic-java-core/src/main/kotlin/com/lithic/api/models/CardSearchByPanParams.kt
@@ -20,7 +20,7 @@ import java.util.Objects
/**
* Get card configuration such as spend limit and state. Customers must be PCI compliant to use this
- * endpoint. Please contact [support@lithic.com](mailto:support@lithic.com) for questions. *Note:
+ * endpoint. Please contact [support.lithic.com](https://support.lithic.com/) for questions. *Note:
* this is a `POST` endpoint because it is more secure to send sensitive data in a request body than
* in a URL.*
*/
diff --git a/lithic-java-core/src/main/kotlin/com/lithic/api/services/async/CardServiceAsync.kt b/lithic-java-core/src/main/kotlin/com/lithic/api/services/async/CardServiceAsync.kt
index d203fac7..bc5a8759 100644
--- a/lithic-java-core/src/main/kotlin/com/lithic/api/services/async/CardServiceAsync.kt
+++ b/lithic-java-core/src/main/kotlin/com/lithic/api/services/async/CardServiceAsync.kt
@@ -410,9 +410,9 @@ interface CardServiceAsync {
/**
* Get card configuration such as spend limit and state. Customers must be PCI compliant to use
- * this endpoint. Please contact [support@lithic.com](mailto:support@lithic.com) for questions.
- * *Note: this is a `POST` endpoint because it is more secure to send sensitive data in a
- * request body than in a URL.*
+ * this endpoint. Please contact [support.lithic.com](https://support.lithic.com/) for
+ * questions. *Note: this is a `POST` endpoint because it is more secure to send sensitive data
+ * in a request body than in a URL.*
*/
fun searchByPan(params: CardSearchByPanParams): CompletableFuture =
searchByPan(params, RequestOptions.none())
diff --git a/lithic-java-core/src/main/kotlin/com/lithic/api/services/blocking/CardService.kt b/lithic-java-core/src/main/kotlin/com/lithic/api/services/blocking/CardService.kt
index 9011c4e1..4217f18e 100644
--- a/lithic-java-core/src/main/kotlin/com/lithic/api/services/blocking/CardService.kt
+++ b/lithic-java-core/src/main/kotlin/com/lithic/api/services/blocking/CardService.kt
@@ -372,9 +372,9 @@ interface CardService {
/**
* Get card configuration such as spend limit and state. Customers must be PCI compliant to use
- * this endpoint. Please contact [support@lithic.com](mailto:support@lithic.com) for questions.
- * *Note: this is a `POST` endpoint because it is more secure to send sensitive data in a
- * request body than in a URL.*
+ * this endpoint. Please contact [support.lithic.com](https://support.lithic.com/) for
+ * questions. *Note: this is a `POST` endpoint because it is more secure to send sensitive data
+ * in a request body than in a URL.*
*/
fun searchByPan(params: CardSearchByPanParams): Card =
searchByPan(params, RequestOptions.none())
diff --git a/lithic-java-core/src/test/kotlin/com/lithic/api/models/CardAuthorizationApprovalRequestWebhookEventTest.kt b/lithic-java-core/src/test/kotlin/com/lithic/api/models/CardAuthorizationApprovalRequestWebhookEventTest.kt
index 1b0f09ef..3e484e9f 100644
--- a/lithic-java-core/src/test/kotlin/com/lithic/api/models/CardAuthorizationApprovalRequestWebhookEventTest.kt
+++ b/lithic-java-core/src/test/kotlin/com/lithic/api/models/CardAuthorizationApprovalRequestWebhookEventTest.kt
@@ -128,10 +128,11 @@ internal class CardAuthorizationApprovalRequestWebhookEventTest {
)
.latestChallenge(
CardAuthorization.LatestChallenge.builder()
+ .completedAt(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
+ .created(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
.method(CardAuthorization.LatestChallenge.Method.SMS)
.phoneNumber("phone_number")
.status(CardAuthorization.LatestChallenge.Status.COMPLETED)
- .completedAt(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
.build()
)
.network(CardAuthorization.Network.AMEX)
@@ -331,10 +332,11 @@ internal class CardAuthorizationApprovalRequestWebhookEventTest {
assertThat(cardAuthorizationApprovalRequestWebhookEvent.latestChallenge())
.contains(
CardAuthorization.LatestChallenge.builder()
+ .completedAt(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
+ .created(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
.method(CardAuthorization.LatestChallenge.Method.SMS)
.phoneNumber("phone_number")
.status(CardAuthorization.LatestChallenge.Status.COMPLETED)
- .completedAt(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
.build()
)
assertThat(cardAuthorizationApprovalRequestWebhookEvent.network())
@@ -528,10 +530,11 @@ internal class CardAuthorizationApprovalRequestWebhookEventTest {
)
.latestChallenge(
CardAuthorization.LatestChallenge.builder()
+ .completedAt(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
+ .created(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
.method(CardAuthorization.LatestChallenge.Method.SMS)
.phoneNumber("phone_number")
.status(CardAuthorization.LatestChallenge.Status.COMPLETED)
- .completedAt(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
.build()
)
.network(CardAuthorization.Network.AMEX)
diff --git a/lithic-java-core/src/test/kotlin/com/lithic/api/models/CardAuthorizationChallengeWebhookEventTest.kt b/lithic-java-core/src/test/kotlin/com/lithic/api/models/CardAuthorizationChallengeWebhookEventTest.kt
index 8896de88..01aae811 100644
--- a/lithic-java-core/src/test/kotlin/com/lithic/api/models/CardAuthorizationChallengeWebhookEventTest.kt
+++ b/lithic-java-core/src/test/kotlin/com/lithic/api/models/CardAuthorizationChallengeWebhookEventTest.kt
@@ -136,10 +136,11 @@ internal class CardAuthorizationChallengeWebhookEventTest {
)
.latestChallenge(
CardAuthorization.LatestChallenge.builder()
+ .completedAt(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
+ .created(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
.method(CardAuthorization.LatestChallenge.Method.SMS)
.phoneNumber("phone_number")
.status(CardAuthorization.LatestChallenge.Status.COMPLETED)
- .completedAt(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
.build()
)
.network(CardAuthorization.Network.AMEX)
@@ -353,10 +354,11 @@ internal class CardAuthorizationChallengeWebhookEventTest {
)
.latestChallenge(
CardAuthorization.LatestChallenge.builder()
+ .completedAt(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
+ .created(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
.method(CardAuthorization.LatestChallenge.Method.SMS)
.phoneNumber("phone_number")
.status(CardAuthorization.LatestChallenge.Status.COMPLETED)
- .completedAt(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
.build()
)
.network(CardAuthorization.Network.AMEX)
@@ -569,10 +571,11 @@ internal class CardAuthorizationChallengeWebhookEventTest {
)
.latestChallenge(
CardAuthorization.LatestChallenge.builder()
+ .completedAt(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
+ .created(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
.method(CardAuthorization.LatestChallenge.Method.SMS)
.phoneNumber("phone_number")
.status(CardAuthorization.LatestChallenge.Status.COMPLETED)
- .completedAt(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
.build()
)
.network(CardAuthorization.Network.AMEX)
diff --git a/lithic-java-core/src/test/kotlin/com/lithic/api/models/CardAuthorizationTest.kt b/lithic-java-core/src/test/kotlin/com/lithic/api/models/CardAuthorizationTest.kt
index 524ca34b..0e1eec8a 100644
--- a/lithic-java-core/src/test/kotlin/com/lithic/api/models/CardAuthorizationTest.kt
+++ b/lithic-java-core/src/test/kotlin/com/lithic/api/models/CardAuthorizationTest.kt
@@ -128,10 +128,11 @@ internal class CardAuthorizationTest {
)
.latestChallenge(
CardAuthorization.LatestChallenge.builder()
+ .completedAt(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
+ .created(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
.method(CardAuthorization.LatestChallenge.Method.SMS)
.phoneNumber("phone_number")
.status(CardAuthorization.LatestChallenge.Status.COMPLETED)
- .completedAt(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
.build()
)
.network(CardAuthorization.Network.AMEX)
@@ -323,10 +324,11 @@ internal class CardAuthorizationTest {
assertThat(cardAuthorization.latestChallenge())
.contains(
CardAuthorization.LatestChallenge.builder()
+ .completedAt(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
+ .created(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
.method(CardAuthorization.LatestChallenge.Method.SMS)
.phoneNumber("phone_number")
.status(CardAuthorization.LatestChallenge.Status.COMPLETED)
- .completedAt(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
.build()
)
assertThat(cardAuthorization.network()).contains(CardAuthorization.Network.AMEX)
@@ -514,10 +516,11 @@ internal class CardAuthorizationTest {
)
.latestChallenge(
CardAuthorization.LatestChallenge.builder()
+ .completedAt(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
+ .created(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
.method(CardAuthorization.LatestChallenge.Method.SMS)
.phoneNumber("phone_number")
.status(CardAuthorization.LatestChallenge.Status.COMPLETED)
- .completedAt(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
.build()
)
.network(CardAuthorization.Network.AMEX)
diff --git a/lithic-java-core/src/test/kotlin/com/lithic/api/models/ParsedWebhookEventTest.kt b/lithic-java-core/src/test/kotlin/com/lithic/api/models/ParsedWebhookEventTest.kt
index fc663d4a..1d39997a 100644
--- a/lithic-java-core/src/test/kotlin/com/lithic/api/models/ParsedWebhookEventTest.kt
+++ b/lithic-java-core/src/test/kotlin/com/lithic/api/models/ParsedWebhookEventTest.kt
@@ -997,10 +997,11 @@ internal class ParsedWebhookEventTest {
)
.latestChallenge(
CardAuthorization.LatestChallenge.builder()
+ .completedAt(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
+ .created(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
.method(CardAuthorization.LatestChallenge.Method.SMS)
.phoneNumber("phone_number")
.status(CardAuthorization.LatestChallenge.Status.COMPLETED)
- .completedAt(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
.build()
)
.network(CardAuthorization.Network.AMEX)
@@ -1263,10 +1264,11 @@ internal class ParsedWebhookEventTest {
)
.latestChallenge(
CardAuthorization.LatestChallenge.builder()
+ .completedAt(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
+ .created(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
.method(CardAuthorization.LatestChallenge.Method.SMS)
.phoneNumber("phone_number")
.status(CardAuthorization.LatestChallenge.Status.COMPLETED)
- .completedAt(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
.build()
)
.network(CardAuthorization.Network.AMEX)
@@ -1478,10 +1480,11 @@ internal class ParsedWebhookEventTest {
)
.latestChallenge(
CardAuthorization.LatestChallenge.builder()
+ .completedAt(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
+ .created(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
.method(CardAuthorization.LatestChallenge.Method.SMS)
.phoneNumber("phone_number")
.status(CardAuthorization.LatestChallenge.Status.COMPLETED)
- .completedAt(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
.build()
)
.network(CardAuthorization.Network.AMEX)
@@ -1774,10 +1777,11 @@ internal class ParsedWebhookEventTest {
)
.latestChallenge(
CardAuthorization.LatestChallenge.builder()
+ .completedAt(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
+ .created(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
.method(CardAuthorization.LatestChallenge.Method.SMS)
.phoneNumber("phone_number")
.status(CardAuthorization.LatestChallenge.Status.COMPLETED)
- .completedAt(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
.build()
)
.network(CardAuthorization.Network.AMEX)