diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 35ff674a300..5f50db2f7a5 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -18761,6 +18761,13 @@ components: format: date-time readOnly: true type: string + date_last_used: + description: Date the API Key was last used + example: '2020-11-27T10:00:00.000Z' + format: date-time + nullable: true + readOnly: true + type: string key: description: The API key. readOnly: true @@ -18819,6 +18826,13 @@ components: minLength: 4 readOnly: true type: string + last_used_at: + description: Last usage timestamp of the application key. + example: '2020-12-20T10:00:00.000Z' + format: date-time + nullable: true + readOnly: true + type: string name: description: Name of the application key. example: Application Key for managing dashboards @@ -34754,6 +34768,13 @@ components: example: '2020-11-23T10:00:00.000Z' readOnly: true type: string + date_last_used: + description: Date the API Key was last used. + example: '2020-11-27T10:00:00.000Z' + format: date-time + nullable: true + readOnly: true + type: string last4: description: The last four characters of the API key. example: abcd @@ -34802,6 +34823,12 @@ components: minLength: 4 readOnly: true type: string + last_used_at: + description: Last usage timestamp of the application key. + example: '2020-12-20T10:00:00.000Z' + nullable: true + readOnly: true + type: string name: description: Name of the application key. example: Application Key for managing dashboards @@ -37778,6 +37805,7 @@ components: - type type: object RoleAttributes: + additionalProperties: {} description: Attributes of the role. properties: created_at: diff --git a/examples/v2/key-management/GetCurrentUserApplicationKey.java b/examples/v2/key-management/GetCurrentUserApplicationKey.java index 74627c99a99..601dd97e4c1 100644 --- a/examples/v2/key-management/GetCurrentUserApplicationKey.java +++ b/examples/v2/key-management/GetCurrentUserApplicationKey.java @@ -10,8 +10,12 @@ public static void main(String[] args) { ApiClient defaultClient = ApiClient.getDefaultApiClient(); KeyManagementApi apiInstance = new KeyManagementApi(defaultClient); + // there is a valid "application_key" in the system + String APPLICATION_KEY_DATA_ID = System.getenv("APPLICATION_KEY_DATA_ID"); + try { - ApplicationKeyResponse result = apiInstance.getCurrentUserApplicationKey("app_key_id"); + ApplicationKeyResponse result = + apiInstance.getCurrentUserApplicationKey(APPLICATION_KEY_DATA_ID); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling KeyManagementApi#getCurrentUserApplicationKey"); diff --git a/src/main/java/com/datadog/api/client/v2/model/FullAPIKeyAttributes.java b/src/main/java/com/datadog/api/client/v2/model/FullAPIKeyAttributes.java index ba71569fa7e..94ab6647b81 100644 --- a/src/main/java/com/datadog/api/client/v2/model/FullAPIKeyAttributes.java +++ b/src/main/java/com/datadog/api/client/v2/model/FullAPIKeyAttributes.java @@ -16,11 +16,13 @@ import java.util.HashMap; import java.util.Map; import java.util.Objects; +import org.openapitools.jackson.nullable.JsonNullable; /** Attributes of a full API key. */ @JsonPropertyOrder({ FullAPIKeyAttributes.JSON_PROPERTY_CATEGORY, FullAPIKeyAttributes.JSON_PROPERTY_CREATED_AT, + FullAPIKeyAttributes.JSON_PROPERTY_DATE_LAST_USED, FullAPIKeyAttributes.JSON_PROPERTY_KEY, FullAPIKeyAttributes.JSON_PROPERTY_LAST4, FullAPIKeyAttributes.JSON_PROPERTY_MODIFIED_AT, @@ -37,6 +39,9 @@ public class FullAPIKeyAttributes { public static final String JSON_PROPERTY_CREATED_AT = "created_at"; private OffsetDateTime createdAt; + public static final String JSON_PROPERTY_DATE_LAST_USED = "date_last_used"; + private JsonNullable dateLastUsed = JsonNullable.undefined(); + public static final String JSON_PROPERTY_KEY = "key"; private String key; @@ -86,6 +91,32 @@ public OffsetDateTime getCreatedAt() { return createdAt; } + /** + * Date the API Key was last used + * + * @return dateLastUsed + */ + @jakarta.annotation.Nullable + @JsonIgnore + public OffsetDateTime getDateLastUsed() { + + if (dateLastUsed == null) { + dateLastUsed = JsonNullable.undefined(); + } + return dateLastUsed.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_DATE_LAST_USED) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public JsonNullable getDateLastUsed_JsonNullable() { + return dateLastUsed; + } + + @JsonProperty(JSON_PROPERTY_DATE_LAST_USED) + private void setDateLastUsed_JsonNullable(JsonNullable dateLastUsed) { + this.dateLastUsed = dateLastUsed; + } + /** * The API key. * @@ -222,6 +253,7 @@ public boolean equals(Object o) { FullAPIKeyAttributes fullApiKeyAttributes = (FullAPIKeyAttributes) o; return Objects.equals(this.category, fullApiKeyAttributes.category) && Objects.equals(this.createdAt, fullApiKeyAttributes.createdAt) + && Objects.equals(this.dateLastUsed, fullApiKeyAttributes.dateLastUsed) && Objects.equals(this.key, fullApiKeyAttributes.key) && Objects.equals(this.last4, fullApiKeyAttributes.last4) && Objects.equals(this.modifiedAt, fullApiKeyAttributes.modifiedAt) @@ -236,6 +268,7 @@ public int hashCode() { return Objects.hash( category, createdAt, + dateLastUsed, key, last4, modifiedAt, @@ -250,6 +283,7 @@ public String toString() { sb.append("class FullAPIKeyAttributes {\n"); sb.append(" category: ").append(toIndentedString(category)).append("\n"); sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" dateLastUsed: ").append(toIndentedString(dateLastUsed)).append("\n"); sb.append(" key: ").append(toIndentedString(key)).append("\n"); sb.append(" last4: ").append(toIndentedString(last4)).append("\n"); sb.append(" modifiedAt: ").append(toIndentedString(modifiedAt)).append("\n"); diff --git a/src/main/java/com/datadog/api/client/v2/model/FullApplicationKeyAttributes.java b/src/main/java/com/datadog/api/client/v2/model/FullApplicationKeyAttributes.java index 9f699f2ffd4..d5c68b757e5 100644 --- a/src/main/java/com/datadog/api/client/v2/model/FullApplicationKeyAttributes.java +++ b/src/main/java/com/datadog/api/client/v2/model/FullApplicationKeyAttributes.java @@ -25,6 +25,7 @@ FullApplicationKeyAttributes.JSON_PROPERTY_CREATED_AT, FullApplicationKeyAttributes.JSON_PROPERTY_KEY, FullApplicationKeyAttributes.JSON_PROPERTY_LAST4, + FullApplicationKeyAttributes.JSON_PROPERTY_LAST_USED_AT, FullApplicationKeyAttributes.JSON_PROPERTY_NAME, FullApplicationKeyAttributes.JSON_PROPERTY_SCOPES }) @@ -41,6 +42,9 @@ public class FullApplicationKeyAttributes { public static final String JSON_PROPERTY_LAST4 = "last4"; private String last4; + public static final String JSON_PROPERTY_LAST_USED_AT = "last_used_at"; + private JsonNullable lastUsedAt = JsonNullable.undefined(); + public static final String JSON_PROPERTY_NAME = "name"; private String name; @@ -83,6 +87,32 @@ public String getLast4() { return last4; } + /** + * Last usage timestamp of the application key. + * + * @return lastUsedAt + */ + @jakarta.annotation.Nullable + @JsonIgnore + public OffsetDateTime getLastUsedAt() { + + if (lastUsedAt == null) { + lastUsedAt = JsonNullable.undefined(); + } + return lastUsedAt.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_LAST_USED_AT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public JsonNullable getLastUsedAt_JsonNullable() { + return lastUsedAt; + } + + @JsonProperty(JSON_PROPERTY_LAST_USED_AT) + private void setLastUsedAt_JsonNullable(JsonNullable lastUsedAt) { + this.lastUsedAt = lastUsedAt; + } + public FullApplicationKeyAttributes name(String name) { this.name = name; return this; @@ -206,6 +236,7 @@ public boolean equals(Object o) { return Objects.equals(this.createdAt, fullApplicationKeyAttributes.createdAt) && Objects.equals(this.key, fullApplicationKeyAttributes.key) && Objects.equals(this.last4, fullApplicationKeyAttributes.last4) + && Objects.equals(this.lastUsedAt, fullApplicationKeyAttributes.lastUsedAt) && Objects.equals(this.name, fullApplicationKeyAttributes.name) && Objects.equals(this.scopes, fullApplicationKeyAttributes.scopes) && Objects.equals( @@ -214,7 +245,7 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(createdAt, key, last4, name, scopes, additionalProperties); + return Objects.hash(createdAt, key, last4, lastUsedAt, name, scopes, additionalProperties); } @Override @@ -224,6 +255,7 @@ public String toString() { sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); sb.append(" key: ").append(toIndentedString(key)).append("\n"); sb.append(" last4: ").append(toIndentedString(last4)).append("\n"); + sb.append(" lastUsedAt: ").append(toIndentedString(lastUsedAt)).append("\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" scopes: ").append(toIndentedString(scopes)).append("\n"); sb.append(" additionalProperties: ") diff --git a/src/main/java/com/datadog/api/client/v2/model/PartialAPIKeyAttributes.java b/src/main/java/com/datadog/api/client/v2/model/PartialAPIKeyAttributes.java index 4309c8943bc..f2abf2861c7 100644 --- a/src/main/java/com/datadog/api/client/v2/model/PartialAPIKeyAttributes.java +++ b/src/main/java/com/datadog/api/client/v2/model/PartialAPIKeyAttributes.java @@ -12,14 +12,17 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.time.OffsetDateTime; import java.util.HashMap; import java.util.Map; import java.util.Objects; +import org.openapitools.jackson.nullable.JsonNullable; /** Attributes of a partial API key. */ @JsonPropertyOrder({ PartialAPIKeyAttributes.JSON_PROPERTY_CATEGORY, PartialAPIKeyAttributes.JSON_PROPERTY_CREATED_AT, + PartialAPIKeyAttributes.JSON_PROPERTY_DATE_LAST_USED, PartialAPIKeyAttributes.JSON_PROPERTY_LAST4, PartialAPIKeyAttributes.JSON_PROPERTY_MODIFIED_AT, PartialAPIKeyAttributes.JSON_PROPERTY_NAME, @@ -35,6 +38,9 @@ public class PartialAPIKeyAttributes { public static final String JSON_PROPERTY_CREATED_AT = "created_at"; private String createdAt; + public static final String JSON_PROPERTY_DATE_LAST_USED = "date_last_used"; + private JsonNullable dateLastUsed = JsonNullable.undefined(); + public static final String JSON_PROPERTY_LAST4 = "last4"; private String last4; @@ -81,6 +87,32 @@ public String getCreatedAt() { return createdAt; } + /** + * Date the API Key was last used. + * + * @return dateLastUsed + */ + @jakarta.annotation.Nullable + @JsonIgnore + public OffsetDateTime getDateLastUsed() { + + if (dateLastUsed == null) { + dateLastUsed = JsonNullable.undefined(); + } + return dateLastUsed.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_DATE_LAST_USED) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public JsonNullable getDateLastUsed_JsonNullable() { + return dateLastUsed; + } + + @JsonProperty(JSON_PROPERTY_DATE_LAST_USED) + private void setDateLastUsed_JsonNullable(JsonNullable dateLastUsed) { + this.dateLastUsed = dateLastUsed; + } + /** * The last four characters of the API key. * @@ -205,6 +237,7 @@ public boolean equals(Object o) { PartialAPIKeyAttributes partialApiKeyAttributes = (PartialAPIKeyAttributes) o; return Objects.equals(this.category, partialApiKeyAttributes.category) && Objects.equals(this.createdAt, partialApiKeyAttributes.createdAt) + && Objects.equals(this.dateLastUsed, partialApiKeyAttributes.dateLastUsed) && Objects.equals(this.last4, partialApiKeyAttributes.last4) && Objects.equals(this.modifiedAt, partialApiKeyAttributes.modifiedAt) && Objects.equals(this.name, partialApiKeyAttributes.name) @@ -218,6 +251,7 @@ public int hashCode() { return Objects.hash( category, createdAt, + dateLastUsed, last4, modifiedAt, name, @@ -231,6 +265,7 @@ public String toString() { sb.append("class PartialAPIKeyAttributes {\n"); sb.append(" category: ").append(toIndentedString(category)).append("\n"); sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" dateLastUsed: ").append(toIndentedString(dateLastUsed)).append("\n"); sb.append(" last4: ").append(toIndentedString(last4)).append("\n"); sb.append(" modifiedAt: ").append(toIndentedString(modifiedAt)).append("\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); diff --git a/src/main/java/com/datadog/api/client/v2/model/PartialApplicationKeyAttributes.java b/src/main/java/com/datadog/api/client/v2/model/PartialApplicationKeyAttributes.java index 73148386149..08d76bea458 100644 --- a/src/main/java/com/datadog/api/client/v2/model/PartialApplicationKeyAttributes.java +++ b/src/main/java/com/datadog/api/client/v2/model/PartialApplicationKeyAttributes.java @@ -23,6 +23,7 @@ @JsonPropertyOrder({ PartialApplicationKeyAttributes.JSON_PROPERTY_CREATED_AT, PartialApplicationKeyAttributes.JSON_PROPERTY_LAST4, + PartialApplicationKeyAttributes.JSON_PROPERTY_LAST_USED_AT, PartialApplicationKeyAttributes.JSON_PROPERTY_NAME, PartialApplicationKeyAttributes.JSON_PROPERTY_SCOPES }) @@ -36,6 +37,9 @@ public class PartialApplicationKeyAttributes { public static final String JSON_PROPERTY_LAST4 = "last4"; private String last4; + public static final String JSON_PROPERTY_LAST_USED_AT = "last_used_at"; + private JsonNullable lastUsedAt = JsonNullable.undefined(); + public static final String JSON_PROPERTY_NAME = "name"; private String name; @@ -66,6 +70,32 @@ public String getLast4() { return last4; } + /** + * Last usage timestamp of the application key. + * + * @return lastUsedAt + */ + @jakarta.annotation.Nullable + @JsonIgnore + public String getLastUsedAt() { + + if (lastUsedAt == null) { + lastUsedAt = JsonNullable.undefined(); + } + return lastUsedAt.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_LAST_USED_AT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public JsonNullable getLastUsedAt_JsonNullable() { + return lastUsedAt; + } + + @JsonProperty(JSON_PROPERTY_LAST_USED_AT) + private void setLastUsedAt_JsonNullable(JsonNullable lastUsedAt) { + this.lastUsedAt = lastUsedAt; + } + public PartialApplicationKeyAttributes name(String name) { this.name = name; return this; @@ -189,6 +219,7 @@ public boolean equals(Object o) { (PartialApplicationKeyAttributes) o; return Objects.equals(this.createdAt, partialApplicationKeyAttributes.createdAt) && Objects.equals(this.last4, partialApplicationKeyAttributes.last4) + && Objects.equals(this.lastUsedAt, partialApplicationKeyAttributes.lastUsedAt) && Objects.equals(this.name, partialApplicationKeyAttributes.name) && Objects.equals(this.scopes, partialApplicationKeyAttributes.scopes) && Objects.equals( @@ -197,7 +228,7 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(createdAt, last4, name, scopes, additionalProperties); + return Objects.hash(createdAt, last4, lastUsedAt, name, scopes, additionalProperties); } @Override @@ -206,6 +237,7 @@ public String toString() { sb.append("class PartialApplicationKeyAttributes {\n"); sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); sb.append(" last4: ").append(toIndentedString(last4)).append("\n"); + sb.append(" lastUsedAt: ").append(toIndentedString(lastUsedAt)).append("\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" scopes: ").append(toIndentedString(scopes)).append("\n"); sb.append(" additionalProperties: ") diff --git a/src/test/resources/cassettes/features/v2/Get_API_key_returns_Not_Found_response.freeze b/src/test/resources/cassettes/features/v2/Get_API_key_returns_Not_Found_response.freeze new file mode 100644 index 00000000000..01af0fbb959 --- /dev/null +++ b/src/test/resources/cassettes/features/v2/Get_API_key_returns_Not_Found_response.freeze @@ -0,0 +1 @@ +2025-09-08T09:24:42.052Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_API_key_returns_Not_Found_response.json b/src/test/resources/cassettes/features/v2/Get_API_key_returns_Not_Found_response.json new file mode 100644 index 00000000000..55d5c01bb31 --- /dev/null +++ b/src/test/resources/cassettes/features/v2/Get_API_key_returns_Not_Found_response.json @@ -0,0 +1,28 @@ +[ + { + "httpRequest": { + "headers": {}, + "method": "GET", + "path": "/api/v2/api_keys/invalidId", + "keepAlive": false, + "secure": true + }, + "httpResponse": { + "body": "{\"errors\":[\"API key not found\"]}", + "headers": { + "Content-Type": [ + "application/json" + ] + }, + "statusCode": 404, + "reasonPhrase": "Not Found" + }, + "times": { + "remainingTimes": 1 + }, + "timeToLive": { + "unlimited": true + }, + "id": "c85c999d-0f8d-0fbd-0c76-21c5d5efb196" + } +] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_API_key_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Get_API_key_returns_OK_response.freeze index 8ec6f61186d..1f6614cecde 100644 --- a/src/test/resources/cassettes/features/v2/Get_API_key_returns_OK_response.freeze +++ b/src/test/resources/cassettes/features/v2/Get_API_key_returns_OK_response.freeze @@ -1 +1 @@ -2022-05-12T09:52:13.069Z \ No newline at end of file +2025-09-08T09:24:42.741Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_API_key_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Get_API_key_returns_OK_response.json index bc6adc9414a..39a07b4f3e9 100644 --- a/src/test/resources/cassettes/features/v2/Get_API_key_returns_OK_response.json +++ b/src/test/resources/cassettes/features/v2/Get_API_key_returns_OK_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"name\":\"Test-Get_API_key_returns_OK_response-1652349133\"},\"type\":\"api_keys\"}}" + "json": "{\"data\":{\"attributes\":{\"name\":\"Test-Get_API_key_returns_OK_response-1757323482\"},\"type\":\"api_keys\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"type\":\"api_keys\",\"attributes\":{\"created_at\":\"2022-05-12T09:52:13.583089+00:00\",\"key\":\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\"last4\":\"xxxx\",\"modified_at\":\"2022-05-12T09:52:13.583089+00:00\",\"name\":\"Test-Get_API_key_returns_OK_response-1652349133\"},\"relationships\":{\"created_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"modified_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}},\"id\":\"d1029ab0-413b-467f-a2a6-1d49238fc386\"}}", + "body": "{\"data\":{\"type\":\"api_keys\",\"attributes\":{\"created_at\":\"2025-09-08T09:24:42.999350+00:00\",\"key\":\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\"last4\":\"xxxx\",\"modified_at\":\"2025-09-08T09:24:42.999350+00:00\",\"remote_config_read_enabled\":true,\"category\":\"default\",\"name\":\"Test-Get_API_key_returns_OK_response-1757323482\"},\"relationships\":{\"created_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"modified_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"leak_information\":{\"data\":null}},\"id\":\"9286a10e-fe08-48ba-9884-8e26e7e67695\"}}", "headers": { "Content-Type": [ "application/json" @@ -27,18 +27,18 @@ "timeToLive": { "unlimited": true }, - "id": "6f3d7a03-0457-569c-a4ee-999da1ddfddf" + "id": "4c538fa6-21a7-21b0-773e-2c1e5ffa63c0" }, { "httpRequest": { "headers": {}, "method": "GET", - "path": "/api/v2/api_keys/d1029ab0-413b-467f-a2a6-1d49238fc386", + "path": "/api/v2/api_keys/9286a10e-fe08-48ba-9884-8e26e7e67695", "keepAlive": false, "secure": true }, "httpResponse": { - "body": "{\"data\":{\"type\":\"api_keys\",\"attributes\":{\"created_at\":\"2022-05-12T09:52:13.583089+00:00\",\"key\":\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\"last4\":\"xxxx\",\"modified_at\":\"2022-05-12T09:52:13.583089+00:00\",\"name\":\"Test-Get_API_key_returns_OK_response-1652349133\"},\"relationships\":{\"created_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"modified_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}},\"id\":\"d1029ab0-413b-467f-a2a6-1d49238fc386\"}}", + "body": "{\"data\":{\"type\":\"api_keys\",\"attributes\":{\"created_at\":\"2025-09-08T09:24:42.999351+00:00\",\"key\":\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\"last4\":\"xxxx\",\"modified_at\":\"2025-09-08T09:24:42.999351+00:00\",\"remote_config_read_enabled\":true,\"category\":\"default\",\"name\":\"Test-Get_API_key_returns_OK_response-1757323482\",\"date_last_used\":null,\"used_in_last_24_hours\":false,\"last_used_date\":{\"timestamp\":null,\"description\":\"Timestamp of when this key was last used in the past ninety (90) days, null if no recent usage\"}},\"relationships\":{\"created_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"modified_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"leak_information\":{\"data\":null}},\"id\":\"9286a10e-fe08-48ba-9884-8e26e7e67695\"}}", "headers": { "Content-Type": [ "application/json" @@ -53,18 +53,22 @@ "timeToLive": { "unlimited": true }, - "id": "998cf3fe-3285-996d-751c-28653ce4967b" + "id": "f333d2c9-e1ee-2849-5717-ac6bc5459b3b" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/api_keys/d1029ab0-413b-467f-a2a6-1d49238fc386", + "path": "/api/v2/api_keys/9286a10e-fe08-48ba-9884-8e26e7e67695", "keepAlive": false, "secure": true }, "httpResponse": { - "headers": {}, + "headers": { + "Content-Type": [ + "text/html; charset=utf-8" + ] + }, "statusCode": 204, "reasonPhrase": "No Content" }, @@ -74,6 +78,6 @@ "timeToLive": { "unlimited": true }, - "id": "0eb2070c-feb5-3e07-f819-9b8a51a2396a" + "id": "a5e173c7-1186-c3f8-ffcc-da73af1e89ad" } ] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_all_API_keys_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Get_all_API_keys_returns_OK_response.freeze index 2502870510c..68fa81543c9 100644 --- a/src/test/resources/cassettes/features/v2/Get_all_API_keys_returns_OK_response.freeze +++ b/src/test/resources/cassettes/features/v2/Get_all_API_keys_returns_OK_response.freeze @@ -1 +1 @@ -2022-05-12T09:52:14.640Z \ No newline at end of file +2025-09-08T09:24:43.356Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_all_API_keys_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Get_all_API_keys_returns_OK_response.json index a24154aa6d5..a49cc70faef 100644 --- a/src/test/resources/cassettes/features/v2/Get_all_API_keys_returns_OK_response.json +++ b/src/test/resources/cassettes/features/v2/Get_all_API_keys_returns_OK_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"name\":\"Test-Get_all_API_keys_returns_OK_response-1652349134\"},\"type\":\"api_keys\"}}" + "json": "{\"data\":{\"attributes\":{\"name\":\"Test-Get_all_API_keys_returns_OK_response-1757323483\"},\"type\":\"api_keys\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"type\":\"api_keys\",\"attributes\":{\"created_at\":\"2022-05-12T09:52:15.135884+00:00\",\"key\":\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\"last4\":\"xxxx\",\"modified_at\":\"2022-05-12T09:52:15.135884+00:00\",\"name\":\"Test-Get_all_API_keys_returns_OK_response-1652349134\"},\"relationships\":{\"created_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"modified_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}},\"id\":\"32c723fd-9e78-4b1a-a1dd-fab7fe34e8e8\"}}", + "body": "{\"data\":{\"type\":\"api_keys\",\"attributes\":{\"created_at\":\"2025-09-08T09:24:43.558793+00:00\",\"key\":\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\"last4\":\"xxxx\",\"modified_at\":\"2025-09-08T09:24:43.558793+00:00\",\"remote_config_read_enabled\":true,\"category\":\"default\",\"name\":\"Test-Get_all_API_keys_returns_OK_response-1757323483\"},\"relationships\":{\"created_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"modified_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"leak_information\":{\"data\":null}},\"id\":\"84dbd164-f3f5-4f30-ac93-e12b27adeada\"}}", "headers": { "Content-Type": [ "application/json" @@ -27,7 +27,7 @@ "timeToLive": { "unlimited": true }, - "id": "aea22a34-e707-3acd-a78f-f4c8ddcdcebb" + "id": "90083ac7-ca8c-cec6-0330-5ffe8fecdf57" }, { "httpRequest": { @@ -36,14 +36,14 @@ "path": "/api/v2/api_keys", "queryStringParameters": { "filter": [ - "Test-Get_all_API_keys_returns_OK_response-1652349134" + "Test-Get_all_API_keys_returns_OK_response-1757323483" ] }, "keepAlive": false, "secure": true }, "httpResponse": { - "body": "{\"meta\":{\"max_allowed\":200,\"page\":{\"total_filtered_count\":1}},\"data\":[{\"type\":\"api_keys\",\"attributes\":{\"created_at\":\"2022-05-12T09:52:15.135884+00:00\",\"last4\":\"xxxx\",\"modified_at\":\"2022-05-12T09:52:15.135884+00:00\",\"name\":\"Test-Get_all_API_keys_returns_OK_response-1652349134\"},\"relationships\":{\"created_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"modified_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}},\"id\":\"32c723fd-9e78-4b1a-a1dd-fab7fe34e8e8\"}]}", + "body": "{\"data\":[{\"type\":\"api_keys\",\"attributes\":{\"created_at\":\"2025-09-08T09:24:43.558793+00:00\",\"last4\":\"xxxx\",\"modified_at\":\"2025-09-08T09:24:43.558793+00:00\",\"remote_config_read_enabled\":true,\"category\":\"default\",\"name\":\"Test-Get_all_API_keys_returns_OK_response-1757323483\",\"date_last_used\":null,\"used_in_last_24_hours\":false,\"last_used_date\":{\"timestamp\":null,\"description\":\"Timestamp of when this key was last used in the past ninety (90) days, null if no recent usage\"}},\"relationships\":{\"created_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"modified_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"leak_information\":{\"data\":null}},\"id\":\"84dbd164-f3f5-4f30-ac93-e12b27adeada\"}],\"meta\":{\"page\":{\"total_filtered_count\":1},\"max_allowed\":200}}", "headers": { "Content-Type": [ "application/json" @@ -58,18 +58,22 @@ "timeToLive": { "unlimited": true }, - "id": "ddb71a9f-e008-a33e-ce17-7728a1852f5c" + "id": "86e00eff-1948-a650-c00d-313d3d7adb65" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/api_keys/32c723fd-9e78-4b1a-a1dd-fab7fe34e8e8", + "path": "/api/v2/api_keys/84dbd164-f3f5-4f30-ac93-e12b27adeada", "keepAlive": false, "secure": true }, "httpResponse": { - "headers": {}, + "headers": { + "Content-Type": [ + "text/html; charset=utf-8" + ] + }, "statusCode": 204, "reasonPhrase": "No Content" }, @@ -79,6 +83,6 @@ "timeToLive": { "unlimited": true }, - "id": "a17c59b0-f232-7e9c-c2fd-7645fd473958" + "id": "11bc9eed-a006-88ea-722f-f8f540af646e" } ] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_all_application_keys_owned_by_current_user_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Get_all_application_keys_owned_by_current_user_returns_OK_response.freeze index 0e24f1e9fa2..d96e2943187 100644 --- a/src/test/resources/cassettes/features/v2/Get_all_application_keys_owned_by_current_user_returns_OK_response.freeze +++ b/src/test/resources/cassettes/features/v2/Get_all_application_keys_owned_by_current_user_returns_OK_response.freeze @@ -1 +1 @@ -2023-10-16T13:23:16.735Z \ No newline at end of file +2025-09-08T09:24:46.730Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_all_application_keys_owned_by_current_user_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Get_all_application_keys_owned_by_current_user_returns_OK_response.json index 64c5f9dcd67..aa745c57731 100644 --- a/src/test/resources/cassettes/features/v2/Get_all_application_keys_owned_by_current_user_returns_OK_response.json +++ b/src/test/resources/cassettes/features/v2/Get_all_application_keys_owned_by_current_user_returns_OK_response.json @@ -8,7 +8,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":[{\"type\":\"application_keys\",\"id\":\"fdcdec64-ca51-4208-a259-0405192c6447\",\"attributes\":{\"name\":\"1PASSWORD_SHARED\",\"created_at\":\"2023-10-03T19:27:33.054116+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"95f088d2-cd5f-4aaa-920d-95a87f5ebd3d\",\"attributes\":{\"name\":\"datadogpy gh\",\"created_at\":\"2023-05-31T17:27:38.214284+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"30b6d66c-d9c9-4d17-a52c-47a46409899d\",\"attributes\":{\"name\":\"Example-Get_all_Application_keys_returns_OK_response_1692972923\",\"created_at\":\"2023-08-25T14:15:23.703248+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"82df708f-76c6-4fbc-a0e0-9048de05a6e9\",\"attributes\":{\"name\":\"foo-application1\",\"created_at\":\"2023-09-18T17:19:29.760324+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"fd73328c-c90a-4453-9e2a-e5d40e918ebe\",\"attributes\":{\"name\":\"luis.valini\",\"created_at\":\"2022-06-21T10:53:15.846482+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"b35e8f9a-a94b-5b20-8ec2-4b76dd2e13e1\",\"attributes\":{\"name\":\"Romain\",\"created_at\":\"2021-04-19T14:01:09.155025+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"6e93352a-06eb-4101-9bd2-59455a0c6e60\",\"attributes\":{\"name\":\"terraform-config\",\"created_at\":\"2021-12-17T20:38:35.465545+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"1460be7f-6ac8-4fe4-968c-c4e37f25641a\",\"attributes\":{\"name\":\"Test-Typescript-Get_all_Application_keys_returns_OK_response-1695640119\",\"created_at\":\"2023-09-25T11:08:39.191668+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"4259f047-940b-447d-ae32-7613d30ce87b\",\"attributes\":{\"name\":\"Test-Typescript-Get_an_application_key_returns_OK_response-1695640119\",\"created_at\":\"2023-09-25T11:08:39.638983+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"ee103caa-e8a3-4a31-b4d9-9d1769c4c678\",\"attributes\":{\"name\":\"Test-Typescript-Get_one_Application_key_owned_by_current_user_returns_OK_response-1695640119\",\"created_at\":\"2023-09-25T11:08:40.104889+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"leak_information\":{\"data\":null}}}],\"meta\":{\"page\":{\"total_filtered_count\":10},\"max_allowed_per_user\":1000}}", + "body": "{\"data\":[{\"type\":\"application_keys\",\"id\":\"e177e012-5179-4275-ad0e-397d53348ee5\",\"attributes\":{\"name\":\"catdog-sync service\",\"created_at\":\"2025-08-06T14:21:34.802872+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-28T16:53:56.678679+00:00\"},\"relationships\":{\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"50107ecc-d7af-4a88-9d95-a37bd20ce503\",\"attributes\":{\"name\":\"datadog-api-client-go DD_CLIENT_API_KEY\",\"created_at\":\"2025-04-30T22:10:30.959154+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-09-08T00:25:13.718317+00:00\"},\"relationships\":{\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"d6ffc751-80f9-4933-ba74-ac6d23509a6f\",\"attributes\":{\"name\":\"datadog-api-client-java DD_CLIENT_APP_KEY\",\"created_at\":\"2025-05-01T13:17:07.875625+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-09-08T09:22:49.919514+00:00\"},\"relationships\":{\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"232f3748-52e3-4361-9c3f-6f72bded74ac\",\"attributes\":{\"name\":\"datadog-api-client-python DD_CLIENT_APP_KEY\",\"created_at\":\"2025-05-01T12:37:32.126936+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-09-08T01:31:43.917639+00:00\"},\"relationships\":{\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"84c30f49-92a7-43b4-a887-51ba5270ad1f\",\"attributes\":{\"name\":\"datadog-api-client-ruby DD_CLIENT_APP_KEY\",\"created_at\":\"2025-05-01T12:52:30.558770+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-09-06T02:26:31.159311+00:00\"},\"relationships\":{\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"09af1103-53de-4b68-903a-192bc4eec199\",\"attributes\":{\"name\":\"datadog-api-client-rust DD_CLIENT_APP_KEY\",\"created_at\":\"2025-05-01T13:25:08.030358+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-09-08T05:18:42.594830+00:00\"},\"relationships\":{\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"84b41420-c4f1-4f05-bede-629a9b2e04fc\",\"attributes\":{\"name\":\"datadog-api-client-typescript DD_CLIENT_APP_KEY\",\"created_at\":\"2025-05-01T13:11:18.380051+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-09-08T05:03:01.374951+00:00\"},\"relationships\":{\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"85c63381-6392-57db-ab31-2e4772882785\",\"attributes\":{\"name\":\"datadog-api-spec gh\",\"created_at\":\"2021-04-16T11:21:35.770268+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"c35ac549-a8b3-4093-985f-2731bbdbbcd4\",\"attributes\":{\"name\":\"datadog-api-spec Live Validation\",\"created_at\":\"2023-10-04T14:20:53.771922+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-09-08T09:24:43.663279+00:00\"},\"relationships\":{\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"c8e9bf49-dbeb-4c75-8930-725ed962c9f3\",\"attributes\":{\"name\":\"datadog-cloudformation-resources DD_TEST_CLIENT_APP_KEY\",\"created_at\":\"2025-04-30T19:13:37.837202+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"de508a6e-e038-47b4-83b3-5ff84e41e44a\",\"attributes\":{\"name\":\"datadog-cloudformation-resources secrets manager app key\",\"created_at\":\"2025-08-26T19:44:25.486264+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-26T23:53:23.269173+00:00\"},\"relationships\":{\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"1d10bbfd-364d-4178-acf6-1580b10416d2\",\"attributes\":{\"name\":\"datadogpy DD_TEST_CLIENT_APP_KEY\",\"created_at\":\"2025-05-01T13:33:32.008184+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"b231bb6d-e3ee-5fa4-969d-03fea7293d15\",\"attributes\":{\"name\":\"Get app keys\",\"created_at\":\"2021-05-25T09:40:46.767264+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"d7b694b6-6b25-449c-a47a-8fbd8690a7fa\",\"attributes\":{\"name\":\"terraform-provider-datadog DD_CLIENT_APP_KEY\",\"created_at\":\"2025-04-30T18:59:48.903847+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-09-08T00:35:07.899044+00:00\"},\"relationships\":{\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"33bfa2f1-822e-41e5-89e3-31321f80b50e\",\"attributes\":{\"name\":\"Test-Typescript-Create_an_Application_key_with_scopes_for_current_user_returns_Created_response-1754887332\",\"created_at\":\"2025-08-11T04:42:12.345571+00:00\",\"last4\":\"xxxx\",\"scopes\":[\"dashboards_read\",\"dashboards_write\",\"dashboards_public_share\"],\"last_used_at\":null},\"relationships\":{\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"b1311a26-9b14-4515-b1f6-1bab1f74e189\",\"attributes\":{\"name\":\"Test-Typescript-Get_an_application_key_returns_OK_response-1747739647\",\"created_at\":\"2025-05-20T11:14:07.823671+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"leak_information\":{\"data\":null}}}],\"meta\":{\"page\":{\"total_filtered_count\":16},\"max_allowed_per_user\":1000}}", "headers": { "Content-Type": [ "application/json" diff --git a/src/test/resources/cassettes/features/v2/Get_all_application_keys_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Get_all_application_keys_returns_OK_response.freeze index 1319e91d539..d95afc57f1e 100644 --- a/src/test/resources/cassettes/features/v2/Get_all_application_keys_returns_OK_response.freeze +++ b/src/test/resources/cassettes/features/v2/Get_all_application_keys_returns_OK_response.freeze @@ -1 +1 @@ -2023-10-16T13:28:36.152Z \ No newline at end of file +2025-09-08T09:24:46.907Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_all_application_keys_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Get_all_application_keys_returns_OK_response.json index 6d6db854ae5..9b4acb3fb49 100644 --- a/src/test/resources/cassettes/features/v2/Get_all_application_keys_returns_OK_response.json +++ b/src/test/resources/cassettes/features/v2/Get_all_application_keys_returns_OK_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"name\":\"Test-Get_all_application_keys_returns_OK_response-1697462916\"},\"type\":\"application_keys\"}}" + "json": "{\"data\":{\"attributes\":{\"name\":\"Test-Get_all_application_keys_returns_OK_response-1757323486\"},\"type\":\"application_keys\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"type\":\"application_keys\",\"id\":\"6104cd8c-fb93-4799-b2f9-6bc65effe94b\",\"attributes\":{\"name\":\"Test-Get_all_application_keys_returns_OK_response-1697462916\",\"created_at\":\"2023-10-16T13:28:36.659625+00:00\",\"last4\":\"xxxx\",\"key\":\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}}}", + "body": "{\"data\":{\"type\":\"application_keys\",\"id\":\"d516f4ec-0722-488c-9500-2d812b93d9b9\",\"attributes\":{\"name\":\"Test-Get_all_application_keys_returns_OK_response-1757323486\",\"created_at\":\"2025-09-08T09:24:46.992326+00:00\",\"last4\":\"xxxx\",\"key\":\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"leak_information\":{\"data\":null}}}}", "headers": { "Content-Type": [ "application/json" @@ -27,7 +27,7 @@ "timeToLive": { "unlimited": true }, - "id": "0474071e-4990-ddb0-2c7d-33060940cd4e" + "id": "19b90bb5-572e-2660-bd6e-bec920dbb1ac" }, { "httpRequest": { @@ -38,7 +38,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":[{\"type\":\"application_keys\",\"id\":\"fdcdec64-ca51-4208-a259-0405192c6447\",\"attributes\":{\"name\":\"1PASSWORD_SHARED\",\"created_at\":\"2023-10-03T19:27:33.054116+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"1af44bbc-b4f7-44be-a7da-e6b01227f87b\",\"attributes\":{\"name\":\"anton\",\"created_at\":\"2023-01-13T18:28:47.292864+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"79762769-9352-11ed-a082-5215624996c0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"f5aa63c8-2623-43c1-8b6b-a05276589f47\",\"attributes\":{\"name\":\"Azure Integrations - Datadog Managed - kevin.zou@datadoghq.com\",\"created_at\":\"2023-09-14T21:02:41.220686+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"d5bf7f0a-19b0-11ed-b0df-da7ad0900002\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"2e7607a6-0589-506d-a2eb-031267b12758\",\"attributes\":{\"name\":\"datadog-api-client-go azp\",\"created_at\":\"2021-04-15T15:51:25.012740+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"9550d220-6483-515b-a59c-fb1985ab84af\",\"attributes\":{\"name\":\"datadog-api-client-java azp\",\"created_at\":\"2021-04-15T15:51:06.920975+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"b6c79d32-2a4a-5549-b2d2-f9ca9da5533b\",\"attributes\":{\"name\":\"datadog-api-client-python azp\",\"created_at\":\"2021-04-16T12:36:45.731594+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"3ca848d1-0392-5776-955a-8e46d9bfc1c9\",\"attributes\":{\"name\":\"datadog-api-client-ruby azp\",\"created_at\":\"2021-04-16T07:37:26.812295+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"cdc6cacf-b958-50f7-8a50-bdf3e5b003f4\",\"attributes\":{\"name\":\"datadog-api-client-typescript azp\",\"created_at\":\"2021-04-16T07:52:35.988358+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"85c63381-6392-57db-ab31-2e4772882785\",\"attributes\":{\"name\":\"datadog-api-spec gh\",\"created_at\":\"2021-04-16T11:21:35.770268+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"c35ac549-a8b3-4093-985f-2731bbdbbcd4\",\"attributes\":{\"name\":\"datadog-api-spec Live Validation\",\"created_at\":\"2023-10-04T14:20:53.771922+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"e0c5cf11-00a7-5937-bd91-af665c665af9\",\"attributes\":{\"name\":\"datadog-cloudformation-resources ci\",\"created_at\":\"2021-07-05T15:06:46.010096+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"95f088d2-cd5f-4aaa-920d-95a87f5ebd3d\",\"attributes\":{\"name\":\"datadogpy gh\",\"created_at\":\"2023-05-31T17:27:38.214284+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"59944611-3c53-4f7d-861e-69fd2803263c\",\"attributes\":{\"name\":\"Example-Edit_an_app_key_owned_by_this_service_account_returns_OK_response_1692972901-updated\",\"created_at\":\"2023-08-25T14:15:02.734245+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"c8032247-4351-11ee-8617-0201a2edc5cd\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"30b6d66c-d9c9-4d17-a52c-47a46409899d\",\"attributes\":{\"name\":\"Example-Get_all_Application_keys_returns_OK_response_1692972923\",\"created_at\":\"2023-08-25T14:15:23.703248+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"82df708f-76c6-4fbc-a0e0-9048de05a6e9\",\"attributes\":{\"name\":\"foo-application1\",\"created_at\":\"2023-09-18T17:19:29.760324+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"b231bb6d-e3ee-5fa4-969d-03fea7293d15\",\"attributes\":{\"name\":\"Get app keys\",\"created_at\":\"2021-05-25T09:40:46.767264+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"797166d1-b70f-499d-95dd-be8db25ed7ef\",\"attributes\":{\"name\":\"HantingTestAppKey\",\"created_at\":\"2023-07-17T14:23:52.051345+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"b72434a1-b8ed-11ed-b3c2-da447d6968cb\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"666a9e06-0a49-51aa-9f3a-6d4954d38b9f\",\"attributes\":{\"name\":\"Hippo\",\"created_at\":\"2021-04-15T14:19:16.368956+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"35d26b5f-eba0-11e9-a77a-876976ea2f77\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"bedbcfc2-a1f5-53f4-8da0-912dad42be59\",\"attributes\":{\"name\":\"Jiri\",\"created_at\":\"2021-04-16T10:07:24.951636+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"9a56dfbc-009f-11ea-a77b-0b2eff7a464c\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"f06fcae4-eb55-459b-b73f-f017cca38769\",\"attributes\":{\"name\":\"KevinZou\",\"created_at\":\"2023-01-13T21:25:14.138198+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"d5bf7f0a-19b0-11ed-b0df-da7ad0900002\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"fd73328c-c90a-4453-9e2a-e5d40e918ebe\",\"attributes\":{\"name\":\"luis.valini\",\"created_at\":\"2022-06-21T10:53:15.846482+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"3c6c59a9-9f8b-40ad-b7ef-c0f3f1939d57\",\"attributes\":{\"name\":\"pcf-remote-config\",\"created_at\":\"2023-08-02T12:22:46.372973+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"ee9fbb8c-7b52-11eb-9634-da7ad0900002\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"b35e8f9a-a94b-5b20-8ec2-4b76dd2e13e1\",\"attributes\":{\"name\":\"Romain\",\"created_at\":\"2021-04-19T14:01:09.155025+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"589462a7-d1c9-559c-bbda-578b76475cb5\",\"attributes\":{\"name\":\"Sherzod\",\"created_at\":\"2021-04-22T13:21:12.318791+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"6018c832-80a7-11ea-93dd-43183212bc7a\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"14a8e601-703f-4d5c-989c-956599aec3bd\",\"attributes\":{\"name\":\"temporarykey\",\"created_at\":\"2023-03-20T18:39:14.113273+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"d5bf7f0a-19b0-11ed-b0df-da7ad0900002\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"6e93352a-06eb-4101-9bd2-59455a0c6e60\",\"attributes\":{\"name\":\"terraform-config\",\"created_at\":\"2021-12-17T20:38:35.465545+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"180e1ea3-5079-5fb3-a3d2-3a79ebad9f30\",\"attributes\":{\"name\":\"terraform-provider-datadog azp\",\"created_at\":\"2021-04-15T15:33:01.766357+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"cfc2bdbc-1013-4e59-8dc0-c4ac9bff7fe1\",\"attributes\":{\"name\":\"terraform-provider-datadog github-actions\",\"created_at\":\"2022-01-27T21:24:12.483638+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"6104cd8c-fb93-4799-b2f9-6bc65effe94b\",\"attributes\":{\"name\":\"Test-Get_all_application_keys_returns_OK_response-1697462916\",\"created_at\":\"2023-10-16T13:28:36.659625+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"1460be7f-6ac8-4fe4-968c-c4e37f25641a\",\"attributes\":{\"name\":\"Test-Typescript-Get_all_Application_keys_returns_OK_response-1695640119\",\"created_at\":\"2023-09-25T11:08:39.191668+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"4259f047-940b-447d-ae32-7613d30ce87b\",\"attributes\":{\"name\":\"Test-Typescript-Get_an_application_key_returns_OK_response-1695640119\",\"created_at\":\"2023-09-25T11:08:39.638983+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"ee103caa-e8a3-4a31-b4d9-9d1769c4c678\",\"attributes\":{\"name\":\"Test-Typescript-Get_one_Application_key_owned_by_current_user_returns_OK_response-1695640119\",\"created_at\":\"2023-09-25T11:08:40.104889+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}}],\"meta\":{\"page\":{\"total_filtered_count\":32},\"max_allowed_per_user\":1000}}", + "body": "{\"data\":[{\"type\":\"application_keys\",\"id\":\"fdcdec64-ca51-4208-a259-0405192c6447\",\"attributes\":{\"name\":\"1PASSWORD_SHARED\",\"created_at\":\"2023-10-03T19:27:33.054116+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-09-06T19:03:18.487091+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"9b71ae71-2999-45b8-a22c-22ec0ceabae7\",\"attributes\":{\"name\":\"Action Platform Scoped\",\"created_at\":\"2024-12-11T20:38:37.215071+00:00\",\"last4\":\"xxxx\",\"scopes\":[\"connections_read\",\"connections_write\"],\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"1af44bbc-b4f7-44be-a7da-e6b01227f87b\",\"attributes\":{\"name\":\"anton\",\"created_at\":\"2023-01-13T18:28:47.292864+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"79762769-9352-11ed-a082-5215624996c0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"285d30e7-586f-4ac3-9fbe-c34f9d448161\",\"attributes\":{\"name\":\"Application Key for Anika Update 2\",\"created_at\":\"2024-07-30T20:57:12.498075+00:00\",\"last4\":\"xxxx\",\"scopes\":[\"user_access_manage\"],\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"a20c7506-3e28-11ef-8b83-5264320c310a\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"c1180d01-a542-42f1-ad48-b47daeb71217\",\"attributes\":{\"name\":\"AWS Integrations - Datadog Managed - frog@datadoghq.com\",\"created_at\":\"2025-08-04T20:36:40.704123+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"c563a370-e205-488b-b485-cbf9d77161dd\",\"attributes\":{\"name\":\"AWS Integrations - Datadog Managed - kevin.zou@datadoghq.com\",\"created_at\":\"2023-10-23T19:54:59.816202+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"d5bf7f0a-19b0-11ed-b0df-da7ad0900002\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"40087854-cd0d-4114-8f03-9c2598ad910e\",\"attributes\":{\"name\":\"AWS Integrations - Datadog Managed - thibault.viennot@datadoghq.com\",\"created_at\":\"2025-06-20T12:20:14.276950+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"48e5025b-e308-11ef-8171-2eb8c40554f1\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"f5aa63c8-2623-43c1-8b6b-a05276589f47\",\"attributes\":{\"name\":\"Azure Integrations - Datadog Managed - kevin.zou@datadoghq.com\",\"created_at\":\"2023-09-14T21:02:41.220686+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"d5bf7f0a-19b0-11ed-b0df-da7ad0900002\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"27637d72-e5d6-4951-ba2e-484ff3aadc59\",\"attributes\":{\"name\":\"carlos DD_TEST_CLIENT_APP_KEY\",\"created_at\":\"2025-07-07T09:30:48.082564+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-07-15T09:36:57.008162+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"7d7298a6-5b14-11f0-89c7-eef2b9bf88cb\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"e177e012-5179-4275-ad0e-397d53348ee5\",\"attributes\":{\"name\":\"catdog-sync service\",\"created_at\":\"2025-08-06T14:21:34.802872+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-28T16:53:56.678679+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"50107ecc-d7af-4a88-9d95-a37bd20ce503\",\"attributes\":{\"name\":\"datadog-api-client-go DD_CLIENT_API_KEY\",\"created_at\":\"2025-04-30T22:10:30.959154+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-09-08T00:25:13.718317+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"d6ffc751-80f9-4933-ba74-ac6d23509a6f\",\"attributes\":{\"name\":\"datadog-api-client-java DD_CLIENT_APP_KEY\",\"created_at\":\"2025-05-01T13:17:07.875625+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-09-08T09:22:49.919514+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"232f3748-52e3-4361-9c3f-6f72bded74ac\",\"attributes\":{\"name\":\"datadog-api-client-python DD_CLIENT_APP_KEY\",\"created_at\":\"2025-05-01T12:37:32.126936+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-09-08T01:31:43.917639+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"84c30f49-92a7-43b4-a887-51ba5270ad1f\",\"attributes\":{\"name\":\"datadog-api-client-ruby DD_CLIENT_APP_KEY\",\"created_at\":\"2025-05-01T12:52:30.558770+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-09-06T02:26:31.159311+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"09af1103-53de-4b68-903a-192bc4eec199\",\"attributes\":{\"name\":\"datadog-api-client-rust DD_CLIENT_APP_KEY\",\"created_at\":\"2025-05-01T13:25:08.030358+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-09-08T05:18:42.594830+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"84b41420-c4f1-4f05-bede-629a9b2e04fc\",\"attributes\":{\"name\":\"datadog-api-client-typescript DD_CLIENT_APP_KEY\",\"created_at\":\"2025-05-01T13:11:18.380051+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-09-08T05:03:01.374951+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"85c63381-6392-57db-ab31-2e4772882785\",\"attributes\":{\"name\":\"datadog-api-spec gh\",\"created_at\":\"2021-04-16T11:21:35.770268+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"c35ac549-a8b3-4093-985f-2731bbdbbcd4\",\"attributes\":{\"name\":\"datadog-api-spec Live Validation\",\"created_at\":\"2023-10-04T14:20:53.771922+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-09-08T09:24:47.087459+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"c8e9bf49-dbeb-4c75-8930-725ed962c9f3\",\"attributes\":{\"name\":\"datadog-cloudformation-resources DD_TEST_CLIENT_APP_KEY\",\"created_at\":\"2025-04-30T19:13:37.837202+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"de508a6e-e038-47b4-83b3-5ff84e41e44a\",\"attributes\":{\"name\":\"datadog-cloudformation-resources secrets manager app key\",\"created_at\":\"2025-08-26T19:44:25.486264+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-26T23:53:23.269173+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"1d10bbfd-364d-4178-acf6-1580b10416d2\",\"attributes\":{\"name\":\"datadogpy DD_TEST_CLIENT_APP_KEY\",\"created_at\":\"2025-05-01T13:33:32.008184+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"8e27b1f1-acce-4be6-b54e-e1ded3274f9a\",\"attributes\":{\"name\":\"dd_auth_cli-14BApD1eN6d2ogBGozyZFMtoJYX6OEsK_F9MAMiAOjY\",\"created_at\":\"2025-06-24T08:22:49.645306+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"f23c5e6a-1f99-11f0-beba-3e2533bbf89d\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"84bdce07-8e8c-4989-b34d-f06b2325b2a4\",\"attributes\":{\"name\":\"dd_auth_cli-1GEHTD5brrIh5hHy1n3Cp5dJ7M2XTOB_2dC2b6jLgn4\",\"created_at\":\"2025-06-26T06:12:24.454411+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"f23c5e6a-1f99-11f0-beba-3e2533bbf89d\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"05623c54-3b8f-45e1-ade0-d970b91ffcaf\",\"attributes\":{\"name\":\"dd_auth_cli-1nXv9OeNV8UI21xPe69VxM1EvRZAF3rDAOyz2s3UOZo\",\"created_at\":\"2025-05-13T06:13:34.288539+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"bc2bac8c-0b78-11f0-8b67-c24ce8498984\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"8cb405cc-9192-42f5-9855-1176309466f2\",\"attributes\":{\"name\":\"dd_auth_cli-1qpml3DJtC5vHX9V2alMkmpfuH-YacPORu1e160y92M\",\"created_at\":\"2025-05-26T17:22:53.515596+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"ebfc3d41-c9fa-41fa-aeb9-bb42def532b0\",\"attributes\":{\"name\":\"dd_auth_cli-1vZevdCmh8C_vexcjAgxX3nd4WB8lGjhgeYnh2nR02w\",\"created_at\":\"2025-08-08T14:49:17.023663+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"cc13a65b-c196-4f61-ad76-79dfe5f67517\",\"attributes\":{\"name\":\"dd_auth_cli-3l17qRITcGXPcmXmwB_4QQ1jOXOAPot0TZLnJs5lWyc\",\"created_at\":\"2025-08-25T15:07:25.998804+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-25T15:10:28.996108+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"2ae6567c-a870-49b3-89b6-32a7f1cabeca\",\"attributes\":{\"name\":\"dd_auth_cli-3ur7ra0_6tAvNYt9ReIDDeOcIoJudFjNmMlB8Z39vjw\",\"created_at\":\"2025-07-16T08:31:59.244464+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-07-16T12:31:57.672127+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"11f536b0-7340-43f7-8a9f-0b109bc5fef9\",\"attributes\":{\"name\":\"dd_auth_cli-677Bs7RQ0mbuqRcHCg727OyXjvXE19l5P3w0YCGrtYI\",\"created_at\":\"2025-08-06T19:59:46.341371+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"37a74f9a-4271-43b2-b2d0-03aa8cf71235\",\"attributes\":{\"name\":\"dd_auth_cli-6AjApR9sFCGQcHGiCyZE4SH5AaloTj2pNkZEnnhMd-0\",\"created_at\":\"2025-08-08T14:42:13.744288+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-08T14:42:14.806973+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"8755a109-600e-4d84-86aa-2dab70e7939b\",\"attributes\":{\"name\":\"dd_auth_cli-6ch5NS2AEv8c6ZdMEKdWzv1j5dWAu0cbTzJ3M9Kpxzg\",\"created_at\":\"2025-05-20T08:01:21.856112+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"6bb27921-df1b-11ef-94f5-1629c267ca5b\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"919d81dd-07b9-41c2-a3b3-0aca47acb9db\",\"attributes\":{\"name\":\"dd_auth_cli-6dI-6m5r81vMdoiFgjIutCnonj5ASOlwLNuOvJCMV5g\",\"created_at\":\"2025-06-13T20:23:35.865392+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"31af266d-767d-4ba7-a876-513a783553cc\",\"attributes\":{\"name\":\"dd_auth_cli-8o0polv-CeYBIiqpA7SvwSFDCsUWHyatN6WHLU-KqiI\",\"created_at\":\"2025-08-06T20:06:05.826919+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-06T20:06:06.946211+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"d306648b-4c25-467b-8a18-dc1c423d6878\",\"attributes\":{\"name\":\"dd_auth_cli-aCoZ-az9981vfSpnQbwi_FuQE7EtDR_wCodYPOrgGuM\",\"created_at\":\"2025-07-15T22:16:33.439179+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-07-16T15:55:34.820097+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"f3f4dde5-5ccc-4c5d-a234-38ea6b5e4b53\",\"attributes\":{\"name\":\"dd_auth_cli-AFVSnSWVuvck6f3IeNERel5Lj4DQPhpnZ-bEvU8ezss\",\"created_at\":\"2025-08-19T13:09:31.629038+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-19T13:09:38.488393+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"cdeaca14-15ad-4886-bbbf-a44e02866708\",\"attributes\":{\"name\":\"dd_auth_cli-AiurkPBMfWN7Kbe4hJifzsC7Zn0FzVe7jkZwkbAKDBk\",\"created_at\":\"2025-06-02T12:55:17.262071+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"38f23b5c-3d66-11f0-93c5-fa44e6b5daf3\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"a1bfc99d-ae44-4ce7-8175-14451f2155a8\",\"attributes\":{\"name\":\"dd_auth_cli-BjTRrCq8NzqZ_hzuiLfOi7PsXK_-VgwTKjFG0gEfll8\",\"created_at\":\"2025-08-04T17:12:41.578175+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-04T22:12:13.524575+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"e876c978-8430-4d4f-8ae3-c707e1204c66\",\"attributes\":{\"name\":\"dd_auth_cli-C9DReFHwxR-gONc65Z2vAxO4NSoqfgIVY__TY61KAT0\",\"created_at\":\"2025-05-13T08:00:20.023612+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"f23c5e6a-1f99-11f0-beba-3e2533bbf89d\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"b0246a7e-6afa-436e-8d93-861aa759293c\",\"attributes\":{\"name\":\"dd_auth_cli-d053wHVio7nJZptGeuVbRoLaZRhQp4qlDDCKFs11bzM\",\"created_at\":\"2025-08-04T16:44:01.265450+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-04T16:44:02.347172+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"42a362cc-7e0c-42f0-a232-fe079ee1eb90\",\"attributes\":{\"name\":\"dd_auth_cli-D5OkpdUmScZL--KSBXXT5fyqE9gwOvXtGISSoQGnSDE\",\"created_at\":\"2025-09-01T15:29:38.665526+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-09-01T15:57:30.263057+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"7710bf2c-d81f-4c53-a88e-1371a22916a5\",\"attributes\":{\"name\":\"dd_auth_cli-D7nVeCjxg-a5r-HX-3_I8gwbiM7zAEv6cikKYLHPTsc\",\"created_at\":\"2025-08-28T16:01:49.071654+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-28T16:01:50.253378+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"b72434a1-b8ed-11ed-b3c2-da447d6968cb\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"525527a7-4134-41ab-a825-efd59d85ffe0\",\"attributes\":{\"name\":\"dd_auth_cli-Df5oHbucP2LvrFm5R9K2C-kA7vs0Rs3P7U1VlpljhRc\",\"created_at\":\"2025-08-08T16:36:30.246018+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-08T16:37:45.330457+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"5c680e22-b764-4af6-886e-ac7bcbc484af\",\"attributes\":{\"name\":\"dd_auth_cli-DNkLNT-qXPboaBQqVd_r-nmQ7RdZuyFnlSjjBtaUZ5s\",\"created_at\":\"2025-05-21T11:01:40.459507+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"f23c5e6a-1f99-11f0-beba-3e2533bbf89d\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"650654de-4939-4274-a446-9b34655c3fa8\",\"attributes\":{\"name\":\"dd_auth_cli-D-WEz_8GsxjSHJcD5dCsJKHAopoVyBY2LU-TAlTisTA\",\"created_at\":\"2025-07-17T15:26:09.097215+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-07-17T15:26:10.176290+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"600cf73d-af11-46ec-ad4f-7c38560b78b7\",\"attributes\":{\"name\":\"dd_auth_cli-e4nMAEgnQ8S-Yb_uhlDZAd8OzJgE0jtKee2D1R-A1Aw\",\"created_at\":\"2025-08-08T14:43:32.083607+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-08T14:43:33.153383+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"30b65cec-0571-486d-933a-41d1eef8d82f\",\"attributes\":{\"name\":\"dd_auth_cli-eKpTSf1RZmBkjbEop-SVzDPSwSS8eNcEk-GShYXm_jw\",\"created_at\":\"2025-06-16T17:46:45.990350+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"b742c082-baef-4704-aeb2-88464bfb40fa\",\"attributes\":{\"name\":\"dd_auth_cli-fBcG5DIPWTJJUG73NXNrRaSb-AwbtOOV1-3QADS2aKU\",\"created_at\":\"2025-08-14T21:51:07.879448+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-15T01:08:20.647560+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"b76bdd73-4002-4f77-8db5-578cd1c54ba7\",\"attributes\":{\"name\":\"dd_auth_cli-FlJzYiNu7jXNk4gKudZY7BJdyE0kpjn5SoQZ8Xi8vpM\",\"created_at\":\"2025-05-19T13:36:13.392971+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"f23c5e6a-1f99-11f0-beba-3e2533bbf89d\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"ff2f5fc5-b970-4f49-bcb1-43e851a3c133\",\"attributes\":{\"name\":\"dd_auth_cli-fObcQFul0q5g5fd_wqa7rKq5kW7ESEslnCdluUozUbI\",\"created_at\":\"2025-07-17T14:58:56.928692+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-07-17T15:03:32.129656+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"e02b86ca-2682-4e34-80a9-ef14c2236549\",\"attributes\":{\"name\":\"dd_auth_cli-gDz3RlxutQVjCL-Nqc4k0sfqM6sD6LISdpW4l-q1BQ8\",\"created_at\":\"2025-06-09T15:54:22.482948+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"9843f29f-4fc4-47c2-b40b-0db02460331f\",\"attributes\":{\"name\":\"dd_auth_cli-GOFdjGa5HypgeqeHxLqHFZNllSTVnVbfNL4JOkSScek\",\"created_at\":\"2025-08-06T20:12:20.847562+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-06T20:12:21.924155+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"ab170dfa-8410-4256-9007-13b32c79d364\",\"attributes\":{\"name\":\"dd_auth_cli-GwL_T2UB8UmAPZj9w4ikYLCU0_e7T8dDfIgYAxQOKQ8\",\"created_at\":\"2025-08-13T20:31:26.029416+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-13T20:31:27.127709+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"6018c832-80a7-11ea-93dd-43183212bc7a\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"719b37e5-27da-41af-b763-4e171dc8e1b4\",\"attributes\":{\"name\":\"dd_auth_cli-GxcqEWHvfRXoeG-I0WfAblP2tnzqjcB7oG5GUxFFhvw\",\"created_at\":\"2025-07-22T12:53:59.022004+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-07-22T15:51:20.613827+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"f0d9bb99-6ab2-4fb6-839f-28c802429283\",\"attributes\":{\"name\":\"dd_auth_cli-h8U9dJxjpzdD2kuDDEwXUlYrULhm5L5KT7vjxTtUqbk\",\"created_at\":\"2025-08-06T17:35:53.904190+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-06T17:54:01.144073+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"de21459a-7d5e-464e-9f65-37914fef2abf\",\"attributes\":{\"name\":\"dd_auth_cli-h8vRXFcXtCsLk6Qit9MeV_bsSpBeflzR2a-MZ75LL8o\",\"created_at\":\"2025-05-23T17:18:15.033418+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"e32b4686-ea8f-413d-9644-7c10159ae6e4\",\"attributes\":{\"name\":\"dd_auth_cli-hHge9OYHD3CibMCtofSnjdK9j7oAZFmIX6CJ09mk8GU\",\"created_at\":\"2025-05-20T19:22:49.213299+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"3917f5a8-32e4-48d4-b78d-8fe65ba43967\",\"attributes\":{\"name\":\"dd_auth_cli-HwmxaoR2v4h-m8osv5EcV0D-Qq1uSiG6yToI5f7q-fM\",\"created_at\":\"2025-04-18T12:56:06.455308+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"c0e3d30a-3f89-11ef-8991-d66079fdd770\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"e21f3701-58e2-4606-9e63-da22c70746a0\",\"attributes\":{\"name\":\"dd_auth_cli-Iqbht-sUA9p7E0ncGdQM6CiK2vGx0t7B1Q8vx_71Syk\",\"created_at\":\"2025-06-13T16:26:56.554572+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"8ac1707b-e841-4359-8cbb-3590947cf760\",\"attributes\":{\"name\":\"dd_auth_cli-joIE5ujwAc6jVTc0uSKJEDaZsBNhtCZwtcPA946Op1A\",\"created_at\":\"2025-06-25T10:41:39.819242+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"f23c5e6a-1f99-11f0-beba-3e2533bbf89d\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"c5744b35-15c5-4df5-b751-118ecbe15c6c\",\"attributes\":{\"name\":\"dd_auth_cli-kNf8JRfsHxbWj6HBN1-K4NIECiuFrvmbIgyZxMpoUvI\",\"created_at\":\"2025-05-29T01:57:58.292379+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"bc2bac8c-0b78-11f0-8b67-c24ce8498984\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"bcc86008-eef8-469f-a458-27fa1ab2ac5d\",\"attributes\":{\"name\":\"dd_auth_cli-konGbtZHuKbqCxBJF4ciDAXhfP59aVwwypix6YbBaok\",\"created_at\":\"2025-08-06T19:56:51.632593+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-06T19:56:52.702590+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"1ba43d01-d846-4bb5-ba81-2b3c5c6059e7\",\"attributes\":{\"name\":\"dd_auth_cli-l00nm3G_xOXbo8ngcfXcNaFaMSAH-6DhRYet_p9KMO8\",\"created_at\":\"2025-08-13T18:04:40.532723+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-13T21:37:53.966739+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"d6c7c1e3-9c76-4c0c-b349-8348306c9f67\",\"attributes\":{\"name\":\"dd_auth_cli-l0yswWyq1f82Po3U-DD6_Ev-wezdQp32NQquoZutXj4\",\"created_at\":\"2025-08-06T20:11:09.472822+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-06T20:11:10.596337+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"0010260b-3db4-40cd-a624-837afcc11679\",\"attributes\":{\"name\":\"dd_auth_cli-l618z5aUqAE3ZyggHYBnCeE8GJ0WldyNrGynfdxzs_0\",\"created_at\":\"2025-07-16T09:42:20.536681+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-07-16T09:50:21.375532+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"f23c5e6a-1f99-11f0-beba-3e2533bbf89d\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"00647911-ffb3-4280-82b2-16236e64beff\",\"attributes\":{\"name\":\"dd_auth_cli-leLnigHKWcq5GNLkyP0YOIEnzWYMs2kRleW-e5zsGT8\",\"created_at\":\"2025-09-01T09:49:21.851699+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-09-01T09:49:23.053526+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"c0e3d30a-3f89-11ef-8991-d66079fdd770\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"a8114ac6-827b-4bb3-b4e9-5f8bfb6dcadc\",\"attributes\":{\"name\":\"dd_auth_cli-m_1R5Gx6OpoKc2CjWO4DoMEKUzWgur0dFDSVu8QvSRM\",\"created_at\":\"2025-08-22T17:58:39.350082+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-22T18:25:24.540147+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"a9419136-c53d-4a9d-b0da-4a8d351d610c\",\"attributes\":{\"name\":\"dd_auth_cli-mdCfsHcKy60bFLk8-n3Z4Q-JmKlQxWmbHULpgb9BVe0\",\"created_at\":\"2025-06-23T08:56:43.164696+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"ca5685ce-b968-11ef-9fbd-d61e3f92c3c7\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"f5fdf1fa-4ee8-4377-88fb-6182297e4dd7\",\"attributes\":{\"name\":\"dd_auth_cli-mtc_c8VMXI2yGzSljsLxtnb3surKiZZnytT-odoT2R4\",\"created_at\":\"2025-08-26T19:55:43.666320+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-26T21:01:43.105824+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"03e6bc43-7ecc-11f0-b50b-f28f2be41840\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"c5ba5258-07ab-4e8b-9dc5-a3a72e745c67\",\"attributes\":{\"name\":\"dd_auth_cli-mZ7xZW18JdOYciGI9TRNDE5vt7q79oWoneUkZqgseto\",\"created_at\":\"2025-08-07T15:28:15.537547+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-07T15:28:16.626952+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"4317780a-a5c8-4b0c-8e41-4046683ccfdd\",\"attributes\":{\"name\":\"dd_auth_cli-N7rO0NJgNxJwQPtxah_GJEL6w7qcDlNZVa8MgOJ8hOE\",\"created_at\":\"2025-08-06T19:59:18.930140+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-06T19:59:20.049161+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"ba7b1b59-9701-418c-939e-72cbfecc5241\",\"attributes\":{\"name\":\"dd_auth_cli-nRtr8GjGWhfAj3dsQ0W8Fon70xiUOSGdGKVFZ0egdtI\",\"created_at\":\"2025-07-15T09:32:55.092760+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-07-15T09:32:56.236991+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"4d76280e-1acd-11f0-81f0-8e6d360bddb8\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"f336f64b-3dc5-44eb-9f0e-ee1c720869aa\",\"attributes\":{\"name\":\"dd_auth_cli-oh3xCP3f1Qyix8aber4UJSQQBX3ERVviWuuoiW4W_BA\",\"created_at\":\"2025-07-21T09:02:40.747386+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-07-22T16:37:45.010358+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"0c45dcdf-db61-447a-b359-e8b3c6b87a88\",\"attributes\":{\"name\":\"dd_auth_cli-pLLZn_RvQCqs0sn6TV50jA8S2B2CqayzVhvFxzHXx-A\",\"created_at\":\"2025-07-15T09:26:42.785095+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-07-15T12:11:51.743162+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"7d7298a6-5b14-11f0-89c7-eef2b9bf88cb\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"75b5f7b3-45c1-4efc-a543-f38940fee779\",\"attributes\":{\"name\":\"dd_auth_cli-prQ1dXUIrZu41btEEi-WnTfbJoRx3HMF2yk7Ze2LS7U\",\"created_at\":\"2025-06-12T20:14:46.087509+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"4eb113cc-47ab-460a-bc7d-edb8c4d8b2ea\",\"attributes\":{\"name\":\"dd_auth_cli-q0EpIMzSjQbs2UjdQz2gcqbYWgMudbuHEXNDLPczqHU\",\"created_at\":\"2025-08-11T14:09:07.164487+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-11T18:38:59.781839+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"4bce02d4-3769-428e-be0b-674a5a38f2ef\",\"attributes\":{\"name\":\"dd_auth_cli-Q3-AEMhz_htWDmnzmtE8BSkSm_L97zypfPpVhGzFqVo\",\"created_at\":\"2025-08-06T19:58:21.272803+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-06T19:58:22.341523+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"7a71b928-96ab-4ce0-aee6-c99a0c091afa\",\"attributes\":{\"name\":\"dd_auth_cli-qhrPivStbeP1b_OwnIVwLRs0SCoA405beuGDW3muwZw\",\"created_at\":\"2025-07-17T08:14:37.336301+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-07-17T10:19:30.195485+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"7d7298a6-5b14-11f0-89c7-eef2b9bf88cb\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"dd941e08-d0fa-47a8-9695-e23cdf2d5e5c\",\"attributes\":{\"name\":\"dd_auth_cli-qPXXzBwTCXz8Iz1hLyUBpkHV8IemWnUihr5iZK8odwQ\",\"created_at\":\"2025-07-18T08:12:53.318244+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-07-22T10:13:38.124872+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"61162737-13b1-42f6-984b-9785a857c4a4\",\"attributes\":{\"name\":\"dd_auth_cli-r4iIDKGT07H5MmDCO0MkWmfDUvGydm6cMO31LvX-HHI\",\"created_at\":\"2025-07-07T09:32:08.840682+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"7d7298a6-5b14-11f0-89c7-eef2b9bf88cb\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"8036674c-925d-488a-bc15-34a55e7b23bf\",\"attributes\":{\"name\":\"dd_auth_cli-sf_aDog0P30KkAP9bt6XLp4htrnZoEnLFq74QnF0ne4\",\"created_at\":\"2025-09-02T16:51:00.268116+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-09-02T16:51:37.381998+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"6018c832-80a7-11ea-93dd-43183212bc7a\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"cea617c0-cfec-46c1-8b3c-0de8ed239685\",\"attributes\":{\"name\":\"dd_auth_cli-SrnMCQm8wxDtC5M2P_u1TumwnmlK0QzYj8kXpTAYBxo\",\"created_at\":\"2025-08-12T16:03:08.395952+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-12T22:53:21.428613+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"151e3c91-5f11-4dd4-aa5c-c7afb925d614\",\"attributes\":{\"name\":\"dd_auth_cli-SuQ0F1PDz0HPhCp4qyIfFgVrDPvrW9-owKXzKWwqwfs\",\"created_at\":\"2025-08-21T21:02:38.483921+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-21T21:06:29.408848+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"03e6bc43-7ecc-11f0-b50b-f28f2be41840\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"14097408-6817-447e-b402-5d24a04b4985\",\"attributes\":{\"name\":\"dd_auth_cli-_tDKWqOYVDGLveCl2ypYNOY8f4CXNmOu-cPhLflz-Sw\",\"created_at\":\"2025-08-06T20:15:58.719075+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-06T20:15:59.800244+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"de46aebc-7fe0-4a06-856d-9fa80095f7e4\",\"attributes\":{\"name\":\"dd_auth_cli-tUpX2JxyMlWYg7gtqKWp0utgPhJLBk_FBMDJ08fFr20\",\"created_at\":\"2025-06-09T23:19:51.156727+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"bc2bac8c-0b78-11f0-8b67-c24ce8498984\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"179ab85a-564c-4937-b422-2df10982b7c8\",\"attributes\":{\"name\":\"dd_auth_cli-UBUETzIFqy7Q5dTyxuyqy4cZAku4nVnYt7TQgS_4pPo\",\"created_at\":\"2025-08-22T14:41:54.291923+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-22T19:33:19.268650+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"03e6bc43-7ecc-11f0-b50b-f28f2be41840\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"83aa52ec-9ef9-4dbe-932c-a024cad037a8\",\"attributes\":{\"name\":\"dd_auth_cli-uIRg46B2GWWEnkvZetHCTJCOirtGSKvaL_gsmFNKqxo\",\"created_at\":\"2025-07-16T05:12:51.320436+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-07-16T05:12:52.486119+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"7d7298a6-5b14-11f0-89c7-eef2b9bf88cb\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"ca7bde67-4a15-4009-bafa-da97dc30ddf6\",\"attributes\":{\"name\":\"dd_auth_cli-uKC1WIpU1Hm83Z4uEZw5xoFdquXAQpbEQOlJbHYptYI\",\"created_at\":\"2025-08-08T14:39:59.743432+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-08T14:40:00.818164+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"eb5721b7-532b-4e65-a495-f055dd1481e8\",\"attributes\":{\"name\":\"dd_auth_cli-UMIXzLWI2hXNaEpcGO7dKJGvNwacbzPzVm7zL2EDujs\",\"created_at\":\"2025-06-18T15:01:36.825772+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"f23c5e6a-1f99-11f0-beba-3e2533bbf89d\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"ba3943f9-c539-4999-a828-b6c0ed904c9d\",\"attributes\":{\"name\":\"dd_auth_cli-uMpl8gt8U7ZXEhyp42jQLB_hd7nrCG2XvRfxMOsh8_0\",\"created_at\":\"2025-08-25T14:04:08.842996+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-25T18:23:21.045432+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"03e6bc43-7ecc-11f0-b50b-f28f2be41840\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"3fd6f567-de3b-4e31-9a24-88472d479a6e\",\"attributes\":{\"name\":\"dd_auth_cli-W6VZqwObNmfuKyLjJVXkHJi70HByec1_exB3ZN0J9nQ\",\"created_at\":\"2025-07-21T18:12:40.519160+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-07-21T18:12:46.178990+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"6018c832-80a7-11ea-93dd-43183212bc7a\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"0022abce-64ee-434c-8790-6407ec68afdd\",\"attributes\":{\"name\":\"dd_auth_cli-WTZiLrQySPtM1ITkkxcwE16FBn5c8BFqERDvnzLwOsQ\",\"created_at\":\"2025-05-13T23:33:17.241106+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"bc2bac8c-0b78-11f0-8b67-c24ce8498984\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"9d8858e8-4f5b-4f7a-bc58-307713d5d6b2\",\"attributes\":{\"name\":\"dd_auth_cli-WUaKCo760YG1oesaxAgjGRDzVSYcRlZ8q53aATtqAK0\",\"created_at\":\"2025-08-12T20:24:59.410295+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-13T03:28:28.654234+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"52b336b1-f44a-45f0-8447-7a3463254d96\",\"attributes\":{\"name\":\"dd_auth_cli-xAHXDKGfGq5RlVvP1I6wU00V2RnnXcW7f21nsWH4kNI\",\"created_at\":\"2025-08-08T14:36:37.710175+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-08T20:21:38.489595+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"e39f9aa1-f928-48b9-a565-1aff449fa58c\",\"attributes\":{\"name\":\"dd_auth_cli-xbc1_-qyZeYPpmfP-wOsLcdIg1XYfL1XVsuecKO70hE\",\"created_at\":\"2025-06-23T12:08:54.409669+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"27e2dc5a-fa25-4ffb-8124-6507f913aa37\",\"attributes\":{\"name\":\"dd_auth_cli-xN74v7LMTSnCMQ4wA008LvUIN82foCUdyyDydfBgxFY\",\"created_at\":\"2025-08-08T14:50:13.627386+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-08T14:50:14.696171+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"98668a07-34ae-4816-a393-c3c1ee57021a\",\"attributes\":{\"name\":\"dd_auth_cli-XuCAMIeYukstpvOgmSWD2yg4fAt6pNSV67y58RlNJCU\",\"created_at\":\"2025-08-15T19:57:32.938196+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-15T19:59:36.509032+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"ba6aefbd-2cb1-4dc7-ae70-1eeea08229e3\",\"attributes\":{\"name\":\"dd_auth_cli-XwrB33omJjuAYFwDMe5xQCyyRPiHOjFVxyS0ZmA0MBA\",\"created_at\":\"2025-08-08T14:51:55.720155+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-08T15:00:37.071434+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"2c538aa6-b5c4-4ad0-96e3-287ad143294e\",\"attributes\":{\"name\":\"dd_auth_cli-y9K9DzNCa_Fx0A72APTDnBgRHUCDyYn5Zx_KACpLwG0\",\"created_at\":\"2025-08-06T20:19:07.676965+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":\"2025-08-06T20:23:45.047197+00:00\"},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"762700e3-f608-41cd-999f-f39a109cd5ea\",\"attributes\":{\"name\":\"ddiner-test\",\"created_at\":\"2024-08-27T21:14:23.327175+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"dd8a374c-5f24-11ef-bba0-4a24e0ae025c\"}},\"leak_information\":{\"data\":null}}},{\"type\":\"application_keys\",\"id\":\"14852f74-9cc7-4a4c-94c5-0f97cb33f810\",\"attributes\":{\"name\":\"[DO NOT DELETE] App Key Registration Casette\",\"created_at\":\"2025-07-07T22:35:29.819899+00:00\",\"last4\":\"xxxx\",\"scopes\":[\"monitors_read\"],\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}}],\"meta\":{\"page\":{\"total_filtered_count\":146},\"max_allowed_per_user\":1000}}", "headers": { "Content-Type": [ "application/json" @@ -59,7 +59,7 @@ "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/current_user/application_keys/6104cd8c-fb93-4799-b2f9-6bc65effe94b", + "path": "/api/v2/current_user/application_keys/d516f4ec-0722-488c-9500-2d812b93d9b9", "keepAlive": false, "secure": true }, @@ -78,6 +78,6 @@ "timeToLive": { "unlimited": true }, - "id": "0beec328-c7e5-6d0d-6ff1-f4feabccbbb3" + "id": "f667e74b-7154-ffee-12a8-f4bf0ff68ae3" } ] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_an_application_key_returns_Not_Found_response.freeze b/src/test/resources/cassettes/features/v2/Get_an_application_key_returns_Not_Found_response.freeze new file mode 100644 index 00000000000..5596c0b9811 --- /dev/null +++ b/src/test/resources/cassettes/features/v2/Get_an_application_key_returns_Not_Found_response.freeze @@ -0,0 +1 @@ +2025-09-09T14:58:18.357Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_an_application_key_returns_Not_Found_response.json b/src/test/resources/cassettes/features/v2/Get_an_application_key_returns_Not_Found_response.json new file mode 100644 index 00000000000..a2720c57e0e --- /dev/null +++ b/src/test/resources/cassettes/features/v2/Get_an_application_key_returns_Not_Found_response.json @@ -0,0 +1,28 @@ +[ + { + "httpRequest": { + "headers": {}, + "method": "GET", + "path": "/api/v2/application_keys/invalidId", + "keepAlive": false, + "secure": true + }, + "httpResponse": { + "body": "{\"errors\":[\"Application key not found\"]}", + "headers": { + "Content-Type": [ + "application/json" + ] + }, + "statusCode": 404, + "reasonPhrase": "Not Found" + }, + "times": { + "remainingTimes": 1 + }, + "timeToLive": { + "unlimited": true + }, + "id": "e94b5a8b-521e-c00f-ea27-7064de7da7d1" + } +] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_an_application_key_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Get_an_application_key_returns_OK_response.freeze index a80754e098e..331a59c6584 100644 --- a/src/test/resources/cassettes/features/v2/Get_an_application_key_returns_OK_response.freeze +++ b/src/test/resources/cassettes/features/v2/Get_an_application_key_returns_OK_response.freeze @@ -1 +1 @@ -2022-05-12T09:52:19.501Z \ No newline at end of file +2025-09-08T09:24:48.419Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_an_application_key_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Get_an_application_key_returns_OK_response.json index ba8a45246ba..ca5b317909e 100644 --- a/src/test/resources/cassettes/features/v2/Get_an_application_key_returns_OK_response.json +++ b/src/test/resources/cassettes/features/v2/Get_an_application_key_returns_OK_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"name\":\"Test-Get_an_application_key_returns_OK_response-1652349139\"},\"type\":\"application_keys\"}}" + "json": "{\"data\":{\"attributes\":{\"name\":\"Test-Get_an_application_key_returns_OK_response-1757323488\"},\"type\":\"application_keys\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"type\":\"application_keys\",\"id\":\"17d9fa70-2830-450c-904b-0720d93722a9\",\"attributes\":{\"name\":\"Test-Get_an_application_key_returns_OK_response-1652349139\",\"created_at\":\"2022-05-12T09:52:20.054892+00:00\",\"last4\":\"xxxx\",\"key\":\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}}}", + "body": "{\"data\":{\"type\":\"application_keys\",\"id\":\"0292830c-dde3-4e62-a568-573e4be65dff\",\"attributes\":{\"name\":\"Test-Get_an_application_key_returns_OK_response-1757323488\",\"created_at\":\"2025-09-08T09:24:48.499395+00:00\",\"last4\":\"xxxx\",\"key\":\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"leak_information\":{\"data\":null}}}}", "headers": { "Content-Type": [ "application/json" @@ -27,18 +27,18 @@ "timeToLive": { "unlimited": true }, - "id": "d6c006f2-e8e9-c9ba-375e-272ab7ba30b1" + "id": "04aeed6c-01d1-3369-72ac-44b742198dfc" }, { "httpRequest": { "headers": {}, "method": "GET", - "path": "/api/v2/application_keys/17d9fa70-2830-450c-904b-0720d93722a9", + "path": "/api/v2/application_keys/0292830c-dde3-4e62-a568-573e4be65dff", "keepAlive": false, "secure": true }, "httpResponse": { - "body": "{\"data\":{\"type\":\"application_keys\",\"id\":\"17d9fa70-2830-450c-904b-0720d93722a9\",\"attributes\":{\"name\":\"Test-Get_an_application_key_returns_OK_response-1652349139\",\"created_at\":\"2022-05-12T09:52:20.054892+00:00\",\"last4\":\"xxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}}}", + "body": "{\"data\":{\"type\":\"application_keys\",\"id\":\"0292830c-dde3-4e62-a568-573e4be65dff\",\"attributes\":{\"name\":\"Test-Get_an_application_key_returns_OK_response-1757323488\",\"created_at\":\"2025-09-08T09:24:48.499395+00:00\",\"last4\":\"xxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"leak_information\":{\"data\":null}}}}", "headers": { "Content-Type": [ "application/json" @@ -53,18 +53,22 @@ "timeToLive": { "unlimited": true }, - "id": "6c0b15fa-eca7-992d-4d0d-6469b0b443a9" + "id": "a7da6c1f-4bc5-7f13-730d-b1b4ba9becb7" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/current_user/application_keys/17d9fa70-2830-450c-904b-0720d93722a9", + "path": "/api/v2/current_user/application_keys/0292830c-dde3-4e62-a568-573e4be65dff", "keepAlive": false, "secure": true }, "httpResponse": { - "headers": {}, + "headers": { + "Content-Type": [ + "text/html; charset=utf-8" + ] + }, "statusCode": 204, "reasonPhrase": "No Content" }, @@ -74,6 +78,6 @@ "timeToLive": { "unlimited": true }, - "id": "e6a9d52d-78b8-7321-ec1c-05519b927a26" + "id": "d9e90005-bebf-d0a1-c372-bd50cbe6a21a" } ] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_one_Application_key_owned_by_current_user_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Get_one_Application_key_owned_by_current_user_returns_OK_response.freeze deleted file mode 100644 index 9dafa7db2e4..00000000000 --- a/src/test/resources/cassettes/features/v2/Get_one_Application_key_owned_by_current_user_returns_OK_response.freeze +++ /dev/null @@ -1 +0,0 @@ -2023-10-16T13:21:43.326Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_one_Application_key_owned_by_current_user_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Get_one_Application_key_owned_by_current_user_returns_OK_response.json deleted file mode 100644 index c85ce4182e3..00000000000 --- a/src/test/resources/cassettes/features/v2/Get_one_Application_key_owned_by_current_user_returns_OK_response.json +++ /dev/null @@ -1,83 +0,0 @@ -[ - { - "httpRequest": { - "body": { - "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"name\":\"Test-Get_one_application_key_owned_by_current_user_returns_OK_response-1697462503\"},\"type\":\"application_keys\"}}" - }, - "headers": {}, - "method": "POST", - "path": "/api/v2/current_user/application_keys", - "keepAlive": false, - "secure": true - }, - "httpResponse": { - "body": "{\"data\":{\"type\":\"application_keys\",\"id\":\"577b3f55-23d8-44a9-b15c-adff216bbdd0\",\"attributes\":{\"name\":\"Test-Get_one_application_key_owned_by_current_user_returns_OK_response-1697462503\",\"created_at\":\"2023-10-16T13:21:43.802416+00:00\",\"last4\":\"xxxx\",\"key\":\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}}}", - "headers": { - "Content-Type": [ - "application/json" - ] - }, - "statusCode": 201, - "reasonPhrase": "Created" - }, - "times": { - "remainingTimes": 1 - }, - "timeToLive": { - "unlimited": true - }, - "id": "13bca3f5-fd87-c68f-3d0a-96616be2c45c" - }, - { - "httpRequest": { - "headers": {}, - "method": "GET", - "path": "/api/v2/current_user/application_keys/577b3f55-23d8-44a9-b15c-adff216bbdd0", - "keepAlive": false, - "secure": true - }, - "httpResponse": { - "body": "{\"data\":{\"type\":\"application_keys\",\"id\":\"577b3f55-23d8-44a9-b15c-adff216bbdd0\",\"attributes\":{\"name\":\"Test-Get_one_application_key_owned_by_current_user_returns_OK_response-1697462503\",\"created_at\":\"2023-10-16T13:21:43.802416+00:00\",\"last4\":\"xxxx\",\"key\":\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\"}},\"leak_information\":{\"data\":null}}},\"included\":[{\"type\":\"users\",\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"attributes\":{\"name\":null,\"handle\":\"frog@datadoghq.com\",\"created_at\":\"2019-10-02T08:15:39.795051+00:00\",\"modified_at\":\"2020-06-15T12:33:12.884459+00:00\",\"email\":\"frog@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/28a16dfe36e73b60c1d55872cb0f1172?s=48&d=retro\",\"title\":null,\"verified\":true,\"service_account\":false,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Active\"},\"relationships\":{\"roles\":{\"data\":[{\"type\":\"roles\",\"id\":\"667cbd82-c7d1-11ec-aad8-da7ad0900002\"},{\"type\":\"roles\",\"id\":\"94172442-be03-11e9-a77a-3b7612558ac1\"}]}}},{\"type\":\"roles\",\"id\":\"667cbd82-c7d1-11ec-aad8-da7ad0900002\",\"attributes\":{\"name\":\"abc\",\"created_at\":\"2022-04-29T15:31:12.318318+00:00\",\"modified_at\":\"2022-04-29T15:31:12.389973+00:00\"}},{\"type\":\"roles\",\"id\":\"94172442-be03-11e9-a77a-3b7612558ac1\",\"attributes\":{\"name\":\"Datadog Admin Role\",\"created_at\":\"2019-08-13T19:50:19.022791+00:00\",\"modified_at\":\"2019-08-13T19:50:19.022791+00:00\"}}]}", - "headers": { - "Content-Type": [ - "application/json" - ] - }, - "statusCode": 200, - "reasonPhrase": "OK" - }, - "times": { - "remainingTimes": 1 - }, - "timeToLive": { - "unlimited": true - }, - "id": "7f46bcee-db5f-60ed-81c3-fea1e34a094b" - }, - { - "httpRequest": { - "headers": {}, - "method": "DELETE", - "path": "/api/v2/current_user/application_keys/577b3f55-23d8-44a9-b15c-adff216bbdd0", - "keepAlive": false, - "secure": true - }, - "httpResponse": { - "headers": { - "Content-Type": [ - "text/html; charset=utf-8" - ] - }, - "statusCode": 204, - "reasonPhrase": "No Content" - }, - "times": { - "remainingTimes": 1 - }, - "timeToLive": { - "unlimited": true - }, - "id": "63c1d006-1838-10ce-ed41-f6b04fd8e373" - } -] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_one_application_key_owned_by_current_user_returns_Not_Found_response.freeze b/src/test/resources/cassettes/features/v2/Get_one_application_key_owned_by_current_user_returns_Not_Found_response.freeze new file mode 100644 index 00000000000..181e18b062d --- /dev/null +++ b/src/test/resources/cassettes/features/v2/Get_one_application_key_owned_by_current_user_returns_Not_Found_response.freeze @@ -0,0 +1 @@ +2025-09-08T09:24:48.986Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_one_application_key_owned_by_current_user_returns_Not_Found_response.json b/src/test/resources/cassettes/features/v2/Get_one_application_key_owned_by_current_user_returns_Not_Found_response.json new file mode 100644 index 00000000000..54fde5b5bd2 --- /dev/null +++ b/src/test/resources/cassettes/features/v2/Get_one_application_key_owned_by_current_user_returns_Not_Found_response.json @@ -0,0 +1,28 @@ +[ + { + "httpRequest": { + "headers": {}, + "method": "GET", + "path": "/api/v2/current_user/application_keys/incorrectId", + "keepAlive": false, + "secure": true + }, + "httpResponse": { + "body": "{\"errors\":[\"Application key not found\"]}", + "headers": { + "Content-Type": [ + "application/json" + ] + }, + "statusCode": 404, + "reasonPhrase": "Not Found" + }, + "times": { + "remainingTimes": 1 + }, + "timeToLive": { + "unlimited": true + }, + "id": "1b7c75b4-87c3-0851-3bd5-d25be18853ae" + } +] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_one_application_key_owned_by_current_user_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Get_one_application_key_owned_by_current_user_returns_OK_response.freeze new file mode 100644 index 00000000000..9a9e35a53f8 --- /dev/null +++ b/src/test/resources/cassettes/features/v2/Get_one_application_key_owned_by_current_user_returns_OK_response.freeze @@ -0,0 +1 @@ +2025-09-10T21:40:07.729Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_one_application_key_owned_by_current_user_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Get_one_application_key_owned_by_current_user_returns_OK_response.json new file mode 100644 index 00000000000..9063b34e6c5 --- /dev/null +++ b/src/test/resources/cassettes/features/v2/Get_one_application_key_owned_by_current_user_returns_OK_response.json @@ -0,0 +1,83 @@ +[ + { + "httpRequest": { + "body": { + "type": "JSON", + "json": "{\"data\":{\"attributes\":{\"name\":\"Test-Get_one_application_key_owned_by_current_user_returns_OK_response-1757540407\"},\"type\":\"application_keys\"}}" + }, + "headers": {}, + "method": "POST", + "path": "/api/v2/current_user/application_keys", + "keepAlive": false, + "secure": true + }, + "httpResponse": { + "body": "{\"data\":{\"type\":\"application_keys\",\"id\":\"1c6c0fa5-6608-4e3f-8ce0-2b861590fecd\",\"attributes\":{\"name\":\"Test-Get_one_application_key_owned_by_current_user_returns_OK_response-1757540407\",\"created_at\":\"2025-09-10T21:40:08.244976+00:00\",\"last4\":\"xxxx\",\"key\":\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\"scopes\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"leak_information\":{\"data\":null}}}}", + "headers": { + "Content-Type": [ + "application/json" + ] + }, + "statusCode": 201, + "reasonPhrase": "Created" + }, + "times": { + "remainingTimes": 1 + }, + "timeToLive": { + "unlimited": true + }, + "id": "dd1df6a9-4e66-b38a-5130-e89bee7bfd65" + }, + { + "httpRequest": { + "headers": {}, + "method": "GET", + "path": "/api/v2/current_user/application_keys/1c6c0fa5-6608-4e3f-8ce0-2b861590fecd", + "keepAlive": false, + "secure": true + }, + "httpResponse": { + "body": "{\"data\":{\"type\":\"application_keys\",\"id\":\"1c6c0fa5-6608-4e3f-8ce0-2b861590fecd\",\"attributes\":{\"name\":\"Test-Get_one_application_key_owned_by_current_user_returns_OK_response-1757540407\",\"created_at\":\"2025-09-10T21:40:08.244977+00:00\",\"last4\":\"xxxx\",\"key\":\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\"scopes\":null,\"last_used_at\":null},\"relationships\":{\"owned_by\":{\"data\":{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\"}},\"leak_information\":{\"data\":null}}},\"included\":[{\"type\":\"users\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"attributes\":{\"name\":\"CI Account\",\"handle\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"created_at\":\"2020-12-29T22:58:44.733921+00:00\",\"modified_at\":\"2021-04-27T13:54:01.547888+00:00\",\"email\":\"team-intg-tools-libs-spam@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/b7c189b5b4c2c429d7c1e0bc3749330e?s=48&d=retro\",\"title\":null,\"verified\":true,\"service_account\":true,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Active\"},\"relationships\":{\"roles\":{\"data\":[{\"type\":\"roles\",\"id\":\"94172442-be03-11e9-a77a-3b7612558ac1\"}]}}},{\"type\":\"roles\",\"id\":\"94172442-be03-11e9-a77a-3b7612558ac1\",\"attributes\":{\"name\":\"Datadog Admin Role\",\"managed\":true,\"created_at\":\"2019-08-13T19:50:19.022791+00:00\",\"modified_at\":\"2019-08-13T19:50:19.022791+00:00\"}}]}", + "headers": { + "Content-Type": [ + "application/json" + ] + }, + "statusCode": 200, + "reasonPhrase": "OK" + }, + "times": { + "remainingTimes": 1 + }, + "timeToLive": { + "unlimited": true + }, + "id": "ab412b3b-3371-7105-f9a1-b5261b041a52" + }, + { + "httpRequest": { + "headers": {}, + "method": "DELETE", + "path": "/api/v2/current_user/application_keys/1c6c0fa5-6608-4e3f-8ce0-2b861590fecd", + "keepAlive": false, + "secure": true + }, + "httpResponse": { + "headers": { + "Content-Type": [ + "text/html; charset=utf-8" + ] + }, + "statusCode": 204, + "reasonPhrase": "No Content" + }, + "times": { + "remainingTimes": 1 + }, + "timeToLive": { + "unlimited": true + }, + "id": "f9d1e7b8-628d-1a4e-775e-964ad5437e7b" + } +] \ No newline at end of file diff --git a/src/test/resources/com/datadog/api/client/v2/api/key_management.feature b/src/test/resources/com/datadog/api/client/v2/api/key_management.feature index 551d52afdad..40daf9df54f 100644 --- a/src/test/resources/com/datadog/api/client/v2/api/key_management.feature +++ b/src/test/resources/com/datadog/api/client/v2/api/key_management.feature @@ -182,10 +182,10 @@ Feature: Key Management And the response "data.id" is equal to "{{ application_key.data.id }}" And the response "data.attributes.name" is equal to "{{ application_key.data.attributes.name }}-updated" - @generated @skip @team:DataDog/credentials-management + @team:DataDog/credentials-management Scenario: Get API key returns "Not Found" response Given new "GetAPIKey" request - And request contains "api_key_id" parameter from "REPLACE.ME" + And request contains "api_key_id" parameter with value "invalidId" When the request is sent Then the response status is 404 Not Found @@ -198,6 +198,7 @@ Feature: Key Management Then the response status is 200 OK And the response "data.type" is equal to "api_keys" And the response "data.id" is equal to "{{ api_key.data.id }}" + And the response "data.attributes" has field "date_last_used" @generated @skip @team:DataDog/credentials-management Scenario: Get all API keys returns "Bad Request" response @@ -213,6 +214,7 @@ Feature: Key Management When the request is sent Then the response status is 200 OK And the response "data[0].type" is equal to "api_keys" + And the response "data[0].attributes" has field "date_last_used" @generated @skip @team:DataDog/credentials-management Scenario: Get all application keys owned by current user returns "Bad Request" response @@ -232,6 +234,7 @@ Feature: Key Management When the request is sent Then the response status is 200 OK And the response "data[0].type" is equal to "application_keys" + And the response "data[0].attributes" has field "last_used_at" @generated @skip @team:DataDog/credentials-management Scenario: Get all application keys returns "Bad Request" response @@ -252,6 +255,7 @@ Feature: Key Management When the request is sent Then the response status is 200 OK And the response "data[0].type" is equal to "application_keys" + And the response "data[0].attributes" has field "last_used_at" @generated @skip @team:DataDog/credentials-management Scenario: Get an application key returns "Bad Request" response @@ -260,10 +264,10 @@ Feature: Key Management When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/credentials-management + @team:DataDog/credentials-management Scenario: Get an application key returns "Not Found" response Given new "GetApplicationKey" request - And request contains "app_key_id" parameter from "REPLACE.ME" + And request contains "app_key_id" parameter with value "invalidId" When the request is sent Then the response status is 404 Not Found @@ -276,17 +280,24 @@ Feature: Key Management Then the response status is 200 OK And the response "data.type" is equal to "application_keys" And the response "data.id" has the same value as "application_key.data.id" + And the response "data.attributes" has field "last_used_at" - @generated @skip @team:DataDog/credentials-management + @team:DataDog/credentials-management Scenario: Get one application key owned by current user returns "Not Found" response Given new "GetCurrentUserApplicationKey" request - And request contains "app_key_id" parameter from "REPLACE.ME" + And request contains "app_key_id" parameter with value "incorrectId" When the request is sent Then the response status is 404 Not Found - @generated @skip @team:DataDog/credentials-management + @team:DataDog/credentials-management Scenario: Get one application key owned by current user returns "OK" response - Given new "GetCurrentUserApplicationKey" request - And request contains "app_key_id" parameter from "REPLACE.ME" + Given there is a valid "application_key" in the system + And new "GetCurrentUserApplicationKey" request + And request contains "app_key_id" parameter from "application_key.data.id" When the request is sent Then the response status is 200 OK + And the response "data.type" is equal to "application_keys" + And the response "data.id" is equal to "{{ application_key.data.id }}" + And the response "data.attributes.name" is equal to "{{ application_key.data.attributes.name }}" + And the response "data.attributes" has field "scopes" + And the response "data.attributes" has field "last_used_at"