diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index 593fcf0c..2261026f 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "0.140.0"
+ ".": "0.141.0"
}
diff --git a/.stats.yml b/.stats.yml
index 29c3961c..dbd8648c 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
-configured_endpoints: 195
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-efe780032e44b3cf0f6914407e43bce6aa7176fa50aa6ec018f93c1f28af8490.yml
-openapi_spec_hash: fcb4ca53ca59978f23f21d7c74fcc0b0
-config_hash: a0a579b0564a5c18568a78f5ba2b6653
+configured_endpoints: 213
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-65a6644277529a38afcac424d99d87cbfa4d8294423ad618dbbd875634ec1d3c.yml
+openapi_spec_hash: 6f3c1bb6a70830afb8af1dacd6352a97
+config_hash: 126e04f676f61e5871a82889336dbf9d
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4a79c26a..3a35ab2d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,27 @@
# Changelog
+## 0.141.0 (2026-06-10)
+
+Full Changelog: [v0.140.0...v0.141.0](https://github.com/lithic-com/lithic-node/compare/v0.140.0...v0.141.0)
+
+### Features
+
+* **api:** Add created field and make completed_at nullable in latest_challenge ([a346991](https://github.com/lithic-com/lithic-node/commit/a346991c4221e91a0ca9745c8d16af4ed4c5cbd4))
+* **api:** add day_of_period field to loan tapes response ([68b8a9d](https://github.com/lithic-com/lithic-node/commit/68b8a9d3d1d1cd18d8adeb50546a5e805e6c05b4))
+* **api:** add hold adjustment action option to auth_rules.v2 ([a5646fa](https://github.com/lithic-com/lithic-node/commit/a5646face60183e7d600d5004d0e202b69152d00))
+* **api:** add name_validation field to card authorizations ([648f48a](https://github.com/lithic-com/lithic-node/commit/648f48aedafe4f636947ec86e70b5d1ab0e37426))
+* **api:** add transactionMonitoring resource with cases/queues/comments/files endpoints ([a156e4d](https://github.com/lithic-com/lithic-node/commit/a156e4d97d05084c8eefbb31da50a17a4e119bef))
+
+
+### Bug Fixes
+
+* **mcp:** use `pure-lockfile` when building mcp server ([52fcdae](https://github.com/lithic-com/lithic-node/commit/52fcdae2df3264e79c2a9550630f2cca1f3c563b))
+
+
+### Documentation
+
+* **api:** update support contact from email to URL ([6d084ee](https://github.com/lithic-com/lithic-node/commit/6d084ee96a3684fcb9bb70d08a5574193fa906ce))
+
## 0.140.0 (2026-05-26)
Full Changelog: [v0.139.0...v0.140.0](https://github.com/lithic-com/lithic-node/compare/v0.139.0...v0.140.0)
diff --git a/MIGRATION.md b/MIGRATION.md
index 5268da86..0a144080 100644
--- a/MIGRATION.md
+++ b/MIGRATION.md
@@ -57,6 +57,10 @@ This affects the following methods:
- `client.accountHolders.retrieveDocument()`
- `client.accountHolders.entities.delete()`
- `client.authRules.v2.backtests.retrieve()`
+- `client.transactionMonitoring.cases.comments.update()`
+- `client.transactionMonitoring.cases.comments.delete()`
+- `client.transactionMonitoring.cases.files.retrieve()`
+- `client.transactionMonitoring.cases.files.delete()`
- `client.cards.financialTransactions.retrieve()`
- `client.disputes.deleteEvidence()`
- `client.disputes.retrieveEvidence()`
@@ -105,6 +109,11 @@ client.example.list(undefined, { headers: { ... } });
- `client.authRules.v2.list()`
- `client.authRules.v2.listResults()`
- `client.authRules.v2.retrieveFeatures()`
+- `client.transactionMonitoring.cases.list()`
+- `client.transactionMonitoring.cases.listActivity()`
+- `client.transactionMonitoring.cases.listTransactions()`
+- `client.transactionMonitoring.cases.files.list()`
+- `client.transactionMonitoring.queues.list()`
- `client.tokenizations.list()`
- `client.tokenizations.resendActivationCode()`
- `client.tokenizations.updateDigitalCardArt()`
diff --git a/api.md b/api.md
index 059d7a5a..76e5ac99 100644
--- a/api.md
+++ b/api.md
@@ -142,6 +142,71 @@ Methods:
- client.authRules.v2.backtests.create(authRuleToken, { ...params }) -> BacktestCreateResponse
- client.authRules.v2.backtests.retrieve(authRuleBacktestToken, { ...params }) -> BacktestResults
+# TransactionMonitoring
+
+## Cases
+
+Types:
+
+- CaseActivityEntry
+- CaseActivityType
+- CaseCard
+- CaseEntity
+- CasePriority
+- CaseSortOrder
+- CaseStatus
+- CaseTransaction
+- EntityType
+- MonitoringCase
+- ResolutionOutcome
+- CaseRetrieveCardsResponse
+
+Methods:
+
+- client.transactionMonitoring.cases.retrieve(caseToken) -> MonitoringCase
+- client.transactionMonitoring.cases.update(caseToken, { ...params }) -> MonitoringCase
+- client.transactionMonitoring.cases.list({ ...params }) -> MonitoringCasesCursorPage
+- client.transactionMonitoring.cases.listActivity(caseToken, { ...params }) -> CaseActivityEntriesCursorPage
+- client.transactionMonitoring.cases.listTransactions(caseToken, { ...params }) -> CaseTransactionsCursorPage
+- client.transactionMonitoring.cases.retrieveCards(caseToken) -> CaseRetrieveCardsResponse
+
+### Comments
+
+Methods:
+
+- client.transactionMonitoring.cases.comments.create(caseToken, { ...params }) -> CaseActivityEntry
+- client.transactionMonitoring.cases.comments.update(commentToken, { ...params }) -> CaseActivityEntry
+- client.transactionMonitoring.cases.comments.delete(commentToken, { ...params }) -> void
+
+### Files
+
+Types:
+
+- CaseFile
+- FileStatus
+- UploadConstraints
+
+Methods:
+
+- client.transactionMonitoring.cases.files.create(caseToken, { ...params }) -> CaseFile
+- client.transactionMonitoring.cases.files.retrieve(fileToken, { ...params }) -> CaseFile
+- client.transactionMonitoring.cases.files.list(caseToken, { ...params }) -> CaseFilesCursorPage
+- client.transactionMonitoring.cases.files.delete(fileToken, { ...params }) -> void
+
+## Queues
+
+Types:
+
+- Queue
+
+Methods:
+
+- client.transactionMonitoring.queues.create({ ...params }) -> Queue
+- client.transactionMonitoring.queues.retrieve(queueToken) -> Queue
+- client.transactionMonitoring.queues.update(queueToken, { ...params }) -> Queue
+- client.transactionMonitoring.queues.list({ ...params }) -> QueuesCursorPage
+- client.transactionMonitoring.queues.delete(queueToken) -> void
+
# AuthStreamEnrollment
Types:
diff --git a/bin/migration-config.json b/bin/migration-config.json
index 508a55ef..b9847fc8 100644
--- a/bin/migration-config.json
+++ b/bin/migration-config.json
@@ -102,6 +102,142 @@
}
]
},
+ {
+ "base": "transactionMonitoring.cases.comments",
+ "name": "update",
+ "params": [
+ {
+ "type": "param",
+ "key": "comment_token",
+ "location": "path"
+ },
+ {
+ "type": "params",
+ "maybeOverload": false
+ },
+ {
+ "type": "options"
+ }
+ ],
+ "oldParams": [
+ {
+ "type": "param",
+ "key": "case_token",
+ "location": "path"
+ },
+ {
+ "type": "param",
+ "key": "comment_token",
+ "location": "path"
+ },
+ {
+ "type": "params",
+ "maybeOverload": false
+ },
+ {
+ "type": "options"
+ }
+ ]
+ },
+ {
+ "base": "transactionMonitoring.cases.comments",
+ "name": "delete",
+ "params": [
+ {
+ "type": "param",
+ "key": "comment_token",
+ "location": "path"
+ },
+ {
+ "type": "params",
+ "maybeOverload": false
+ },
+ {
+ "type": "options"
+ }
+ ],
+ "oldParams": [
+ {
+ "type": "param",
+ "key": "case_token",
+ "location": "path"
+ },
+ {
+ "type": "param",
+ "key": "comment_token",
+ "location": "path"
+ },
+ {
+ "type": "options"
+ }
+ ]
+ },
+ {
+ "base": "transactionMonitoring.cases.files",
+ "name": "retrieve",
+ "params": [
+ {
+ "type": "param",
+ "key": "file_token",
+ "location": "path"
+ },
+ {
+ "type": "params",
+ "maybeOverload": false
+ },
+ {
+ "type": "options"
+ }
+ ],
+ "oldParams": [
+ {
+ "type": "param",
+ "key": "case_token",
+ "location": "path"
+ },
+ {
+ "type": "param",
+ "key": "file_token",
+ "location": "path"
+ },
+ {
+ "type": "options"
+ }
+ ]
+ },
+ {
+ "base": "transactionMonitoring.cases.files",
+ "name": "delete",
+ "params": [
+ {
+ "type": "param",
+ "key": "file_token",
+ "location": "path"
+ },
+ {
+ "type": "params",
+ "maybeOverload": false
+ },
+ {
+ "type": "options"
+ }
+ ],
+ "oldParams": [
+ {
+ "type": "param",
+ "key": "case_token",
+ "location": "path"
+ },
+ {
+ "type": "param",
+ "key": "file_token",
+ "location": "path"
+ },
+ {
+ "type": "options"
+ }
+ ]
+ },
{
"base": "cards.financialTransactions",
"name": "retrieve",
diff --git a/package.json b/package.json
index 373e6069..9738c8de 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "lithic",
- "version": "0.140.0",
+ "version": "0.141.0",
"description": "The official TypeScript library for the Lithic API",
"author": "Lithic ",
"types": "dist/index.d.ts",
diff --git a/packages/mcp-server/manifest.json b/packages/mcp-server/manifest.json
index 76ca0636..4102c483 100644
--- a/packages/mcp-server/manifest.json
+++ b/packages/mcp-server/manifest.json
@@ -1,7 +1,7 @@
{
"dxt_version": "0.2",
"name": "lithic-mcp",
- "version": "0.140.0",
+ "version": "0.141.0",
"description": "The official MCP Server for the Lithic API",
"author": {
"name": "Lithic",
diff --git a/packages/mcp-server/package.json b/packages/mcp-server/package.json
index ab98d9eb..37dd7c04 100644
--- a/packages/mcp-server/package.json
+++ b/packages/mcp-server/package.json
@@ -1,6 +1,6 @@
{
"name": "lithic-mcp",
- "version": "0.140.0",
+ "version": "0.141.0",
"description": "The official MCP Server for the Lithic API",
"author": "Lithic ",
"types": "dist/index.d.ts",
diff --git a/packages/mcp-server/src/code-tool-worker.ts b/packages/mcp-server/src/code-tool-worker.ts
index 126ad41d..bc7ea7ae 100644
--- a/packages/mcp-server/src/code-tool-worker.ts
+++ b/packages/mcp-server/src/code-tool-worker.ts
@@ -138,6 +138,24 @@ const fuse = new Fuse(
'client.authRules.v2.update',
'client.authRules.v2.backtests.create',
'client.authRules.v2.backtests.retrieve',
+ 'client.transactionMonitoring.cases.list',
+ 'client.transactionMonitoring.cases.listActivity',
+ 'client.transactionMonitoring.cases.listTransactions',
+ 'client.transactionMonitoring.cases.retrieve',
+ 'client.transactionMonitoring.cases.retrieveCards',
+ 'client.transactionMonitoring.cases.update',
+ 'client.transactionMonitoring.cases.comments.create',
+ 'client.transactionMonitoring.cases.comments.delete',
+ 'client.transactionMonitoring.cases.comments.update',
+ 'client.transactionMonitoring.cases.files.create',
+ 'client.transactionMonitoring.cases.files.delete',
+ 'client.transactionMonitoring.cases.files.list',
+ 'client.transactionMonitoring.cases.files.retrieve',
+ 'client.transactionMonitoring.queues.create',
+ 'client.transactionMonitoring.queues.delete',
+ 'client.transactionMonitoring.queues.list',
+ 'client.transactionMonitoring.queues.retrieve',
+ 'client.transactionMonitoring.queues.update',
'client.authStreamEnrollment.retrieveSecret',
'client.authStreamEnrollment.rotateSecret',
'client.tokenizationDecisioning.retrieveSecret',
diff --git a/packages/mcp-server/src/local-docs-search.ts b/packages/mcp-server/src/local-docs-search.ts
index 4511d9cf..1b7900f8 100644
--- a/packages/mcp-server/src/local-docs-search.ts
+++ b/packages/mcp-server/src/local-docs-search.ts
@@ -880,17 +880,17 @@ const EMBEDDED_METHODS: MethodEntry[] = [
java: {
method: 'accountHolders().entities().create',
example:
- 'package com.lithic.api.example;\n\nimport com.lithic.api.client.LithicClient;\nimport com.lithic.api.client.okhttp.LithicOkHttpClient;\nimport com.lithic.api.models.AccountHolderEntityCreateParams;\nimport com.lithic.api.models.EntityCreateResponse;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n LithicClient client = LithicOkHttpClient.fromEnv();\n\n AccountHolderEntityCreateParams params = AccountHolderEntityCreateParams.builder()\n .accountHolderToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n .address(AccountHolderEntityCreateParams.Address.builder()\n .address1("300 Normal Forest Way")\n .city("Portland")\n .country("USA")\n .postalCode("90210")\n .state("OR")\n .build())\n .dob("1991-03-08T08:00:00Z")\n .email("tim@left-earth.com")\n .firstName("Timmy")\n .governmentId("211-23-1412")\n .lastName("Turner")\n .phoneNumber("+15555555555")\n .type(AccountHolderEntityCreateParams.EntityType.BENEFICIAL_OWNER_INDIVIDUAL)\n .build();\n EntityCreateResponse entity = client.accountHolders().entities().create(params);\n }\n}',
+ 'package com.lithic.api.example;\n\nimport com.lithic.api.client.LithicClient;\nimport com.lithic.api.client.okhttp.LithicOkHttpClient;\nimport com.lithic.api.models.AccountHolderEntityCreateParams;\nimport com.lithic.api.models.EntityCreateResponse;\nimport com.lithic.api.models.EntityType;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n LithicClient client = LithicOkHttpClient.fromEnv();\n\n AccountHolderEntityCreateParams params = AccountHolderEntityCreateParams.builder()\n .accountHolderToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n .address(AccountHolderEntityCreateParams.Address.builder()\n .address1("300 Normal Forest Way")\n .city("Portland")\n .country("USA")\n .postalCode("90210")\n .state("OR")\n .build())\n .dob("1991-03-08T08:00:00Z")\n .email("tim@left-earth.com")\n .firstName("Timmy")\n .governmentId("211-23-1412")\n .lastName("Turner")\n .phoneNumber("+15555555555")\n .type(EntityType.BENEFICIAL_OWNER_INDIVIDUAL)\n .build();\n EntityCreateResponse entity = client.accountHolders().entities().create(params);\n }\n}',
},
kotlin: {
method: 'accountHolders().entities().create',
example:
- 'package com.lithic.api.example\n\nimport com.lithic.api.client.LithicClient\nimport com.lithic.api.client.okhttp.LithicOkHttpClient\nimport com.lithic.api.models.AccountHolderEntityCreateParams\nimport com.lithic.api.models.EntityCreateResponse\n\nfun main() {\n val client: LithicClient = LithicOkHttpClient.fromEnv()\n\n val params: AccountHolderEntityCreateParams = AccountHolderEntityCreateParams.builder()\n .accountHolderToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n .address(AccountHolderEntityCreateParams.Address.builder()\n .address1("300 Normal Forest Way")\n .city("Portland")\n .country("USA")\n .postalCode("90210")\n .state("OR")\n .build())\n .dob("1991-03-08T08:00:00Z")\n .email("tim@left-earth.com")\n .firstName("Timmy")\n .governmentId("211-23-1412")\n .lastName("Turner")\n .phoneNumber("+15555555555")\n .type(AccountHolderEntityCreateParams.EntityType.BENEFICIAL_OWNER_INDIVIDUAL)\n .build()\n val entity: EntityCreateResponse = client.accountHolders().entities().create(params)\n}',
+ 'package com.lithic.api.example\n\nimport com.lithic.api.client.LithicClient\nimport com.lithic.api.client.okhttp.LithicOkHttpClient\nimport com.lithic.api.models.AccountHolderEntityCreateParams\nimport com.lithic.api.models.EntityCreateResponse\nimport com.lithic.api.models.EntityType\n\nfun main() {\n val client: LithicClient = LithicOkHttpClient.fromEnv()\n\n val params: AccountHolderEntityCreateParams = AccountHolderEntityCreateParams.builder()\n .accountHolderToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n .address(AccountHolderEntityCreateParams.Address.builder()\n .address1("300 Normal Forest Way")\n .city("Portland")\n .country("USA")\n .postalCode("90210")\n .state("OR")\n .build())\n .dob("1991-03-08T08:00:00Z")\n .email("tim@left-earth.com")\n .firstName("Timmy")\n .governmentId("211-23-1412")\n .lastName("Turner")\n .phoneNumber("+15555555555")\n .type(EntityType.BENEFICIAL_OWNER_INDIVIDUAL)\n .build()\n val entity: EntityCreateResponse = client.accountHolders().entities().create(params)\n}',
},
go: {
method: 'client.AccountHolders.Entities.New',
example:
- 'package main\n\nimport (\n\t"context"\n\t"fmt"\n\n\t"github.com/lithic-com/lithic-go"\n\t"github.com/lithic-com/lithic-go/option"\n)\n\nfunc main() {\n\tclient := lithic.NewClient(\n\t\toption.WithAPIKey("My Lithic API Key"),\n\t)\n\tentity, err := client.AccountHolders.Entities.New(\n\t\tcontext.TODO(),\n\t\t"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n\t\tlithic.AccountHolderEntityNewParams{\n\t\t\tAddress: lithic.F(lithic.AccountHolderEntityNewParamsAddress{\n\t\t\t\tAddress1: lithic.F("300 Normal Forest Way"),\n\t\t\t\tCity: lithic.F("Portland"),\n\t\t\t\tCountry: lithic.F("USA"),\n\t\t\t\tPostalCode: lithic.F("90210"),\n\t\t\t\tState: lithic.F("OR"),\n\t\t\t}),\n\t\t\tDob: lithic.F("1991-03-08T08:00:00Z"),\n\t\t\tEmail: lithic.F("tim@left-earth.com"),\n\t\t\tFirstName: lithic.F("Timmy"),\n\t\t\tGovernmentID: lithic.F("211-23-1412"),\n\t\t\tLastName: lithic.F("Turner"),\n\t\t\tPhoneNumber: lithic.F("+15555555555"),\n\t\t\tType: lithic.F(lithic.AccountHolderEntityNewParamsTypeBeneficialOwnerIndividual),\n\t\t},\n\t)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf("%+v\\n", entity.Token)\n}\n',
+ 'package main\n\nimport (\n\t"context"\n\t"fmt"\n\n\t"github.com/lithic-com/lithic-go"\n\t"github.com/lithic-com/lithic-go/option"\n)\n\nfunc main() {\n\tclient := lithic.NewClient(\n\t\toption.WithAPIKey("My Lithic API Key"),\n\t)\n\tentity, err := client.AccountHolders.Entities.New(\n\t\tcontext.TODO(),\n\t\t"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n\t\tlithic.AccountHolderEntityNewParams{\n\t\t\tAddress: lithic.F(lithic.AccountHolderEntityNewParamsAddress{\n\t\t\t\tAddress1: lithic.F("300 Normal Forest Way"),\n\t\t\t\tCity: lithic.F("Portland"),\n\t\t\t\tCountry: lithic.F("USA"),\n\t\t\t\tPostalCode: lithic.F("90210"),\n\t\t\t\tState: lithic.F("OR"),\n\t\t\t}),\n\t\t\tDob: lithic.F("1991-03-08T08:00:00Z"),\n\t\t\tEmail: lithic.F("tim@left-earth.com"),\n\t\t\tFirstName: lithic.F("Timmy"),\n\t\t\tGovernmentID: lithic.F("211-23-1412"),\n\t\t\tLastName: lithic.F("Turner"),\n\t\t\tPhoneNumber: lithic.F("+15555555555"),\n\t\t\tType: lithic.F(lithic.EntityTypeBeneficialOwnerIndividual),\n\t\t},\n\t)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf("%+v\\n", entity.Token)\n}\n',
},
ruby: {
method: 'account_holders.entities.create',
@@ -916,7 +916,7 @@ const EMBEDDED_METHODS: MethodEntry[] = [
response:
"{ token: string; account_holder_token: string; address: { address1: string; city: string; country: string; postal_code: string; state: string; address2?: string; }; dob: string; email: string; first_name: string; last_name: string; phone_number: string; status: 'ACCEPTED' | 'INACTIVE' | 'PENDING_REVIEW' | 'REJECTED'; type: 'BENEFICIAL_OWNER_INDIVIDUAL' | 'CONTROL_PERSON'; }",
markdown:
- "## delete\n\n`client.accountHolders.entities.delete(account_holder_token: string, entity_token: string): { token: string; account_holder_token: string; address: object; dob: string; email: string; first_name: string; last_name: string; phone_number: string; status: 'ACCEPTED' | 'INACTIVE' | 'PENDING_REVIEW' | 'REJECTED'; type: 'BENEFICIAL_OWNER_INDIVIDUAL' | 'CONTROL_PERSON'; }`\n\n**delete** `/v1/account_holders/{account_holder_token}/entities/{entity_token}`\n\nDeactivate a beneficial owner individual on an existing KYB account holder. Only beneficial owner individuals can be deactivated.\n\n### Parameters\n\n- `account_holder_token: string`\n\n- `entity_token: string`\n\n### Returns\n\n- `{ token: string; account_holder_token: string; address: { address1: string; city: string; country: string; postal_code: string; state: string; address2?: string; }; dob: string; email: string; first_name: string; last_name: string; phone_number: string; status: 'ACCEPTED' | 'INACTIVE' | 'PENDING_REVIEW' | 'REJECTED'; type: 'BENEFICIAL_OWNER_INDIVIDUAL' | 'CONTROL_PERSON'; }`\n Information about an entity associated with an account holder\n\n - `token: string`\n - `account_holder_token: string`\n - `address: { address1: string; city: string; country: string; postal_code: string; state: string; address2?: string; }`\n - `dob: string`\n - `email: string`\n - `first_name: string`\n - `last_name: string`\n - `phone_number: string`\n - `status: 'ACCEPTED' | 'INACTIVE' | 'PENDING_REVIEW' | 'REJECTED'`\n - `type: 'BENEFICIAL_OWNER_INDIVIDUAL' | 'CONTROL_PERSON'`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\nconst accountHolderEntity = await client.accountHolders.entities.delete('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', { account_holder_token: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' });\n\nconsole.log(accountHolderEntity);\n```",
+ "## delete\n\n`client.accountHolders.entities.delete(account_holder_token: string, entity_token: string): { token: string; account_holder_token: string; address: object; dob: string; email: string; first_name: string; last_name: string; phone_number: string; status: 'ACCEPTED' | 'INACTIVE' | 'PENDING_REVIEW' | 'REJECTED'; type: entity_type; }`\n\n**delete** `/v1/account_holders/{account_holder_token}/entities/{entity_token}`\n\nDeactivate a beneficial owner individual on an existing KYB account holder. Only beneficial owner individuals can be deactivated.\n\n### Parameters\n\n- `account_holder_token: string`\n\n- `entity_token: string`\n\n### Returns\n\n- `{ token: string; account_holder_token: string; address: { address1: string; city: string; country: string; postal_code: string; state: string; address2?: string; }; dob: string; email: string; first_name: string; last_name: string; phone_number: string; status: 'ACCEPTED' | 'INACTIVE' | 'PENDING_REVIEW' | 'REJECTED'; type: 'BENEFICIAL_OWNER_INDIVIDUAL' | 'CONTROL_PERSON'; }`\n Information about an entity associated with an account holder\n\n - `token: string`\n - `account_holder_token: string`\n - `address: { address1: string; city: string; country: string; postal_code: string; state: string; address2?: string; }`\n - `dob: string`\n - `email: string`\n - `first_name: string`\n - `last_name: string`\n - `phone_number: string`\n - `status: 'ACCEPTED' | 'INACTIVE' | 'PENDING_REVIEW' | 'REJECTED'`\n - `type: 'BENEFICIAL_OWNER_INDIVIDUAL' | 'CONTROL_PERSON'`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\nconst accountHolderEntity = await client.accountHolders.entities.delete('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', { account_holder_token: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' });\n\nconsole.log(accountHolderEntity);\n```",
perLanguage: {
typescript: {
method: 'client.accountHolders.entities.delete',
@@ -963,7 +963,7 @@ const EMBEDDED_METHODS: MethodEntry[] = [
stainlessPath: '(resource) auth_rules.v2 > (method) create',
qualified: 'client.authRules.v2.create',
params: [
- "{ parameters: { conditions: object[]; } | { period: object | object | object | object | object; scope: 'CARD' | 'ACCOUNT'; filters?: object; limit_amount?: number; limit_count?: number; } | { merchants: { comment?: string; descriptor?: string; merchant_id?: string; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { action: { type: 'APPROVE'; } | { code: string; type: 'RETURN'; }; conditions: { attribute: 'COMPANY_NAME' | 'COMPANY_ID' | 'TIMESTAMP' | 'TRANSACTION_AMOUNT' | 'SEC_CODE' | 'MEMO'; operation: conditional_operation; value: conditional_value; }[]; } | { action: { type: 'DECLINE'; reason?: string; } | { type: 'REQUIRE_TFA'; reason?: string; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: object | object; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { code: string; features: object | object | object | object | object | object | object | object | object[]; } | { adjustment: { mode: 'REPLACE_WITH_AMOUNT' | 'ADD_PERCENTAGE' | 'ADD_AMOUNT'; type: 'HOLD_ADJUSTMENT'; value: number; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; }; type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'; account_tokens?: string[]; business_account_tokens?: string[]; event_stream?: string; name?: string; } | { card_tokens: string[]; parameters: { conditions: object[]; } | { period: object | object | object | object | object; scope: 'CARD' | 'ACCOUNT'; filters?: object; limit_amount?: number; limit_count?: number; } | { merchants: { comment?: string; descriptor?: string; merchant_id?: string; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { action: { type: 'APPROVE'; } | { code: string; type: 'RETURN'; }; conditions: { attribute: 'COMPANY_NAME' | 'COMPANY_ID' | 'TIMESTAMP' | 'TRANSACTION_AMOUNT' | 'SEC_CODE' | 'MEMO'; operation: conditional_operation; value: conditional_value; }[]; } | { action: { type: 'DECLINE'; reason?: string; } | { type: 'REQUIRE_TFA'; reason?: string; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: object | object; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { code: string; features: object | object | object | object | object | object | object | object | object[]; } | { adjustment: { mode: 'REPLACE_WITH_AMOUNT' | 'ADD_PERCENTAGE' | 'ADD_AMOUNT'; type: 'HOLD_ADJUSTMENT'; value: number; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; }; type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'; event_stream?: string; name?: string; } | { parameters: { conditions: object[]; } | { period: object | object | object | object | object; scope: 'CARD' | 'ACCOUNT'; filters?: object; limit_amount?: number; limit_count?: number; } | { merchants: { comment?: string; descriptor?: string; merchant_id?: string; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { action: { type: 'APPROVE'; } | { code: string; type: 'RETURN'; }; conditions: { attribute: 'COMPANY_NAME' | 'COMPANY_ID' | 'TIMESTAMP' | 'TRANSACTION_AMOUNT' | 'SEC_CODE' | 'MEMO'; operation: conditional_operation; value: conditional_value; }[]; } | { action: { type: 'DECLINE'; reason?: string; } | { type: 'REQUIRE_TFA'; reason?: string; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: object | object; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { code: string; features: object | object | object | object | object | object | object | object | object[]; } | { adjustment: { mode: 'REPLACE_WITH_AMOUNT' | 'ADD_PERCENTAGE' | 'ADD_AMOUNT'; type: 'HOLD_ADJUSTMENT'; value: number; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; }; program_level: boolean; type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'; event_stream?: string; excluded_account_tokens?: string[]; excluded_business_account_tokens?: string[]; excluded_card_tokens?: string[]; name?: string; };",
+ "{ parameters: { conditions: object[]; } | { period: object | object | object | object | object; scope: 'CARD' | 'ACCOUNT'; filters?: object; limit_amount?: number; limit_count?: number; } | { merchants: { comment?: string; descriptor?: string; merchant_id?: string; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { action: { type: 'APPROVE'; } | { code: string; type: 'RETURN'; }; conditions: { attribute: 'COMPANY_NAME' | 'COMPANY_ID' | 'TIMESTAMP' | 'TRANSACTION_AMOUNT' | 'SEC_CODE' | 'MEMO'; operation: conditional_operation; value: conditional_value; }[]; } | { action: { type: 'DECLINE'; reason?: string; } | { type: 'REQUIRE_TFA'; reason?: string; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: object | object; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { code: string; features: object | object | object | object | object | object | object | object | object[]; } | { action: { mode: 'REPLACE_WITH_AMOUNT' | 'ADD_PERCENTAGE' | 'ADD_AMOUNT'; type: 'HOLD_ADJUSTMENT'; value: number; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; }; type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'; account_tokens?: string[]; business_account_tokens?: string[]; event_stream?: string; name?: string; } | { card_tokens: string[]; parameters: { conditions: object[]; } | { period: object | object | object | object | object; scope: 'CARD' | 'ACCOUNT'; filters?: object; limit_amount?: number; limit_count?: number; } | { merchants: { comment?: string; descriptor?: string; merchant_id?: string; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { action: { type: 'APPROVE'; } | { code: string; type: 'RETURN'; }; conditions: { attribute: 'COMPANY_NAME' | 'COMPANY_ID' | 'TIMESTAMP' | 'TRANSACTION_AMOUNT' | 'SEC_CODE' | 'MEMO'; operation: conditional_operation; value: conditional_value; }[]; } | { action: { type: 'DECLINE'; reason?: string; } | { type: 'REQUIRE_TFA'; reason?: string; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: object | object; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { code: string; features: object | object | object | object | object | object | object | object | object[]; } | { action: { mode: 'REPLACE_WITH_AMOUNT' | 'ADD_PERCENTAGE' | 'ADD_AMOUNT'; type: 'HOLD_ADJUSTMENT'; value: number; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; }; type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'; event_stream?: string; name?: string; } | { parameters: { conditions: object[]; } | { period: object | object | object | object | object; scope: 'CARD' | 'ACCOUNT'; filters?: object; limit_amount?: number; limit_count?: number; } | { merchants: { comment?: string; descriptor?: string; merchant_id?: string; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { action: { type: 'APPROVE'; } | { code: string; type: 'RETURN'; }; conditions: { attribute: 'COMPANY_NAME' | 'COMPANY_ID' | 'TIMESTAMP' | 'TRANSACTION_AMOUNT' | 'SEC_CODE' | 'MEMO'; operation: conditional_operation; value: conditional_value; }[]; } | { action: { type: 'DECLINE'; reason?: string; } | { type: 'REQUIRE_TFA'; reason?: string; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: object | object; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { code: string; features: object | object | object | object | object | object | object | object | object[]; } | { action: { mode: 'REPLACE_WITH_AMOUNT' | 'ADD_PERCENTAGE' | 'ADD_AMOUNT'; type: 'HOLD_ADJUSTMENT'; value: number; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; }; program_level: boolean; type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'; event_stream?: string; excluded_account_tokens?: string[]; excluded_business_account_tokens?: string[]; excluded_card_tokens?: string[]; name?: string; };",
],
response:
"{ token: string; account_tokens: string[]; business_account_tokens: string[]; card_tokens: string[]; current_version: { parameters: object | object | object | object | object | object | object | object | object | object; version: number; }; draft_version: { error: string; parameters: object | object | object | object | object | object | object | object | object | object; state: 'PENDING' | 'SHADOWING' | 'ERROR'; version: number; }; event_stream: string; lithic_managed: boolean; name: string; program_level: boolean; state: 'ACTIVE' | 'INACTIVE'; type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'; excluded_account_tokens?: string[]; excluded_business_account_tokens?: string[]; excluded_card_tokens?: string[]; }",
@@ -1026,7 +1026,7 @@ const EMBEDDED_METHODS: MethodEntry[] = [
response:
"{ token: string; account_tokens: string[]; business_account_tokens: string[]; card_tokens: string[]; current_version: { parameters: object | object | object | object | object | object | object | object | object | object; version: number; }; draft_version: { error: string; parameters: object | object | object | object | object | object | object | object | object | object; state: 'PENDING' | 'SHADOWING' | 'ERROR'; version: number; }; event_stream: string; lithic_managed: boolean; name: string; program_level: boolean; state: 'ACTIVE' | 'INACTIVE'; type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'; excluded_account_tokens?: string[]; excluded_business_account_tokens?: string[]; excluded_card_tokens?: string[]; }",
markdown:
- "## list\n\n`client.authRules.v2.list(account_token?: string, business_account_token?: string, card_token?: string, ending_before?: string, event_stream?: string, event_streams?: string[], page_size?: number, scope?: 'PROGRAM' | 'ACCOUNT' | 'BUSINESS_ACCOUNT' | 'CARD' | 'ANY', starting_after?: string): { token: string; account_tokens: string[]; business_account_tokens: string[]; card_tokens: string[]; current_version: object; draft_version: object; event_stream: event_stream; lithic_managed: boolean; name: string; program_level: boolean; state: 'ACTIVE' | 'INACTIVE'; type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'; excluded_account_tokens?: string[]; excluded_business_account_tokens?: string[]; excluded_card_tokens?: string[]; }`\n\n**get** `/v2/auth_rules`\n\nLists V2 Auth rules\n\n### Parameters\n\n- `account_token?: string`\n Only return Auth Rules that are bound to the provided account token.\n\n- `business_account_token?: string`\n Only return Auth Rules that are bound to the provided business account token.\n\n- `card_token?: string`\n Only return Auth Rules that are bound to the provided card token.\n\n- `ending_before?: string`\n A cursor representing an item's token before which a page of results should end. Used to retrieve the previous page of results before this item.\n\n- `event_stream?: string`\n Deprecated: Use event_streams instead. Only return Auth rules that are executed during the provided event stream.\n\n- `event_streams?: string[]`\n Only return Auth rules that are executed during any of the provided event streams. If event_streams and event_stream are specified, the values will be combined.\n\n- `page_size?: number`\n Page size (for pagination).\n\n- `scope?: 'PROGRAM' | 'ACCOUNT' | 'BUSINESS_ACCOUNT' | 'CARD' | 'ANY'`\n Only return Auth Rules that are bound to the provided scope.\n\n- `starting_after?: string`\n A cursor representing an item's token after which a page of results should begin. Used to retrieve the next page of results after this item.\n\n### Returns\n\n- `{ token: string; account_tokens: string[]; business_account_tokens: string[]; card_tokens: string[]; current_version: { parameters: object | object | object | object | object | object | object | object | object | object; version: number; }; draft_version: { error: string; parameters: object | object | object | object | object | object | object | object | object | object; state: 'PENDING' | 'SHADOWING' | 'ERROR'; version: number; }; event_stream: string; lithic_managed: boolean; name: string; program_level: boolean; state: 'ACTIVE' | 'INACTIVE'; type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'; excluded_account_tokens?: string[]; excluded_business_account_tokens?: string[]; excluded_card_tokens?: string[]; }`\n\n - `token: string`\n - `account_tokens: string[]`\n - `business_account_tokens: string[]`\n - `card_tokens: string[]`\n - `current_version: { parameters: { conditions: object[]; } | { period: object | object | object | object | object; scope: 'CARD' | 'ACCOUNT'; filters?: object; limit_amount?: number; limit_count?: number; } | { merchants: { comment?: string; descriptor?: string; merchant_id?: string; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { action: { type: 'APPROVE'; } | { code: string; type: 'RETURN'; }; conditions: { attribute: 'COMPANY_NAME' | 'COMPANY_ID' | 'TIMESTAMP' | 'TRANSACTION_AMOUNT' | 'SEC_CODE' | 'MEMO'; operation: conditional_operation; value: conditional_value; }[]; } | { action: { type: 'DECLINE'; reason?: string; } | { type: 'REQUIRE_TFA'; reason?: string; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: object | object; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { code: string; features: object | object | object | object | object | object | object | object | object[]; } | { adjustment: { mode: 'REPLACE_WITH_AMOUNT' | 'ADD_PERCENTAGE' | 'ADD_AMOUNT'; type: 'HOLD_ADJUSTMENT'; value: number; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; }; version: number; }`\n - `draft_version: { error: string; parameters: { conditions: object[]; } | { period: object | object | object | object | object; scope: 'CARD' | 'ACCOUNT'; filters?: object; limit_amount?: number; limit_count?: number; } | { merchants: { comment?: string; descriptor?: string; merchant_id?: string; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { action: { type: 'APPROVE'; } | { code: string; type: 'RETURN'; }; conditions: { attribute: 'COMPANY_NAME' | 'COMPANY_ID' | 'TIMESTAMP' | 'TRANSACTION_AMOUNT' | 'SEC_CODE' | 'MEMO'; operation: conditional_operation; value: conditional_value; }[]; } | { action: { type: 'DECLINE'; reason?: string; } | { type: 'REQUIRE_TFA'; reason?: string; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: object | object; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { code: string; features: object | object | object | object | object | object | object | object | object[]; } | { adjustment: { mode: 'REPLACE_WITH_AMOUNT' | 'ADD_PERCENTAGE' | 'ADD_AMOUNT'; type: 'HOLD_ADJUSTMENT'; value: number; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; }; state: 'PENDING' | 'SHADOWING' | 'ERROR'; version: number; }`\n - `event_stream: string`\n - `lithic_managed: boolean`\n - `name: string`\n - `program_level: boolean`\n - `state: 'ACTIVE' | 'INACTIVE'`\n - `type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'`\n - `excluded_account_tokens?: string[]`\n - `excluded_business_account_tokens?: string[]`\n - `excluded_card_tokens?: string[]`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\n// Automatically fetches more pages as needed.\nfor await (const authRule of client.authRules.v2.list()) {\n console.log(authRule);\n}\n```",
+ "## list\n\n`client.authRules.v2.list(account_token?: string, business_account_token?: string, card_token?: string, ending_before?: string, event_stream?: string, event_streams?: string[], page_size?: number, scope?: 'PROGRAM' | 'ACCOUNT' | 'BUSINESS_ACCOUNT' | 'CARD' | 'ANY', starting_after?: string): { token: string; account_tokens: string[]; business_account_tokens: string[]; card_tokens: string[]; current_version: object; draft_version: object; event_stream: event_stream; lithic_managed: boolean; name: string; program_level: boolean; state: 'ACTIVE' | 'INACTIVE'; type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'; excluded_account_tokens?: string[]; excluded_business_account_tokens?: string[]; excluded_card_tokens?: string[]; }`\n\n**get** `/v2/auth_rules`\n\nLists V2 Auth rules\n\n### Parameters\n\n- `account_token?: string`\n Only return Auth Rules that are bound to the provided account token.\n\n- `business_account_token?: string`\n Only return Auth Rules that are bound to the provided business account token.\n\n- `card_token?: string`\n Only return Auth Rules that are bound to the provided card token.\n\n- `ending_before?: string`\n A cursor representing an item's token before which a page of results should end. Used to retrieve the previous page of results before this item.\n\n- `event_stream?: string`\n Deprecated: Use event_streams instead. Only return Auth rules that are executed during the provided event stream.\n\n- `event_streams?: string[]`\n Only return Auth rules that are executed during any of the provided event streams. If event_streams and event_stream are specified, the values will be combined.\n\n- `page_size?: number`\n Page size (for pagination).\n\n- `scope?: 'PROGRAM' | 'ACCOUNT' | 'BUSINESS_ACCOUNT' | 'CARD' | 'ANY'`\n Only return Auth Rules that are bound to the provided scope.\n\n- `starting_after?: string`\n A cursor representing an item's token after which a page of results should begin. Used to retrieve the next page of results after this item.\n\n### Returns\n\n- `{ token: string; account_tokens: string[]; business_account_tokens: string[]; card_tokens: string[]; current_version: { parameters: object | object | object | object | object | object | object | object | object | object; version: number; }; draft_version: { error: string; parameters: object | object | object | object | object | object | object | object | object | object; state: 'PENDING' | 'SHADOWING' | 'ERROR'; version: number; }; event_stream: string; lithic_managed: boolean; name: string; program_level: boolean; state: 'ACTIVE' | 'INACTIVE'; type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'; excluded_account_tokens?: string[]; excluded_business_account_tokens?: string[]; excluded_card_tokens?: string[]; }`\n\n - `token: string`\n - `account_tokens: string[]`\n - `business_account_tokens: string[]`\n - `card_tokens: string[]`\n - `current_version: { parameters: { conditions: object[]; } | { period: object | object | object | object | object; scope: 'CARD' | 'ACCOUNT'; filters?: object; limit_amount?: number; limit_count?: number; } | { merchants: { comment?: string; descriptor?: string; merchant_id?: string; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { action: { type: 'APPROVE'; } | { code: string; type: 'RETURN'; }; conditions: { attribute: 'COMPANY_NAME' | 'COMPANY_ID' | 'TIMESTAMP' | 'TRANSACTION_AMOUNT' | 'SEC_CODE' | 'MEMO'; operation: conditional_operation; value: conditional_value; }[]; } | { action: { type: 'DECLINE'; reason?: string; } | { type: 'REQUIRE_TFA'; reason?: string; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: object | object; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { code: string; features: object | object | object | object | object | object | object | object | object[]; } | { action: { mode: 'REPLACE_WITH_AMOUNT' | 'ADD_PERCENTAGE' | 'ADD_AMOUNT'; type: 'HOLD_ADJUSTMENT'; value: number; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; }; version: number; }`\n - `draft_version: { error: string; parameters: { conditions: object[]; } | { period: object | object | object | object | object; scope: 'CARD' | 'ACCOUNT'; filters?: object; limit_amount?: number; limit_count?: number; } | { merchants: { comment?: string; descriptor?: string; merchant_id?: string; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { action: { type: 'APPROVE'; } | { code: string; type: 'RETURN'; }; conditions: { attribute: 'COMPANY_NAME' | 'COMPANY_ID' | 'TIMESTAMP' | 'TRANSACTION_AMOUNT' | 'SEC_CODE' | 'MEMO'; operation: conditional_operation; value: conditional_value; }[]; } | { action: { type: 'DECLINE'; reason?: string; } | { type: 'REQUIRE_TFA'; reason?: string; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: object | object; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { code: string; features: object | object | object | object | object | object | object | object | object[]; } | { action: { mode: 'REPLACE_WITH_AMOUNT' | 'ADD_PERCENTAGE' | 'ADD_AMOUNT'; type: 'HOLD_ADJUSTMENT'; value: number; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; }; state: 'PENDING' | 'SHADOWING' | 'ERROR'; version: number; }`\n - `event_stream: string`\n - `lithic_managed: boolean`\n - `name: string`\n - `program_level: boolean`\n - `state: 'ACTIVE' | 'INACTIVE'`\n - `type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'`\n - `excluded_account_tokens?: string[]`\n - `excluded_business_account_tokens?: string[]`\n - `excluded_card_tokens?: string[]`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\n// Automatically fetches more pages as needed.\nfor await (const authRule of client.authRules.v2.list()) {\n console.log(authRule);\n}\n```",
perLanguage: {
typescript: {
method: 'client.authRules.v2.list',
@@ -1075,7 +1075,7 @@ const EMBEDDED_METHODS: MethodEntry[] = [
response:
"{ token: string; account_tokens: string[]; business_account_tokens: string[]; card_tokens: string[]; current_version: { parameters: object | object | object | object | object | object | object | object | object | object; version: number; }; draft_version: { error: string; parameters: object | object | object | object | object | object | object | object | object | object; state: 'PENDING' | 'SHADOWING' | 'ERROR'; version: number; }; event_stream: string; lithic_managed: boolean; name: string; program_level: boolean; state: 'ACTIVE' | 'INACTIVE'; type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'; excluded_account_tokens?: string[]; excluded_business_account_tokens?: string[]; excluded_card_tokens?: string[]; }",
markdown:
- "## retrieve\n\n`client.authRules.v2.retrieve(auth_rule_token: string): { token: string; account_tokens: string[]; business_account_tokens: string[]; card_tokens: string[]; current_version: object; draft_version: object; event_stream: event_stream; lithic_managed: boolean; name: string; program_level: boolean; state: 'ACTIVE' | 'INACTIVE'; type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'; excluded_account_tokens?: string[]; excluded_business_account_tokens?: string[]; excluded_card_tokens?: string[]; }`\n\n**get** `/v2/auth_rules/{auth_rule_token}`\n\nFetches a V2 Auth rule by its token\n\n### Parameters\n\n- `auth_rule_token: string`\n\n### Returns\n\n- `{ token: string; account_tokens: string[]; business_account_tokens: string[]; card_tokens: string[]; current_version: { parameters: object | object | object | object | object | object | object | object | object | object; version: number; }; draft_version: { error: string; parameters: object | object | object | object | object | object | object | object | object | object; state: 'PENDING' | 'SHADOWING' | 'ERROR'; version: number; }; event_stream: string; lithic_managed: boolean; name: string; program_level: boolean; state: 'ACTIVE' | 'INACTIVE'; type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'; excluded_account_tokens?: string[]; excluded_business_account_tokens?: string[]; excluded_card_tokens?: string[]; }`\n\n - `token: string`\n - `account_tokens: string[]`\n - `business_account_tokens: string[]`\n - `card_tokens: string[]`\n - `current_version: { parameters: { conditions: object[]; } | { period: object | object | object | object | object; scope: 'CARD' | 'ACCOUNT'; filters?: object; limit_amount?: number; limit_count?: number; } | { merchants: { comment?: string; descriptor?: string; merchant_id?: string; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { action: { type: 'APPROVE'; } | { code: string; type: 'RETURN'; }; conditions: { attribute: 'COMPANY_NAME' | 'COMPANY_ID' | 'TIMESTAMP' | 'TRANSACTION_AMOUNT' | 'SEC_CODE' | 'MEMO'; operation: conditional_operation; value: conditional_value; }[]; } | { action: { type: 'DECLINE'; reason?: string; } | { type: 'REQUIRE_TFA'; reason?: string; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: object | object; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { code: string; features: object | object | object | object | object | object | object | object | object[]; } | { adjustment: { mode: 'REPLACE_WITH_AMOUNT' | 'ADD_PERCENTAGE' | 'ADD_AMOUNT'; type: 'HOLD_ADJUSTMENT'; value: number; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; }; version: number; }`\n - `draft_version: { error: string; parameters: { conditions: object[]; } | { period: object | object | object | object | object; scope: 'CARD' | 'ACCOUNT'; filters?: object; limit_amount?: number; limit_count?: number; } | { merchants: { comment?: string; descriptor?: string; merchant_id?: string; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { action: { type: 'APPROVE'; } | { code: string; type: 'RETURN'; }; conditions: { attribute: 'COMPANY_NAME' | 'COMPANY_ID' | 'TIMESTAMP' | 'TRANSACTION_AMOUNT' | 'SEC_CODE' | 'MEMO'; operation: conditional_operation; value: conditional_value; }[]; } | { action: { type: 'DECLINE'; reason?: string; } | { type: 'REQUIRE_TFA'; reason?: string; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: object | object; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { code: string; features: object | object | object | object | object | object | object | object | object[]; } | { adjustment: { mode: 'REPLACE_WITH_AMOUNT' | 'ADD_PERCENTAGE' | 'ADD_AMOUNT'; type: 'HOLD_ADJUSTMENT'; value: number; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; }; state: 'PENDING' | 'SHADOWING' | 'ERROR'; version: number; }`\n - `event_stream: string`\n - `lithic_managed: boolean`\n - `name: string`\n - `program_level: boolean`\n - `state: 'ACTIVE' | 'INACTIVE'`\n - `type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'`\n - `excluded_account_tokens?: string[]`\n - `excluded_business_account_tokens?: string[]`\n - `excluded_card_tokens?: string[]`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\nconst authRule = await client.authRules.v2.retrieve('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');\n\nconsole.log(authRule);\n```",
+ "## retrieve\n\n`client.authRules.v2.retrieve(auth_rule_token: string): { token: string; account_tokens: string[]; business_account_tokens: string[]; card_tokens: string[]; current_version: object; draft_version: object; event_stream: event_stream; lithic_managed: boolean; name: string; program_level: boolean; state: 'ACTIVE' | 'INACTIVE'; type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'; excluded_account_tokens?: string[]; excluded_business_account_tokens?: string[]; excluded_card_tokens?: string[]; }`\n\n**get** `/v2/auth_rules/{auth_rule_token}`\n\nFetches a V2 Auth rule by its token\n\n### Parameters\n\n- `auth_rule_token: string`\n\n### Returns\n\n- `{ token: string; account_tokens: string[]; business_account_tokens: string[]; card_tokens: string[]; current_version: { parameters: object | object | object | object | object | object | object | object | object | object; version: number; }; draft_version: { error: string; parameters: object | object | object | object | object | object | object | object | object | object; state: 'PENDING' | 'SHADOWING' | 'ERROR'; version: number; }; event_stream: string; lithic_managed: boolean; name: string; program_level: boolean; state: 'ACTIVE' | 'INACTIVE'; type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'; excluded_account_tokens?: string[]; excluded_business_account_tokens?: string[]; excluded_card_tokens?: string[]; }`\n\n - `token: string`\n - `account_tokens: string[]`\n - `business_account_tokens: string[]`\n - `card_tokens: string[]`\n - `current_version: { parameters: { conditions: object[]; } | { period: object | object | object | object | object; scope: 'CARD' | 'ACCOUNT'; filters?: object; limit_amount?: number; limit_count?: number; } | { merchants: { comment?: string; descriptor?: string; merchant_id?: string; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { action: { type: 'APPROVE'; } | { code: string; type: 'RETURN'; }; conditions: { attribute: 'COMPANY_NAME' | 'COMPANY_ID' | 'TIMESTAMP' | 'TRANSACTION_AMOUNT' | 'SEC_CODE' | 'MEMO'; operation: conditional_operation; value: conditional_value; }[]; } | { action: { type: 'DECLINE'; reason?: string; } | { type: 'REQUIRE_TFA'; reason?: string; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: object | object; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { code: string; features: object | object | object | object | object | object | object | object | object[]; } | { action: { mode: 'REPLACE_WITH_AMOUNT' | 'ADD_PERCENTAGE' | 'ADD_AMOUNT'; type: 'HOLD_ADJUSTMENT'; value: number; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; }; version: number; }`\n - `draft_version: { error: string; parameters: { conditions: object[]; } | { period: object | object | object | object | object; scope: 'CARD' | 'ACCOUNT'; filters?: object; limit_amount?: number; limit_count?: number; } | { merchants: { comment?: string; descriptor?: string; merchant_id?: string; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { action: { type: 'APPROVE'; } | { code: string; type: 'RETURN'; }; conditions: { attribute: 'COMPANY_NAME' | 'COMPANY_ID' | 'TIMESTAMP' | 'TRANSACTION_AMOUNT' | 'SEC_CODE' | 'MEMO'; operation: conditional_operation; value: conditional_value; }[]; } | { action: { type: 'DECLINE'; reason?: string; } | { type: 'REQUIRE_TFA'; reason?: string; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: object | object; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { code: string; features: object | object | object | object | object | object | object | object | object[]; } | { action: { mode: 'REPLACE_WITH_AMOUNT' | 'ADD_PERCENTAGE' | 'ADD_AMOUNT'; type: 'HOLD_ADJUSTMENT'; value: number; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; }; state: 'PENDING' | 'SHADOWING' | 'ERROR'; version: number; }`\n - `event_stream: string`\n - `lithic_managed: boolean`\n - `name: string`\n - `program_level: boolean`\n - `state: 'ACTIVE' | 'INACTIVE'`\n - `type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'`\n - `excluded_account_tokens?: string[]`\n - `excluded_business_account_tokens?: string[]`\n - `excluded_card_tokens?: string[]`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\nconst authRule = await client.authRules.v2.retrieve('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');\n\nconsole.log(authRule);\n```",
perLanguage: {
typescript: {
method: 'client.authRules.v2.retrieve',
@@ -1224,12 +1224,12 @@ const EMBEDDED_METHODS: MethodEntry[] = [
qualified: 'client.authRules.v2.draft',
params: [
'auth_rule_token: string;',
- "parameters?: { conditions: { attribute: conditional_attribute; operation: conditional_operation; value: conditional_value; }[]; } | { period: { duration: number; type: 'CUSTOM'; } | { type: 'DAY'; } | { type: 'WEEK'; day_of_week?: number; } | { type: 'MONTH'; day_of_month?: number; } | { type: 'YEAR'; day_of_month?: number; month?: number; }; scope: 'CARD' | 'ACCOUNT'; filters?: { exclude_countries?: string[]; exclude_mccs?: string[]; include_countries?: string[]; include_mccs?: string[]; include_pan_entry_modes?: string[]; }; limit_amount?: number; limit_count?: number; } | { merchants: { comment?: string; descriptor?: string; merchant_id?: string; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: string; value: string | number | number | string[] | string; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: string; value: string | number | number | string[] | string; parameters?: { interval?: 'LIFETIME' | '7D' | '30D' | '90D'; scope?: 'CARD' | 'ACCOUNT' | 'BUSINESS_ACCOUNT'; unit?: 'MPH' | 'KPH' | 'MILES' | 'KILOMETERS'; }; }[]; } | { action: { type: 'APPROVE'; } | { code: string; type: 'RETURN'; }; conditions: { attribute: 'COMPANY_NAME' | 'COMPANY_ID' | 'TIMESTAMP' | 'TRANSACTION_AMOUNT' | 'SEC_CODE' | 'MEMO'; operation: string; value: string | number | number | string[] | string; }[]; } | { action: { type: 'DECLINE'; reason?: string; } | { type: 'REQUIRE_TFA'; reason?: string; }; conditions: { attribute: string; operation: string; value: string | number | number | string[] | string; }[]; } | { action: { key: string; type: 'TAG'; value: string; } | { queue_token: string; scope: 'CARD' | 'ACCOUNT'; type: 'CREATE_CASE'; }; conditions: { attribute: string; operation: string; value: string | number | number | string[] | string; parameters?: { filters?: spend_velocity_filters; period?: velocity_limit_period; scope?: 'CARD' | 'ACCOUNT' | 'GLOBAL'; }; }[]; } | { code: string; features: { type: 'AUTHORIZATION'; name?: string; } | { type: 'AUTHENTICATION'; name?: string; } | { type: 'TOKENIZATION'; name?: string; } | { type: 'ACH_RECEIPT'; name?: string; } | { type: 'CARD'; name?: string; } | { type: 'ACCOUNT_HOLDER'; name?: string; } | { type: 'IP_METADATA'; name?: string; } | { period: velocity_limit_period; scope: 'CARD' | 'ACCOUNT'; type: 'SPEND_VELOCITY'; filters?: velocity_limit_filters; name?: string; } | { scope: 'CARD' | 'ACCOUNT' | 'BUSINESS_ACCOUNT'; type: 'TRANSACTION_HISTORY_SIGNALS'; name?: string; }[]; } | { adjustment: { mode: 'REPLACE_WITH_AMOUNT' | 'ADD_PERCENTAGE' | 'ADD_AMOUNT'; type: 'HOLD_ADJUSTMENT'; value: number; }; conditions: { attribute: string; operation: string; value: string | number | number | string[] | string; parameters?: { interval?: 'LIFETIME' | '7D' | '30D' | '90D'; scope?: 'CARD' | 'ACCOUNT' | 'BUSINESS_ACCOUNT'; unit?: 'MPH' | 'KPH' | 'MILES' | 'KILOMETERS'; }; }[]; };",
+ "parameters?: { conditions: { attribute: conditional_attribute; operation: conditional_operation; value: conditional_value; }[]; } | { period: { duration: number; type: 'CUSTOM'; } | { type: 'DAY'; } | { type: 'WEEK'; day_of_week?: number; } | { type: 'MONTH'; day_of_month?: number; } | { type: 'YEAR'; day_of_month?: number; month?: number; }; scope: 'CARD' | 'ACCOUNT'; filters?: { exclude_countries?: string[]; exclude_mccs?: string[]; include_countries?: string[]; include_mccs?: string[]; include_pan_entry_modes?: string[]; }; limit_amount?: number; limit_count?: number; } | { merchants: { comment?: string; descriptor?: string; merchant_id?: string; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: string; value: string | number | number | string[] | string; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: string; value: string | number | number | string[] | string; parameters?: { interval?: 'LIFETIME' | '7D' | '30D' | '90D'; scope?: 'CARD' | 'ACCOUNT' | 'BUSINESS_ACCOUNT'; unit?: 'MPH' | 'KPH' | 'MILES' | 'KILOMETERS'; }; }[]; } | { action: { type: 'APPROVE'; } | { code: string; type: 'RETURN'; }; conditions: { attribute: 'COMPANY_NAME' | 'COMPANY_ID' | 'TIMESTAMP' | 'TRANSACTION_AMOUNT' | 'SEC_CODE' | 'MEMO'; operation: string; value: string | number | number | string[] | string; }[]; } | { action: { type: 'DECLINE'; reason?: string; } | { type: 'REQUIRE_TFA'; reason?: string; }; conditions: { attribute: string; operation: string; value: string | number | number | string[] | string; }[]; } | { action: { key: string; type: 'TAG'; value: string; } | { queue_token: string; scope: 'CARD' | 'ACCOUNT'; type: 'CREATE_CASE'; }; conditions: { attribute: string; operation: string; value: string | number | number | string[] | string; parameters?: { filters?: spend_velocity_filters; period?: velocity_limit_period; scope?: 'CARD' | 'ACCOUNT' | 'GLOBAL'; }; }[]; } | { code: string; features: { type: 'AUTHORIZATION'; name?: string; } | { type: 'AUTHENTICATION'; name?: string; } | { type: 'TOKENIZATION'; name?: string; } | { type: 'ACH_RECEIPT'; name?: string; } | { type: 'CARD'; name?: string; } | { type: 'ACCOUNT_HOLDER'; name?: string; } | { type: 'IP_METADATA'; name?: string; } | { period: velocity_limit_period; scope: 'CARD' | 'ACCOUNT'; type: 'SPEND_VELOCITY'; filters?: velocity_limit_filters; name?: string; } | { scope: 'CARD' | 'ACCOUNT' | 'BUSINESS_ACCOUNT'; type: 'TRANSACTION_HISTORY_SIGNALS'; name?: string; }[]; } | { action: { mode: 'REPLACE_WITH_AMOUNT' | 'ADD_PERCENTAGE' | 'ADD_AMOUNT'; type: 'HOLD_ADJUSTMENT'; value: number; }; conditions: { attribute: string; operation: string; value: string | number | number | string[] | string; parameters?: { interval?: 'LIFETIME' | '7D' | '30D' | '90D'; scope?: 'CARD' | 'ACCOUNT' | 'BUSINESS_ACCOUNT'; unit?: 'MPH' | 'KPH' | 'MILES' | 'KILOMETERS'; }; }[]; };",
],
response:
"{ token: string; account_tokens: string[]; business_account_tokens: string[]; card_tokens: string[]; current_version: { parameters: object | object | object | object | object | object | object | object | object | object; version: number; }; draft_version: { error: string; parameters: object | object | object | object | object | object | object | object | object | object; state: 'PENDING' | 'SHADOWING' | 'ERROR'; version: number; }; event_stream: string; lithic_managed: boolean; name: string; program_level: boolean; state: 'ACTIVE' | 'INACTIVE'; type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'; excluded_account_tokens?: string[]; excluded_business_account_tokens?: string[]; excluded_card_tokens?: string[]; }",
markdown:
- "## draft\n\n`client.authRules.v2.draft(auth_rule_token: string, parameters?: { conditions: auth_rule_condition[]; } | { period: velocity_limit_period; scope: 'CARD' | 'ACCOUNT'; filters?: velocity_limit_filters; limit_amount?: number; limit_count?: number; } | { merchants: object[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: object[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: object[]; } | { action: object | object; conditions: object[]; } | { action: object | object; conditions: object[]; } | { action: card_transaction_update_action; conditions: object[]; } | { code: string; features: rule_feature[]; } | { adjustment: object; conditions: object[]; }): { token: string; account_tokens: string[]; business_account_tokens: string[]; card_tokens: string[]; current_version: object; draft_version: object; event_stream: event_stream; lithic_managed: boolean; name: string; program_level: boolean; state: 'ACTIVE' | 'INACTIVE'; type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'; excluded_account_tokens?: string[]; excluded_business_account_tokens?: string[]; excluded_card_tokens?: string[]; }`\n\n**post** `/v2/auth_rules/{auth_rule_token}/draft`\n\nCreates a new draft version of a rule that will be ran in shadow mode.\n\nThis can also be utilized to reset the draft parameters, causing a draft version to no longer be ran in shadow mode.\n\n\n### Parameters\n\n- `auth_rule_token: string`\n\n- `parameters?: { conditions: { attribute: conditional_attribute; operation: conditional_operation; value: conditional_value; }[]; } | { period: { duration: number; type: 'CUSTOM'; } | { type: 'DAY'; } | { type: 'WEEK'; day_of_week?: number; } | { type: 'MONTH'; day_of_month?: number; } | { type: 'YEAR'; day_of_month?: number; month?: number; }; scope: 'CARD' | 'ACCOUNT'; filters?: { exclude_countries?: string[]; exclude_mccs?: string[]; include_countries?: string[]; include_mccs?: string[]; include_pan_entry_modes?: string[]; }; limit_amount?: number; limit_count?: number; } | { merchants: { comment?: string; descriptor?: string; merchant_id?: string; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: string; value: string | number | number | string[] | string; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: string; value: string | number | number | string[] | string; parameters?: { interval?: 'LIFETIME' | '7D' | '30D' | '90D'; scope?: 'CARD' | 'ACCOUNT' | 'BUSINESS_ACCOUNT'; unit?: 'MPH' | 'KPH' | 'MILES' | 'KILOMETERS'; }; }[]; } | { action: { type: 'APPROVE'; } | { code: string; type: 'RETURN'; }; conditions: { attribute: 'COMPANY_NAME' | 'COMPANY_ID' | 'TIMESTAMP' | 'TRANSACTION_AMOUNT' | 'SEC_CODE' | 'MEMO'; operation: string; value: string | number | number | string[] | string; }[]; } | { action: { type: 'DECLINE'; reason?: string; } | { type: 'REQUIRE_TFA'; reason?: string; }; conditions: { attribute: string; operation: string; value: string | number | number | string[] | string; }[]; } | { action: { key: string; type: 'TAG'; value: string; } | { queue_token: string; scope: 'CARD' | 'ACCOUNT'; type: 'CREATE_CASE'; }; conditions: { attribute: string; operation: string; value: string | number | number | string[] | string; parameters?: { filters?: spend_velocity_filters; period?: velocity_limit_period; scope?: 'CARD' | 'ACCOUNT' | 'GLOBAL'; }; }[]; } | { code: string; features: { type: 'AUTHORIZATION'; name?: string; } | { type: 'AUTHENTICATION'; name?: string; } | { type: 'TOKENIZATION'; name?: string; } | { type: 'ACH_RECEIPT'; name?: string; } | { type: 'CARD'; name?: string; } | { type: 'ACCOUNT_HOLDER'; name?: string; } | { type: 'IP_METADATA'; name?: string; } | { period: velocity_limit_period; scope: 'CARD' | 'ACCOUNT'; type: 'SPEND_VELOCITY'; filters?: velocity_limit_filters; name?: string; } | { scope: 'CARD' | 'ACCOUNT' | 'BUSINESS_ACCOUNT'; type: 'TRANSACTION_HISTORY_SIGNALS'; name?: string; }[]; } | { adjustment: { mode: 'REPLACE_WITH_AMOUNT' | 'ADD_PERCENTAGE' | 'ADD_AMOUNT'; type: 'HOLD_ADJUSTMENT'; value: number; }; conditions: { attribute: string; operation: string; value: string | number | number | string[] | string; parameters?: { interval?: 'LIFETIME' | '7D' | '30D' | '90D'; scope?: 'CARD' | 'ACCOUNT' | 'BUSINESS_ACCOUNT'; unit?: 'MPH' | 'KPH' | 'MILES' | 'KILOMETERS'; }; }[]; }`\n Parameters for the Auth Rule\n\n### Returns\n\n- `{ token: string; account_tokens: string[]; business_account_tokens: string[]; card_tokens: string[]; current_version: { parameters: object | object | object | object | object | object | object | object | object | object; version: number; }; draft_version: { error: string; parameters: object | object | object | object | object | object | object | object | object | object; state: 'PENDING' | 'SHADOWING' | 'ERROR'; version: number; }; event_stream: string; lithic_managed: boolean; name: string; program_level: boolean; state: 'ACTIVE' | 'INACTIVE'; type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'; excluded_account_tokens?: string[]; excluded_business_account_tokens?: string[]; excluded_card_tokens?: string[]; }`\n\n - `token: string`\n - `account_tokens: string[]`\n - `business_account_tokens: string[]`\n - `card_tokens: string[]`\n - `current_version: { parameters: { conditions: object[]; } | { period: object | object | object | object | object; scope: 'CARD' | 'ACCOUNT'; filters?: object; limit_amount?: number; limit_count?: number; } | { merchants: { comment?: string; descriptor?: string; merchant_id?: string; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { action: { type: 'APPROVE'; } | { code: string; type: 'RETURN'; }; conditions: { attribute: 'COMPANY_NAME' | 'COMPANY_ID' | 'TIMESTAMP' | 'TRANSACTION_AMOUNT' | 'SEC_CODE' | 'MEMO'; operation: conditional_operation; value: conditional_value; }[]; } | { action: { type: 'DECLINE'; reason?: string; } | { type: 'REQUIRE_TFA'; reason?: string; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: object | object; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { code: string; features: object | object | object | object | object | object | object | object | object[]; } | { adjustment: { mode: 'REPLACE_WITH_AMOUNT' | 'ADD_PERCENTAGE' | 'ADD_AMOUNT'; type: 'HOLD_ADJUSTMENT'; value: number; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; }; version: number; }`\n - `draft_version: { error: string; parameters: { conditions: object[]; } | { period: object | object | object | object | object; scope: 'CARD' | 'ACCOUNT'; filters?: object; limit_amount?: number; limit_count?: number; } | { merchants: { comment?: string; descriptor?: string; merchant_id?: string; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { action: { type: 'APPROVE'; } | { code: string; type: 'RETURN'; }; conditions: { attribute: 'COMPANY_NAME' | 'COMPANY_ID' | 'TIMESTAMP' | 'TRANSACTION_AMOUNT' | 'SEC_CODE' | 'MEMO'; operation: conditional_operation; value: conditional_value; }[]; } | { action: { type: 'DECLINE'; reason?: string; } | { type: 'REQUIRE_TFA'; reason?: string; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: object | object; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { code: string; features: object | object | object | object | object | object | object | object | object[]; } | { adjustment: { mode: 'REPLACE_WITH_AMOUNT' | 'ADD_PERCENTAGE' | 'ADD_AMOUNT'; type: 'HOLD_ADJUSTMENT'; value: number; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; }; state: 'PENDING' | 'SHADOWING' | 'ERROR'; version: number; }`\n - `event_stream: string`\n - `lithic_managed: boolean`\n - `name: string`\n - `program_level: boolean`\n - `state: 'ACTIVE' | 'INACTIVE'`\n - `type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'`\n - `excluded_account_tokens?: string[]`\n - `excluded_business_account_tokens?: string[]`\n - `excluded_card_tokens?: string[]`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\nconst authRule = await client.authRules.v2.draft('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');\n\nconsole.log(authRule);\n```",
+ "## draft\n\n`client.authRules.v2.draft(auth_rule_token: string, parameters?: { conditions: auth_rule_condition[]; } | { period: velocity_limit_period; scope: 'CARD' | 'ACCOUNT'; filters?: velocity_limit_filters; limit_amount?: number; limit_count?: number; } | { merchants: object[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: object[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: object[]; } | { action: object | object; conditions: object[]; } | { action: object | object; conditions: object[]; } | { action: card_transaction_update_action; conditions: object[]; } | { code: string; features: rule_feature[]; } | { action: object; conditions: object[]; }): { token: string; account_tokens: string[]; business_account_tokens: string[]; card_tokens: string[]; current_version: object; draft_version: object; event_stream: event_stream; lithic_managed: boolean; name: string; program_level: boolean; state: 'ACTIVE' | 'INACTIVE'; type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'; excluded_account_tokens?: string[]; excluded_business_account_tokens?: string[]; excluded_card_tokens?: string[]; }`\n\n**post** `/v2/auth_rules/{auth_rule_token}/draft`\n\nCreates a new draft version of a rule that will be ran in shadow mode.\n\nThis can also be utilized to reset the draft parameters, causing a draft version to no longer be ran in shadow mode.\n\n\n### Parameters\n\n- `auth_rule_token: string`\n\n- `parameters?: { conditions: { attribute: conditional_attribute; operation: conditional_operation; value: conditional_value; }[]; } | { period: { duration: number; type: 'CUSTOM'; } | { type: 'DAY'; } | { type: 'WEEK'; day_of_week?: number; } | { type: 'MONTH'; day_of_month?: number; } | { type: 'YEAR'; day_of_month?: number; month?: number; }; scope: 'CARD' | 'ACCOUNT'; filters?: { exclude_countries?: string[]; exclude_mccs?: string[]; include_countries?: string[]; include_mccs?: string[]; include_pan_entry_modes?: string[]; }; limit_amount?: number; limit_count?: number; } | { merchants: { comment?: string; descriptor?: string; merchant_id?: string; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: string; value: string | number | number | string[] | string; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: string; value: string | number | number | string[] | string; parameters?: { interval?: 'LIFETIME' | '7D' | '30D' | '90D'; scope?: 'CARD' | 'ACCOUNT' | 'BUSINESS_ACCOUNT'; unit?: 'MPH' | 'KPH' | 'MILES' | 'KILOMETERS'; }; }[]; } | { action: { type: 'APPROVE'; } | { code: string; type: 'RETURN'; }; conditions: { attribute: 'COMPANY_NAME' | 'COMPANY_ID' | 'TIMESTAMP' | 'TRANSACTION_AMOUNT' | 'SEC_CODE' | 'MEMO'; operation: string; value: string | number | number | string[] | string; }[]; } | { action: { type: 'DECLINE'; reason?: string; } | { type: 'REQUIRE_TFA'; reason?: string; }; conditions: { attribute: string; operation: string; value: string | number | number | string[] | string; }[]; } | { action: { key: string; type: 'TAG'; value: string; } | { queue_token: string; scope: 'CARD' | 'ACCOUNT'; type: 'CREATE_CASE'; }; conditions: { attribute: string; operation: string; value: string | number | number | string[] | string; parameters?: { filters?: spend_velocity_filters; period?: velocity_limit_period; scope?: 'CARD' | 'ACCOUNT' | 'GLOBAL'; }; }[]; } | { code: string; features: { type: 'AUTHORIZATION'; name?: string; } | { type: 'AUTHENTICATION'; name?: string; } | { type: 'TOKENIZATION'; name?: string; } | { type: 'ACH_RECEIPT'; name?: string; } | { type: 'CARD'; name?: string; } | { type: 'ACCOUNT_HOLDER'; name?: string; } | { type: 'IP_METADATA'; name?: string; } | { period: velocity_limit_period; scope: 'CARD' | 'ACCOUNT'; type: 'SPEND_VELOCITY'; filters?: velocity_limit_filters; name?: string; } | { scope: 'CARD' | 'ACCOUNT' | 'BUSINESS_ACCOUNT'; type: 'TRANSACTION_HISTORY_SIGNALS'; name?: string; }[]; } | { action: { mode: 'REPLACE_WITH_AMOUNT' | 'ADD_PERCENTAGE' | 'ADD_AMOUNT'; type: 'HOLD_ADJUSTMENT'; value: number; }; conditions: { attribute: string; operation: string; value: string | number | number | string[] | string; parameters?: { interval?: 'LIFETIME' | '7D' | '30D' | '90D'; scope?: 'CARD' | 'ACCOUNT' | 'BUSINESS_ACCOUNT'; unit?: 'MPH' | 'KPH' | 'MILES' | 'KILOMETERS'; }; }[]; }`\n Parameters for the Auth Rule\n\n### Returns\n\n- `{ token: string; account_tokens: string[]; business_account_tokens: string[]; card_tokens: string[]; current_version: { parameters: object | object | object | object | object | object | object | object | object | object; version: number; }; draft_version: { error: string; parameters: object | object | object | object | object | object | object | object | object | object; state: 'PENDING' | 'SHADOWING' | 'ERROR'; version: number; }; event_stream: string; lithic_managed: boolean; name: string; program_level: boolean; state: 'ACTIVE' | 'INACTIVE'; type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'; excluded_account_tokens?: string[]; excluded_business_account_tokens?: string[]; excluded_card_tokens?: string[]; }`\n\n - `token: string`\n - `account_tokens: string[]`\n - `business_account_tokens: string[]`\n - `card_tokens: string[]`\n - `current_version: { parameters: { conditions: object[]; } | { period: object | object | object | object | object; scope: 'CARD' | 'ACCOUNT'; filters?: object; limit_amount?: number; limit_count?: number; } | { merchants: { comment?: string; descriptor?: string; merchant_id?: string; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { action: { type: 'APPROVE'; } | { code: string; type: 'RETURN'; }; conditions: { attribute: 'COMPANY_NAME' | 'COMPANY_ID' | 'TIMESTAMP' | 'TRANSACTION_AMOUNT' | 'SEC_CODE' | 'MEMO'; operation: conditional_operation; value: conditional_value; }[]; } | { action: { type: 'DECLINE'; reason?: string; } | { type: 'REQUIRE_TFA'; reason?: string; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: object | object; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { code: string; features: object | object | object | object | object | object | object | object | object[]; } | { action: { mode: 'REPLACE_WITH_AMOUNT' | 'ADD_PERCENTAGE' | 'ADD_AMOUNT'; type: 'HOLD_ADJUSTMENT'; value: number; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; }; version: number; }`\n - `draft_version: { error: string; parameters: { conditions: object[]; } | { period: object | object | object | object | object; scope: 'CARD' | 'ACCOUNT'; filters?: object; limit_amount?: number; limit_count?: number; } | { merchants: { comment?: string; descriptor?: string; merchant_id?: string; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { action: { type: 'APPROVE'; } | { code: string; type: 'RETURN'; }; conditions: { attribute: 'COMPANY_NAME' | 'COMPANY_ID' | 'TIMESTAMP' | 'TRANSACTION_AMOUNT' | 'SEC_CODE' | 'MEMO'; operation: conditional_operation; value: conditional_value; }[]; } | { action: { type: 'DECLINE'; reason?: string; } | { type: 'REQUIRE_TFA'; reason?: string; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: object | object; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { code: string; features: object | object | object | object | object | object | object | object | object[]; } | { action: { mode: 'REPLACE_WITH_AMOUNT' | 'ADD_PERCENTAGE' | 'ADD_AMOUNT'; type: 'HOLD_ADJUSTMENT'; value: number; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; }; state: 'PENDING' | 'SHADOWING' | 'ERROR'; version: number; }`\n - `event_stream: string`\n - `lithic_managed: boolean`\n - `name: string`\n - `program_level: boolean`\n - `state: 'ACTIVE' | 'INACTIVE'`\n - `type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'`\n - `excluded_account_tokens?: string[]`\n - `excluded_business_account_tokens?: string[]`\n - `excluded_card_tokens?: string[]`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\nconst authRule = await client.authRules.v2.draft('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');\n\nconsole.log(authRule);\n```",
perLanguage: {
typescript: {
method: 'client.authRules.v2.draft',
@@ -1279,7 +1279,7 @@ const EMBEDDED_METHODS: MethodEntry[] = [
response:
"{ data: { created: string; parameters: conditional_block_parameters | velocity_limit_params | merchant_lock_parameters | conditional_3ds_action_parameters | conditional_authorization_action_parameters | conditional_ach_action_parameters | conditional_tokenization_action_parameters | conditional_card_transaction_update_action_parameters | typescript_code_parameters | conditional_authorization_adjustment_parameters; state: 'ACTIVE' | 'SHADOW' | 'INACTIVE'; version: number; }[]; }",
markdown:
- "## list_versions\n\n`client.authRules.v2.listVersions(auth_rule_token: string): { data: auth_rule_version[]; }`\n\n**get** `/v2/auth_rules/{auth_rule_token}/versions`\n\nReturns all versions of an auth rule, sorted by version number descending (newest first).\n\n### Parameters\n\n- `auth_rule_token: string`\n\n### Returns\n\n- `{ data: { created: string; parameters: conditional_block_parameters | velocity_limit_params | merchant_lock_parameters | conditional_3ds_action_parameters | conditional_authorization_action_parameters | conditional_ach_action_parameters | conditional_tokenization_action_parameters | conditional_card_transaction_update_action_parameters | typescript_code_parameters | conditional_authorization_adjustment_parameters; state: 'ACTIVE' | 'SHADOW' | 'INACTIVE'; version: number; }[]; }`\n\n - `data: { created: string; parameters: { conditions: auth_rule_condition[]; } | { period: velocity_limit_period; scope: 'CARD' | 'ACCOUNT'; filters?: velocity_limit_filters; limit_amount?: number; limit_count?: number; } | { merchants: object[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: object[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: object[]; } | { action: object | object; conditions: object[]; } | { action: object | object; conditions: object[]; } | { action: card_transaction_update_action; conditions: object[]; } | { code: string; features: rule_feature[]; } | { adjustment: object; conditions: object[]; }; state: 'ACTIVE' | 'SHADOW' | 'INACTIVE'; version: number; }[]`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\nconst response = await client.authRules.v2.listVersions('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');\n\nconsole.log(response);\n```",
+ "## list_versions\n\n`client.authRules.v2.listVersions(auth_rule_token: string): { data: auth_rule_version[]; }`\n\n**get** `/v2/auth_rules/{auth_rule_token}/versions`\n\nReturns all versions of an auth rule, sorted by version number descending (newest first).\n\n### Parameters\n\n- `auth_rule_token: string`\n\n### Returns\n\n- `{ data: { created: string; parameters: conditional_block_parameters | velocity_limit_params | merchant_lock_parameters | conditional_3ds_action_parameters | conditional_authorization_action_parameters | conditional_ach_action_parameters | conditional_tokenization_action_parameters | conditional_card_transaction_update_action_parameters | typescript_code_parameters | conditional_authorization_adjustment_parameters; state: 'ACTIVE' | 'SHADOW' | 'INACTIVE'; version: number; }[]; }`\n\n - `data: { created: string; parameters: { conditions: auth_rule_condition[]; } | { period: velocity_limit_period; scope: 'CARD' | 'ACCOUNT'; filters?: velocity_limit_filters; limit_amount?: number; limit_count?: number; } | { merchants: object[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: object[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: object[]; } | { action: object | object; conditions: object[]; } | { action: object | object; conditions: object[]; } | { action: card_transaction_update_action; conditions: object[]; } | { code: string; features: rule_feature[]; } | { action: object; conditions: object[]; }; state: 'ACTIVE' | 'SHADOW' | 'INACTIVE'; version: number; }[]`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\nconst response = await client.authRules.v2.listVersions('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');\n\nconsole.log(response);\n```",
perLanguage: {
typescript: {
method: 'client.authRules.v2.listVersions',
@@ -1330,7 +1330,7 @@ const EMBEDDED_METHODS: MethodEntry[] = [
response:
"{ token: string; account_tokens: string[]; business_account_tokens: string[]; card_tokens: string[]; current_version: { parameters: object | object | object | object | object | object | object | object | object | object; version: number; }; draft_version: { error: string; parameters: object | object | object | object | object | object | object | object | object | object; state: 'PENDING' | 'SHADOWING' | 'ERROR'; version: number; }; event_stream: string; lithic_managed: boolean; name: string; program_level: boolean; state: 'ACTIVE' | 'INACTIVE'; type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'; excluded_account_tokens?: string[]; excluded_business_account_tokens?: string[]; excluded_card_tokens?: string[]; }",
markdown:
- "## promote\n\n`client.authRules.v2.promote(auth_rule_token: string): { token: string; account_tokens: string[]; business_account_tokens: string[]; card_tokens: string[]; current_version: object; draft_version: object; event_stream: event_stream; lithic_managed: boolean; name: string; program_level: boolean; state: 'ACTIVE' | 'INACTIVE'; type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'; excluded_account_tokens?: string[]; excluded_business_account_tokens?: string[]; excluded_card_tokens?: string[]; }`\n\n**post** `/v2/auth_rules/{auth_rule_token}/promote`\n\nPromotes the draft version of an Auth rule to the currently active version such that it is enforced in the respective stream.\n\n### Parameters\n\n- `auth_rule_token: string`\n\n### Returns\n\n- `{ token: string; account_tokens: string[]; business_account_tokens: string[]; card_tokens: string[]; current_version: { parameters: object | object | object | object | object | object | object | object | object | object; version: number; }; draft_version: { error: string; parameters: object | object | object | object | object | object | object | object | object | object; state: 'PENDING' | 'SHADOWING' | 'ERROR'; version: number; }; event_stream: string; lithic_managed: boolean; name: string; program_level: boolean; state: 'ACTIVE' | 'INACTIVE'; type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'; excluded_account_tokens?: string[]; excluded_business_account_tokens?: string[]; excluded_card_tokens?: string[]; }`\n\n - `token: string`\n - `account_tokens: string[]`\n - `business_account_tokens: string[]`\n - `card_tokens: string[]`\n - `current_version: { parameters: { conditions: object[]; } | { period: object | object | object | object | object; scope: 'CARD' | 'ACCOUNT'; filters?: object; limit_amount?: number; limit_count?: number; } | { merchants: { comment?: string; descriptor?: string; merchant_id?: string; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { action: { type: 'APPROVE'; } | { code: string; type: 'RETURN'; }; conditions: { attribute: 'COMPANY_NAME' | 'COMPANY_ID' | 'TIMESTAMP' | 'TRANSACTION_AMOUNT' | 'SEC_CODE' | 'MEMO'; operation: conditional_operation; value: conditional_value; }[]; } | { action: { type: 'DECLINE'; reason?: string; } | { type: 'REQUIRE_TFA'; reason?: string; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: object | object; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { code: string; features: object | object | object | object | object | object | object | object | object[]; } | { adjustment: { mode: 'REPLACE_WITH_AMOUNT' | 'ADD_PERCENTAGE' | 'ADD_AMOUNT'; type: 'HOLD_ADJUSTMENT'; value: number; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; }; version: number; }`\n - `draft_version: { error: string; parameters: { conditions: object[]; } | { period: object | object | object | object | object; scope: 'CARD' | 'ACCOUNT'; filters?: object; limit_amount?: number; limit_count?: number; } | { merchants: { comment?: string; descriptor?: string; merchant_id?: string; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { action: { type: 'APPROVE'; } | { code: string; type: 'RETURN'; }; conditions: { attribute: 'COMPANY_NAME' | 'COMPANY_ID' | 'TIMESTAMP' | 'TRANSACTION_AMOUNT' | 'SEC_CODE' | 'MEMO'; operation: conditional_operation; value: conditional_value; }[]; } | { action: { type: 'DECLINE'; reason?: string; } | { type: 'REQUIRE_TFA'; reason?: string; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: object | object; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { code: string; features: object | object | object | object | object | object | object | object | object[]; } | { adjustment: { mode: 'REPLACE_WITH_AMOUNT' | 'ADD_PERCENTAGE' | 'ADD_AMOUNT'; type: 'HOLD_ADJUSTMENT'; value: number; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; }; state: 'PENDING' | 'SHADOWING' | 'ERROR'; version: number; }`\n - `event_stream: string`\n - `lithic_managed: boolean`\n - `name: string`\n - `program_level: boolean`\n - `state: 'ACTIVE' | 'INACTIVE'`\n - `type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'`\n - `excluded_account_tokens?: string[]`\n - `excluded_business_account_tokens?: string[]`\n - `excluded_card_tokens?: string[]`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\nconst authRule = await client.authRules.v2.promote('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');\n\nconsole.log(authRule);\n```",
+ "## promote\n\n`client.authRules.v2.promote(auth_rule_token: string): { token: string; account_tokens: string[]; business_account_tokens: string[]; card_tokens: string[]; current_version: object; draft_version: object; event_stream: event_stream; lithic_managed: boolean; name: string; program_level: boolean; state: 'ACTIVE' | 'INACTIVE'; type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'; excluded_account_tokens?: string[]; excluded_business_account_tokens?: string[]; excluded_card_tokens?: string[]; }`\n\n**post** `/v2/auth_rules/{auth_rule_token}/promote`\n\nPromotes the draft version of an Auth rule to the currently active version such that it is enforced in the respective stream.\n\n### Parameters\n\n- `auth_rule_token: string`\n\n### Returns\n\n- `{ token: string; account_tokens: string[]; business_account_tokens: string[]; card_tokens: string[]; current_version: { parameters: object | object | object | object | object | object | object | object | object | object; version: number; }; draft_version: { error: string; parameters: object | object | object | object | object | object | object | object | object | object; state: 'PENDING' | 'SHADOWING' | 'ERROR'; version: number; }; event_stream: string; lithic_managed: boolean; name: string; program_level: boolean; state: 'ACTIVE' | 'INACTIVE'; type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'; excluded_account_tokens?: string[]; excluded_business_account_tokens?: string[]; excluded_card_tokens?: string[]; }`\n\n - `token: string`\n - `account_tokens: string[]`\n - `business_account_tokens: string[]`\n - `card_tokens: string[]`\n - `current_version: { parameters: { conditions: object[]; } | { period: object | object | object | object | object; scope: 'CARD' | 'ACCOUNT'; filters?: object; limit_amount?: number; limit_count?: number; } | { merchants: { comment?: string; descriptor?: string; merchant_id?: string; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { action: { type: 'APPROVE'; } | { code: string; type: 'RETURN'; }; conditions: { attribute: 'COMPANY_NAME' | 'COMPANY_ID' | 'TIMESTAMP' | 'TRANSACTION_AMOUNT' | 'SEC_CODE' | 'MEMO'; operation: conditional_operation; value: conditional_value; }[]; } | { action: { type: 'DECLINE'; reason?: string; } | { type: 'REQUIRE_TFA'; reason?: string; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: object | object; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { code: string; features: object | object | object | object | object | object | object | object | object[]; } | { action: { mode: 'REPLACE_WITH_AMOUNT' | 'ADD_PERCENTAGE' | 'ADD_AMOUNT'; type: 'HOLD_ADJUSTMENT'; value: number; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; }; version: number; }`\n - `draft_version: { error: string; parameters: { conditions: object[]; } | { period: object | object | object | object | object; scope: 'CARD' | 'ACCOUNT'; filters?: object; limit_amount?: number; limit_count?: number; } | { merchants: { comment?: string; descriptor?: string; merchant_id?: string; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: 'DECLINE' | 'CHALLENGE'; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { action: { type: 'APPROVE'; } | { code: string; type: 'RETURN'; }; conditions: { attribute: 'COMPANY_NAME' | 'COMPANY_ID' | 'TIMESTAMP' | 'TRANSACTION_AMOUNT' | 'SEC_CODE' | 'MEMO'; operation: conditional_operation; value: conditional_value; }[]; } | { action: { type: 'DECLINE'; reason?: string; } | { type: 'REQUIRE_TFA'; reason?: string; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; }[]; } | { action: object | object; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; } | { code: string; features: object | object | object | object | object | object | object | object | object[]; } | { action: { mode: 'REPLACE_WITH_AMOUNT' | 'ADD_PERCENTAGE' | 'ADD_AMOUNT'; type: 'HOLD_ADJUSTMENT'; value: number; }; conditions: { attribute: string; operation: conditional_operation; value: conditional_value; parameters?: object; }[]; }; state: 'PENDING' | 'SHADOWING' | 'ERROR'; version: number; }`\n - `event_stream: string`\n - `lithic_managed: boolean`\n - `name: string`\n - `program_level: boolean`\n - `state: 'ACTIVE' | 'INACTIVE'`\n - `type: 'CONDITIONAL_BLOCK' | 'VELOCITY_LIMIT' | 'MERCHANT_LOCK' | 'CONDITIONAL_ACTION' | 'TYPESCRIPT_CODE'`\n - `excluded_account_tokens?: string[]`\n - `excluded_business_account_tokens?: string[]`\n - `excluded_card_tokens?: string[]`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\nconst authRule = await client.authRules.v2.promote('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');\n\nconsole.log(authRule);\n```",
perLanguage: {
typescript: {
method: 'client.authRules.v2.promote',
@@ -1631,6 +1631,941 @@ const EMBEDDED_METHODS: MethodEntry[] = [
},
},
},
+ {
+ name: 'list',
+ endpoint: '/v1/transaction_monitoring/cases',
+ httpMethod: 'get',
+ summary: 'List cases',
+ description: 'Lists transaction monitoring cases, optionally filtered.',
+ stainlessPath: '(resource) transaction_monitoring.cases > (method) list',
+ qualified: 'client.transactionMonitoring.cases.list',
+ params: [
+ 'account_token?: string;',
+ 'assignee?: string;',
+ 'begin?: string;',
+ 'card_token?: string;',
+ 'end?: string;',
+ 'ending_before?: string;',
+ 'entity_token?: string;',
+ 'page_size?: number;',
+ 'queue_token?: string;',
+ 'rule_token?: string;',
+ "sort_by?: 'CREATED_ASC' | 'CREATED_DESC' | 'PRIORITY_DESC' | 'PRIORITY_ASC' | 'STATUS_DESC' | 'STATUS_ASC';",
+ 'starting_after?: string;',
+ "status?: 'OPEN' | 'ASSIGNED' | 'IN_REVIEW' | 'ESCALATED' | 'RESOLVED' | 'CLOSED';",
+ 'transaction_token?: string;',
+ ],
+ response:
+ "{ token: string; assignee: string; collection_stopped: string; created: string; entity: { entity_token: string; entity_type: 'CARD' | 'ACCOUNT'; }; pending_transactions: boolean; priority: 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL'; queue_token: string; resolution: string; resolution_notes: string; resolved: string; rule_token: string; sla_deadline: string; status: 'OPEN' | 'ASSIGNED' | 'IN_REVIEW' | 'ESCALATED' | 'RESOLVED' | 'CLOSED'; tags: object; title: string; updated: string; }",
+ markdown:
+ "## list\n\n`client.transactionMonitoring.cases.list(account_token?: string, assignee?: string, begin?: string, card_token?: string, end?: string, ending_before?: string, entity_token?: string, page_size?: number, queue_token?: string, rule_token?: string, sort_by?: 'CREATED_ASC' | 'CREATED_DESC' | 'PRIORITY_DESC' | 'PRIORITY_ASC' | 'STATUS_DESC' | 'STATUS_ASC', starting_after?: string, status?: 'OPEN' | 'ASSIGNED' | 'IN_REVIEW' | 'ESCALATED' | 'RESOLVED' | 'CLOSED', transaction_token?: string): { token: string; assignee: string; collection_stopped: string; created: string; entity: case_entity; pending_transactions: boolean; priority: case_priority; queue_token: string; resolution: resolution_outcome; resolution_notes: string; resolved: string; rule_token: string; sla_deadline: string; status: case_status; tags: object; title: string; updated: string; }`\n\n**get** `/v1/transaction_monitoring/cases`\n\nLists transaction monitoring cases, optionally filtered.\n\n### Parameters\n\n- `account_token?: string`\n Only return cases that include transactions on the provided account.\n\n- `assignee?: string`\n Only return cases assigned to the provided value. Pass an empty string to return only unassigned cases.\n\n- `begin?: string`\n Date string in RFC 3339 format. Only entries created after the specified time will be included. UTC time zone.\n\n- `card_token?: string`\n Only return cases that include transactions on the provided card.\n\n- `end?: string`\n Date string in RFC 3339 format. Only entries created before the specified time will be included. UTC time zone.\n\n- `ending_before?: string`\n A cursor representing an item's token before which a page of results should end. Used to retrieve the previous page of results before this item.\n\n- `entity_token?: string`\n Only return cases associated with the provided entity.\n\n- `page_size?: number`\n Page size (for pagination).\n\n- `queue_token?: string`\n Only return cases belonging to the provided queue.\n\n- `rule_token?: string`\n Only return cases triggered by the provided transaction monitoring rule.\n\n- `sort_by?: 'CREATED_ASC' | 'CREATED_DESC' | 'PRIORITY_DESC' | 'PRIORITY_ASC' | 'STATUS_DESC' | 'STATUS_ASC'`\n Sort order for the returned cases.\n\n- `starting_after?: string`\n A cursor representing an item's token after which a page of results should begin. Used to retrieve the next page of results after this item.\n\n- `status?: 'OPEN' | 'ASSIGNED' | 'IN_REVIEW' | 'ESCALATED' | 'RESOLVED' | 'CLOSED'`\n Only return cases with the provided status.\n\n- `transaction_token?: string`\n Only return cases that include the provided transaction.\n\n### Returns\n\n- `{ token: string; assignee: string; collection_stopped: string; created: string; entity: { entity_token: string; entity_type: 'CARD' | 'ACCOUNT'; }; pending_transactions: boolean; priority: 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL'; queue_token: string; resolution: string; resolution_notes: string; resolved: string; rule_token: string; sla_deadline: string; status: 'OPEN' | 'ASSIGNED' | 'IN_REVIEW' | 'ESCALATED' | 'RESOLVED' | 'CLOSED'; tags: object; title: string; updated: string; }`\n A transaction monitoring case\n\n - `token: string`\n - `assignee: string`\n - `collection_stopped: string`\n - `created: string`\n - `entity: { entity_token: string; entity_type: 'CARD' | 'ACCOUNT'; }`\n - `pending_transactions: boolean`\n - `priority: 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL'`\n - `queue_token: string`\n - `resolution: string`\n - `resolution_notes: string`\n - `resolved: string`\n - `rule_token: string`\n - `sla_deadline: string`\n - `status: 'OPEN' | 'ASSIGNED' | 'IN_REVIEW' | 'ESCALATED' | 'RESOLVED' | 'CLOSED'`\n - `tags: object`\n - `title: string`\n - `updated: string`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\n// Automatically fetches more pages as needed.\nfor await (const monitoringCase of client.transactionMonitoring.cases.list()) {\n console.log(monitoringCase);\n}\n```",
+ perLanguage: {
+ typescript: {
+ method: 'client.transactionMonitoring.cases.list',
+ example:
+ "import Lithic from 'lithic';\n\nconst client = new Lithic({\n apiKey: process.env['LITHIC_API_KEY'], // This is the default and can be omitted\n});\n\n// Automatically fetches more pages as needed.\nfor await (const monitoringCase of client.transactionMonitoring.cases.list()) {\n console.log(monitoringCase.token);\n}",
+ },
+ python: {
+ method: 'transaction_monitoring.cases.list',
+ example:
+ 'import os\nfrom lithic import Lithic\n\nclient = Lithic(\n api_key=os.environ.get("LITHIC_API_KEY"), # This is the default and can be omitted\n)\npage = client.transaction_monitoring.cases.list()\npage = page.data[0]\nprint(page.token)',
+ },
+ java: {
+ method: 'transactionMonitoring().cases().list',
+ example:
+ 'package com.lithic.api.example;\n\nimport com.lithic.api.client.LithicClient;\nimport com.lithic.api.client.okhttp.LithicOkHttpClient;\nimport com.lithic.api.models.TransactionMonitoringCaseListPage;\nimport com.lithic.api.models.TransactionMonitoringCaseListParams;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n LithicClient client = LithicOkHttpClient.fromEnv();\n\n TransactionMonitoringCaseListPage page = client.transactionMonitoring().cases().list();\n }\n}',
+ },
+ kotlin: {
+ method: 'transactionMonitoring().cases().list',
+ example:
+ 'package com.lithic.api.example\n\nimport com.lithic.api.client.LithicClient\nimport com.lithic.api.client.okhttp.LithicOkHttpClient\nimport com.lithic.api.models.TransactionMonitoringCaseListPage\nimport com.lithic.api.models.TransactionMonitoringCaseListParams\n\nfun main() {\n val client: LithicClient = LithicOkHttpClient.fromEnv()\n\n val page: TransactionMonitoringCaseListPage = client.transactionMonitoring().cases().list()\n}',
+ },
+ go: {
+ method: 'client.TransactionMonitoring.Cases.List',
+ example:
+ 'package main\n\nimport (\n\t"context"\n\t"fmt"\n\n\t"github.com/lithic-com/lithic-go"\n\t"github.com/lithic-com/lithic-go/option"\n)\n\nfunc main() {\n\tclient := lithic.NewClient(\n\t\toption.WithAPIKey("My Lithic API Key"),\n\t)\n\tpage, err := client.TransactionMonitoring.Cases.List(context.TODO(), lithic.TransactionMonitoringCaseListParams{})\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf("%+v\\n", page)\n}\n',
+ },
+ ruby: {
+ method: 'transaction_monitoring.cases.list',
+ example:
+ 'require "lithic"\n\nlithic = Lithic::Client.new(\n api_key: "My Lithic API Key",\n environment: "sandbox" # defaults to "production"\n)\n\npage = lithic.transaction_monitoring.cases.list\n\nputs(page)',
+ },
+ http: {
+ example:
+ 'curl https://api.lithic.com/v1/transaction_monitoring/cases \\\n -H "Authorization: $LITHIC_API_KEY"',
+ },
+ },
+ },
+ {
+ name: 'retrieve',
+ endpoint: '/v1/transaction_monitoring/cases/{case_token}',
+ httpMethod: 'get',
+ summary: 'Get case',
+ description: 'Retrieves a single transaction monitoring case.',
+ stainlessPath: '(resource) transaction_monitoring.cases > (method) retrieve',
+ qualified: 'client.transactionMonitoring.cases.retrieve',
+ params: ['case_token: string;'],
+ response:
+ "{ token: string; assignee: string; collection_stopped: string; created: string; entity: { entity_token: string; entity_type: 'CARD' | 'ACCOUNT'; }; pending_transactions: boolean; priority: 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL'; queue_token: string; resolution: string; resolution_notes: string; resolved: string; rule_token: string; sla_deadline: string; status: 'OPEN' | 'ASSIGNED' | 'IN_REVIEW' | 'ESCALATED' | 'RESOLVED' | 'CLOSED'; tags: object; title: string; updated: string; }",
+ markdown:
+ "## retrieve\n\n`client.transactionMonitoring.cases.retrieve(case_token: string): { token: string; assignee: string; collection_stopped: string; created: string; entity: case_entity; pending_transactions: boolean; priority: case_priority; queue_token: string; resolution: resolution_outcome; resolution_notes: string; resolved: string; rule_token: string; sla_deadline: string; status: case_status; tags: object; title: string; updated: string; }`\n\n**get** `/v1/transaction_monitoring/cases/{case_token}`\n\nRetrieves a single transaction monitoring case.\n\n### Parameters\n\n- `case_token: string`\n\n### Returns\n\n- `{ token: string; assignee: string; collection_stopped: string; created: string; entity: { entity_token: string; entity_type: 'CARD' | 'ACCOUNT'; }; pending_transactions: boolean; priority: 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL'; queue_token: string; resolution: string; resolution_notes: string; resolved: string; rule_token: string; sla_deadline: string; status: 'OPEN' | 'ASSIGNED' | 'IN_REVIEW' | 'ESCALATED' | 'RESOLVED' | 'CLOSED'; tags: object; title: string; updated: string; }`\n A transaction monitoring case\n\n - `token: string`\n - `assignee: string`\n - `collection_stopped: string`\n - `created: string`\n - `entity: { entity_token: string; entity_type: 'CARD' | 'ACCOUNT'; }`\n - `pending_transactions: boolean`\n - `priority: 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL'`\n - `queue_token: string`\n - `resolution: string`\n - `resolution_notes: string`\n - `resolved: string`\n - `rule_token: string`\n - `sla_deadline: string`\n - `status: 'OPEN' | 'ASSIGNED' | 'IN_REVIEW' | 'ESCALATED' | 'RESOLVED' | 'CLOSED'`\n - `tags: object`\n - `title: string`\n - `updated: string`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\nconst monitoringCase = await client.transactionMonitoring.cases.retrieve('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');\n\nconsole.log(monitoringCase);\n```",
+ perLanguage: {
+ typescript: {
+ method: 'client.transactionMonitoring.cases.retrieve',
+ example:
+ "import Lithic from 'lithic';\n\nconst client = new Lithic({\n apiKey: process.env['LITHIC_API_KEY'], // This is the default and can be omitted\n});\n\nconst monitoringCase = await client.transactionMonitoring.cases.retrieve(\n '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n);\n\nconsole.log(monitoringCase.token);",
+ },
+ python: {
+ method: 'transaction_monitoring.cases.retrieve',
+ example:
+ 'import os\nfrom lithic import Lithic\n\nclient = Lithic(\n api_key=os.environ.get("LITHIC_API_KEY"), # This is the default and can be omitted\n)\nmonitoring_case = client.transaction_monitoring.cases.retrieve(\n "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n)\nprint(monitoring_case.token)',
+ },
+ java: {
+ method: 'transactionMonitoring().cases().retrieve',
+ example:
+ 'package com.lithic.api.example;\n\nimport com.lithic.api.client.LithicClient;\nimport com.lithic.api.client.okhttp.LithicOkHttpClient;\nimport com.lithic.api.models.MonitoringCase;\nimport com.lithic.api.models.TransactionMonitoringCaseRetrieveParams;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n LithicClient client = LithicOkHttpClient.fromEnv();\n\n MonitoringCase monitoringCase = client.transactionMonitoring().cases().retrieve("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");\n }\n}',
+ },
+ kotlin: {
+ method: 'transactionMonitoring().cases().retrieve',
+ example:
+ 'package com.lithic.api.example\n\nimport com.lithic.api.client.LithicClient\nimport com.lithic.api.client.okhttp.LithicOkHttpClient\nimport com.lithic.api.models.MonitoringCase\nimport com.lithic.api.models.TransactionMonitoringCaseRetrieveParams\n\nfun main() {\n val client: LithicClient = LithicOkHttpClient.fromEnv()\n\n val monitoringCase: MonitoringCase = client.transactionMonitoring().cases().retrieve("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n}',
+ },
+ go: {
+ method: 'client.TransactionMonitoring.Cases.Get',
+ example:
+ 'package main\n\nimport (\n\t"context"\n\t"fmt"\n\n\t"github.com/lithic-com/lithic-go"\n\t"github.com/lithic-com/lithic-go/option"\n)\n\nfunc main() {\n\tclient := lithic.NewClient(\n\t\toption.WithAPIKey("My Lithic API Key"),\n\t)\n\tmonitoringCase, err := client.TransactionMonitoring.Cases.Get(context.TODO(), "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf("%+v\\n", monitoringCase.Token)\n}\n',
+ },
+ ruby: {
+ method: 'transaction_monitoring.cases.retrieve',
+ example:
+ 'require "lithic"\n\nlithic = Lithic::Client.new(\n api_key: "My Lithic API Key",\n environment: "sandbox" # defaults to "production"\n)\n\nmonitoring_case = lithic.transaction_monitoring.cases.retrieve("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n\nputs(monitoring_case)',
+ },
+ http: {
+ example:
+ 'curl https://api.lithic.com/v1/transaction_monitoring/cases/$CASE_TOKEN \\\n -H "Authorization: $LITHIC_API_KEY"',
+ },
+ },
+ },
+ {
+ name: 'update',
+ endpoint: '/v1/transaction_monitoring/cases/{case_token}',
+ httpMethod: 'patch',
+ summary: 'Update case',
+ description: 'Updates a transaction monitoring case.',
+ stainlessPath: '(resource) transaction_monitoring.cases > (method) update',
+ qualified: 'client.transactionMonitoring.cases.update',
+ params: [
+ 'case_token: string;',
+ 'actor_token?: string;',
+ 'assignee?: string;',
+ "priority?: 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL';",
+ 'resolution?: string;',
+ 'resolution_notes?: string;',
+ 'sla_deadline?: string;',
+ "status?: 'OPEN' | 'ASSIGNED' | 'IN_REVIEW' | 'ESCALATED' | 'RESOLVED' | 'CLOSED';",
+ 'tags?: object;',
+ 'title?: string;',
+ ],
+ response:
+ "{ token: string; assignee: string; collection_stopped: string; created: string; entity: { entity_token: string; entity_type: 'CARD' | 'ACCOUNT'; }; pending_transactions: boolean; priority: 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL'; queue_token: string; resolution: string; resolution_notes: string; resolved: string; rule_token: string; sla_deadline: string; status: 'OPEN' | 'ASSIGNED' | 'IN_REVIEW' | 'ESCALATED' | 'RESOLVED' | 'CLOSED'; tags: object; title: string; updated: string; }",
+ markdown:
+ "## update\n\n`client.transactionMonitoring.cases.update(case_token: string, actor_token?: string, assignee?: string, priority?: 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL', resolution?: string, resolution_notes?: string, sla_deadline?: string, status?: 'OPEN' | 'ASSIGNED' | 'IN_REVIEW' | 'ESCALATED' | 'RESOLVED' | 'CLOSED', tags?: object, title?: string): { token: string; assignee: string; collection_stopped: string; created: string; entity: case_entity; pending_transactions: boolean; priority: case_priority; queue_token: string; resolution: resolution_outcome; resolution_notes: string; resolved: string; rule_token: string; sla_deadline: string; status: case_status; tags: object; title: string; updated: string; }`\n\n**patch** `/v1/transaction_monitoring/cases/{case_token}`\n\nUpdates a transaction monitoring case.\n\n### Parameters\n\n- `case_token: string`\n\n- `actor_token?: string`\n Optional client-provided identifier for the actor performing this action,\nrecorded on the resulting activity entry. This value is supplied by the\nclient (for example, your own internal user ID) and is not authenticated\nby Lithic\n\n\n- `assignee?: string`\n New assignee for the case, or `null` to unassign\n\n- `priority?: 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL'`\n Priority level of a case, controlling queue ordering and SLA urgency\n\n- `resolution?: string`\n Outcome recorded when a case is resolved:\n - `CONFIRMED_FRAUD` - The reviewed activity was confirmed to be fraudulent\n - `SUSPICIOUS_ACTIVITY` - The activity is suspicious but not confirmed fraud\n - `FALSE_POSITIVE` - The activity was legitimate and the alert was a false positive\n - `NO_ACTION_REQUIRED` - No further action is required\n - `ESCALATED_EXTERNAL` - The case was escalated to an external party\n\n\n- `resolution_notes?: string`\n Notes describing the resolution\n\n- `sla_deadline?: string`\n New SLA deadline for the case, or `null` to clear it\n\n- `status?: 'OPEN' | 'ASSIGNED' | 'IN_REVIEW' | 'ESCALATED' | 'RESOLVED' | 'CLOSED'`\n Status of a case as it progresses through the review workflow:\n - `OPEN` - The case has been created and is still collecting matching transactions\n - `ASSIGNED` - An analyst has been assigned and transaction collection has stopped\n - `IN_REVIEW` - The case is actively being investigated\n - `ESCALATED` - The case has been reviewed and requires additional oversight\n - `RESOLVED` - A determination has been made and a resolution recorded\n - `CLOSED` - The case is finalized\n\n\n- `tags?: object`\n Arbitrary key-value metadata to set on the case\n\n- `title?: string`\n New title for the case, or `null` to clear it\n\n### Returns\n\n- `{ token: string; assignee: string; collection_stopped: string; created: string; entity: { entity_token: string; entity_type: 'CARD' | 'ACCOUNT'; }; pending_transactions: boolean; priority: 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL'; queue_token: string; resolution: string; resolution_notes: string; resolved: string; rule_token: string; sla_deadline: string; status: 'OPEN' | 'ASSIGNED' | 'IN_REVIEW' | 'ESCALATED' | 'RESOLVED' | 'CLOSED'; tags: object; title: string; updated: string; }`\n A transaction monitoring case\n\n - `token: string`\n - `assignee: string`\n - `collection_stopped: string`\n - `created: string`\n - `entity: { entity_token: string; entity_type: 'CARD' | 'ACCOUNT'; }`\n - `pending_transactions: boolean`\n - `priority: 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL'`\n - `queue_token: string`\n - `resolution: string`\n - `resolution_notes: string`\n - `resolved: string`\n - `rule_token: string`\n - `sla_deadline: string`\n - `status: 'OPEN' | 'ASSIGNED' | 'IN_REVIEW' | 'ESCALATED' | 'RESOLVED' | 'CLOSED'`\n - `tags: object`\n - `title: string`\n - `updated: string`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\nconst monitoringCase = await client.transactionMonitoring.cases.update('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');\n\nconsole.log(monitoringCase);\n```",
+ perLanguage: {
+ typescript: {
+ method: 'client.transactionMonitoring.cases.update',
+ example:
+ "import Lithic from 'lithic';\n\nconst client = new Lithic({\n apiKey: process.env['LITHIC_API_KEY'], // This is the default and can be omitted\n});\n\nconst monitoringCase = await client.transactionMonitoring.cases.update(\n '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n);\n\nconsole.log(monitoringCase.token);",
+ },
+ python: {
+ method: 'transaction_monitoring.cases.update',
+ example:
+ 'import os\nfrom lithic import Lithic\n\nclient = Lithic(\n api_key=os.environ.get("LITHIC_API_KEY"), # This is the default and can be omitted\n)\nmonitoring_case = client.transaction_monitoring.cases.update(\n case_token="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n)\nprint(monitoring_case.token)',
+ },
+ java: {
+ method: 'transactionMonitoring().cases().update',
+ example:
+ 'package com.lithic.api.example;\n\nimport com.lithic.api.client.LithicClient;\nimport com.lithic.api.client.okhttp.LithicOkHttpClient;\nimport com.lithic.api.models.MonitoringCase;\nimport com.lithic.api.models.TransactionMonitoringCaseUpdateParams;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n LithicClient client = LithicOkHttpClient.fromEnv();\n\n MonitoringCase monitoringCase = client.transactionMonitoring().cases().update("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");\n }\n}',
+ },
+ kotlin: {
+ method: 'transactionMonitoring().cases().update',
+ example:
+ 'package com.lithic.api.example\n\nimport com.lithic.api.client.LithicClient\nimport com.lithic.api.client.okhttp.LithicOkHttpClient\nimport com.lithic.api.models.MonitoringCase\nimport com.lithic.api.models.TransactionMonitoringCaseUpdateParams\n\nfun main() {\n val client: LithicClient = LithicOkHttpClient.fromEnv()\n\n val monitoringCase: MonitoringCase = client.transactionMonitoring().cases().update("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n}',
+ },
+ go: {
+ method: 'client.TransactionMonitoring.Cases.Update',
+ example:
+ 'package main\n\nimport (\n\t"context"\n\t"fmt"\n\n\t"github.com/lithic-com/lithic-go"\n\t"github.com/lithic-com/lithic-go/option"\n)\n\nfunc main() {\n\tclient := lithic.NewClient(\n\t\toption.WithAPIKey("My Lithic API Key"),\n\t)\n\tmonitoringCase, err := client.TransactionMonitoring.Cases.Update(\n\t\tcontext.TODO(),\n\t\t"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n\t\tlithic.TransactionMonitoringCaseUpdateParams{},\n\t)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf("%+v\\n", monitoringCase.Token)\n}\n',
+ },
+ ruby: {
+ method: 'transaction_monitoring.cases.update',
+ example:
+ 'require "lithic"\n\nlithic = Lithic::Client.new(\n api_key: "My Lithic API Key",\n environment: "sandbox" # defaults to "production"\n)\n\nmonitoring_case = lithic.transaction_monitoring.cases.update("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n\nputs(monitoring_case)',
+ },
+ http: {
+ example:
+ "curl https://api.lithic.com/v1/transaction_monitoring/cases/$CASE_TOKEN \\\n -X PATCH \\\n -H 'Content-Type: application/json' \\\n -H \"Authorization: $LITHIC_API_KEY\" \\\n -d '{}'",
+ },
+ },
+ },
+ {
+ name: 'list_activity',
+ endpoint: '/v1/transaction_monitoring/cases/{case_token}/activity',
+ httpMethod: 'get',
+ summary: 'List case activity',
+ description: 'Lists the activity feed for a case.',
+ stainlessPath: '(resource) transaction_monitoring.cases > (method) list_activity',
+ qualified: 'client.transactionMonitoring.cases.listActivity',
+ params: [
+ 'case_token: string;',
+ 'ending_before?: string;',
+ 'page_size?: number;',
+ 'starting_after?: string;',
+ ],
+ response:
+ '{ token: string; actor_token: string; created: string; entry_type: string; new_value: string; previous_value: string; }',
+ markdown:
+ "## list_activity\n\n`client.transactionMonitoring.cases.listActivity(case_token: string, ending_before?: string, page_size?: number, starting_after?: string): { token: string; actor_token: string; created: string; entry_type: case_activity_type; new_value: string; previous_value: string; }`\n\n**get** `/v1/transaction_monitoring/cases/{case_token}/activity`\n\nLists the activity feed for a case.\n\n### Parameters\n\n- `case_token: string`\n\n- `ending_before?: string`\n A cursor representing an item's token before which a page of results should end. Used to retrieve the previous page of results before this item.\n\n- `page_size?: number`\n Page size (for pagination).\n\n- `starting_after?: string`\n A cursor representing an item's token after which a page of results should begin. Used to retrieve the next page of results after this item.\n\n### Returns\n\n- `{ token: string; actor_token: string; created: string; entry_type: string; new_value: string; previous_value: string; }`\n A single entry in a case's activity feed\n\n - `token: string`\n - `actor_token: string`\n - `created: string`\n - `entry_type: string`\n - `new_value: string`\n - `previous_value: string`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\n// Automatically fetches more pages as needed.\nfor await (const caseActivityEntry of client.transactionMonitoring.cases.listActivity('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e')) {\n console.log(caseActivityEntry);\n}\n```",
+ perLanguage: {
+ typescript: {
+ method: 'client.transactionMonitoring.cases.listActivity',
+ example:
+ "import Lithic from 'lithic';\n\nconst client = new Lithic({\n apiKey: process.env['LITHIC_API_KEY'], // This is the default and can be omitted\n});\n\n// Automatically fetches more pages as needed.\nfor await (const caseActivityEntry of client.transactionMonitoring.cases.listActivity(\n '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n)) {\n console.log(caseActivityEntry.token);\n}",
+ },
+ python: {
+ method: 'transaction_monitoring.cases.list_activity',
+ example:
+ 'import os\nfrom lithic import Lithic\n\nclient = Lithic(\n api_key=os.environ.get("LITHIC_API_KEY"), # This is the default and can be omitted\n)\npage = client.transaction_monitoring.cases.list_activity(\n case_token="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n)\npage = page.data[0]\nprint(page.token)',
+ },
+ java: {
+ method: 'transactionMonitoring().cases().listActivity',
+ example:
+ 'package com.lithic.api.example;\n\nimport com.lithic.api.client.LithicClient;\nimport com.lithic.api.client.okhttp.LithicOkHttpClient;\nimport com.lithic.api.models.TransactionMonitoringCaseListActivityPage;\nimport com.lithic.api.models.TransactionMonitoringCaseListActivityParams;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n LithicClient client = LithicOkHttpClient.fromEnv();\n\n TransactionMonitoringCaseListActivityPage page = client.transactionMonitoring().cases().listActivity("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");\n }\n}',
+ },
+ kotlin: {
+ method: 'transactionMonitoring().cases().listActivity',
+ example:
+ 'package com.lithic.api.example\n\nimport com.lithic.api.client.LithicClient\nimport com.lithic.api.client.okhttp.LithicOkHttpClient\nimport com.lithic.api.models.TransactionMonitoringCaseListActivityPage\nimport com.lithic.api.models.TransactionMonitoringCaseListActivityParams\n\nfun main() {\n val client: LithicClient = LithicOkHttpClient.fromEnv()\n\n val page: TransactionMonitoringCaseListActivityPage = client.transactionMonitoring().cases().listActivity("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n}',
+ },
+ go: {
+ method: 'client.TransactionMonitoring.Cases.ListActivity',
+ example:
+ 'package main\n\nimport (\n\t"context"\n\t"fmt"\n\n\t"github.com/lithic-com/lithic-go"\n\t"github.com/lithic-com/lithic-go/option"\n)\n\nfunc main() {\n\tclient := lithic.NewClient(\n\t\toption.WithAPIKey("My Lithic API Key"),\n\t)\n\tpage, err := client.TransactionMonitoring.Cases.ListActivity(\n\t\tcontext.TODO(),\n\t\t"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n\t\tlithic.TransactionMonitoringCaseListActivityParams{},\n\t)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf("%+v\\n", page)\n}\n',
+ },
+ ruby: {
+ method: 'transaction_monitoring.cases.list_activity',
+ example:
+ 'require "lithic"\n\nlithic = Lithic::Client.new(\n api_key: "My Lithic API Key",\n environment: "sandbox" # defaults to "production"\n)\n\npage = lithic.transaction_monitoring.cases.list_activity("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n\nputs(page)',
+ },
+ http: {
+ example:
+ 'curl https://api.lithic.com/v1/transaction_monitoring/cases/$CASE_TOKEN/activity \\\n -H "Authorization: $LITHIC_API_KEY"',
+ },
+ },
+ },
+ {
+ name: 'list_transactions',
+ endpoint: '/v1/transaction_monitoring/cases/{case_token}/transactions',
+ httpMethod: 'get',
+ summary: 'List case transactions',
+ description: 'Lists the transactions associated with a case.',
+ stainlessPath: '(resource) transaction_monitoring.cases > (method) list_transactions',
+ qualified: 'client.transactionMonitoring.cases.listTransactions',
+ params: [
+ 'case_token: string;',
+ 'ending_before?: string;',
+ 'page_size?: number;',
+ 'starting_after?: string;',
+ ],
+ response:
+ '{ token: string; account_token: string; added_at: string; card_token: string; transaction_created_at: string; }',
+ markdown:
+ "## list_transactions\n\n`client.transactionMonitoring.cases.listTransactions(case_token: string, ending_before?: string, page_size?: number, starting_after?: string): { token: string; account_token: string; added_at: string; card_token: string; transaction_created_at: string; }`\n\n**get** `/v1/transaction_monitoring/cases/{case_token}/transactions`\n\nLists the transactions associated with a case.\n\n### Parameters\n\n- `case_token: string`\n\n- `ending_before?: string`\n A cursor representing an item's token before which a page of results should end. Used to retrieve the previous page of results before this item.\n\n- `page_size?: number`\n Page size (for pagination).\n\n- `starting_after?: string`\n A cursor representing an item's token after which a page of results should begin. Used to retrieve the next page of results after this item.\n\n### Returns\n\n- `{ token: string; account_token: string; added_at: string; card_token: string; transaction_created_at: string; }`\n A single transaction associated with a case\n\n - `token: string`\n - `account_token: string`\n - `added_at: string`\n - `card_token: string`\n - `transaction_created_at: string`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\n// Automatically fetches more pages as needed.\nfor await (const caseTransaction of client.transactionMonitoring.cases.listTransactions('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e')) {\n console.log(caseTransaction);\n}\n```",
+ perLanguage: {
+ typescript: {
+ method: 'client.transactionMonitoring.cases.listTransactions',
+ example:
+ "import Lithic from 'lithic';\n\nconst client = new Lithic({\n apiKey: process.env['LITHIC_API_KEY'], // This is the default and can be omitted\n});\n\n// Automatically fetches more pages as needed.\nfor await (const caseTransaction of client.transactionMonitoring.cases.listTransactions(\n '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n)) {\n console.log(caseTransaction.token);\n}",
+ },
+ python: {
+ method: 'transaction_monitoring.cases.list_transactions',
+ example:
+ 'import os\nfrom lithic import Lithic\n\nclient = Lithic(\n api_key=os.environ.get("LITHIC_API_KEY"), # This is the default and can be omitted\n)\npage = client.transaction_monitoring.cases.list_transactions(\n case_token="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n)\npage = page.data[0]\nprint(page.token)',
+ },
+ java: {
+ method: 'transactionMonitoring().cases().listTransactions',
+ example:
+ 'package com.lithic.api.example;\n\nimport com.lithic.api.client.LithicClient;\nimport com.lithic.api.client.okhttp.LithicOkHttpClient;\nimport com.lithic.api.models.TransactionMonitoringCaseListTransactionsPage;\nimport com.lithic.api.models.TransactionMonitoringCaseListTransactionsParams;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n LithicClient client = LithicOkHttpClient.fromEnv();\n\n TransactionMonitoringCaseListTransactionsPage page = client.transactionMonitoring().cases().listTransactions("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");\n }\n}',
+ },
+ kotlin: {
+ method: 'transactionMonitoring().cases().listTransactions',
+ example:
+ 'package com.lithic.api.example\n\nimport com.lithic.api.client.LithicClient\nimport com.lithic.api.client.okhttp.LithicOkHttpClient\nimport com.lithic.api.models.TransactionMonitoringCaseListTransactionsPage\nimport com.lithic.api.models.TransactionMonitoringCaseListTransactionsParams\n\nfun main() {\n val client: LithicClient = LithicOkHttpClient.fromEnv()\n\n val page: TransactionMonitoringCaseListTransactionsPage = client.transactionMonitoring().cases().listTransactions("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n}',
+ },
+ go: {
+ method: 'client.TransactionMonitoring.Cases.ListTransactions',
+ example:
+ 'package main\n\nimport (\n\t"context"\n\t"fmt"\n\n\t"github.com/lithic-com/lithic-go"\n\t"github.com/lithic-com/lithic-go/option"\n)\n\nfunc main() {\n\tclient := lithic.NewClient(\n\t\toption.WithAPIKey("My Lithic API Key"),\n\t)\n\tpage, err := client.TransactionMonitoring.Cases.ListTransactions(\n\t\tcontext.TODO(),\n\t\t"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n\t\tlithic.TransactionMonitoringCaseListTransactionsParams{},\n\t)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf("%+v\\n", page)\n}\n',
+ },
+ ruby: {
+ method: 'transaction_monitoring.cases.list_transactions',
+ example:
+ 'require "lithic"\n\nlithic = Lithic::Client.new(\n api_key: "My Lithic API Key",\n environment: "sandbox" # defaults to "production"\n)\n\npage = lithic.transaction_monitoring.cases.list_transactions("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n\nputs(page)',
+ },
+ http: {
+ example:
+ 'curl https://api.lithic.com/v1/transaction_monitoring/cases/$CASE_TOKEN/transactions \\\n -H "Authorization: $LITHIC_API_KEY"',
+ },
+ },
+ },
+ {
+ name: 'retrieve_cards',
+ endpoint: '/v1/transaction_monitoring/cases/{case_token}/cards',
+ httpMethod: 'get',
+ summary: 'List case cards',
+ description: 'Lists the cards involved in a case, with per-card transaction counts.',
+ stainlessPath: '(resource) transaction_monitoring.cases > (method) retrieve_cards',
+ qualified: 'client.transactionMonitoring.cases.retrieveCards',
+ params: ['case_token: string;'],
+ response: '{ account_token: string; card_token: string; transaction_count: number; }[]',
+ markdown:
+ "## retrieve_cards\n\n`client.transactionMonitoring.cases.retrieveCards(case_token: string): object[]`\n\n**get** `/v1/transaction_monitoring/cases/{case_token}/cards`\n\nLists the cards involved in a case, with per-card transaction counts.\n\n### Parameters\n\n- `case_token: string`\n\n### Returns\n\n- `{ account_token: string; card_token: string; transaction_count: number; }[]`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\nconst caseCards = await client.transactionMonitoring.cases.retrieveCards('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');\n\nconsole.log(caseCards);\n```",
+ perLanguage: {
+ typescript: {
+ method: 'client.transactionMonitoring.cases.retrieveCards',
+ example:
+ "import Lithic from 'lithic';\n\nconst client = new Lithic({\n apiKey: process.env['LITHIC_API_KEY'], // This is the default and can be omitted\n});\n\nconst caseCards = await client.transactionMonitoring.cases.retrieveCards(\n '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n);\n\nconsole.log(caseCards);",
+ },
+ python: {
+ method: 'transaction_monitoring.cases.retrieve_cards',
+ example:
+ 'import os\nfrom lithic import Lithic\n\nclient = Lithic(\n api_key=os.environ.get("LITHIC_API_KEY"), # This is the default and can be omitted\n)\ncase_cards = client.transaction_monitoring.cases.retrieve_cards(\n "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n)\nprint(case_cards)',
+ },
+ java: {
+ method: 'transactionMonitoring().cases().retrieveCards',
+ example:
+ 'package com.lithic.api.example;\n\nimport com.lithic.api.client.LithicClient;\nimport com.lithic.api.client.okhttp.LithicOkHttpClient;\nimport com.lithic.api.models.CaseCard;\nimport com.lithic.api.models.TransactionMonitoringCaseRetrieveCardsParams;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n LithicClient client = LithicOkHttpClient.fromEnv();\n\n List caseCards = client.transactionMonitoring().cases().retrieveCards("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");\n }\n}',
+ },
+ kotlin: {
+ method: 'transactionMonitoring().cases().retrieveCards',
+ example:
+ 'package com.lithic.api.example\n\nimport com.lithic.api.client.LithicClient\nimport com.lithic.api.client.okhttp.LithicOkHttpClient\nimport com.lithic.api.models.CaseCard\nimport com.lithic.api.models.TransactionMonitoringCaseRetrieveCardsParams\n\nfun main() {\n val client: LithicClient = LithicOkHttpClient.fromEnv()\n\n val caseCards: List = client.transactionMonitoring().cases().retrieveCards("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n}',
+ },
+ go: {
+ method: 'client.TransactionMonitoring.Cases.GetCards',
+ example:
+ 'package main\n\nimport (\n\t"context"\n\t"fmt"\n\n\t"github.com/lithic-com/lithic-go"\n\t"github.com/lithic-com/lithic-go/option"\n)\n\nfunc main() {\n\tclient := lithic.NewClient(\n\t\toption.WithAPIKey("My Lithic API Key"),\n\t)\n\tcaseCards, err := client.TransactionMonitoring.Cases.GetCards(context.TODO(), "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf("%+v\\n", caseCards)\n}\n',
+ },
+ ruby: {
+ method: 'transaction_monitoring.cases.retrieve_cards',
+ example:
+ 'require "lithic"\n\nlithic = Lithic::Client.new(\n api_key: "My Lithic API Key",\n environment: "sandbox" # defaults to "production"\n)\n\ncase_cards = lithic.transaction_monitoring.cases.retrieve_cards("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n\nputs(case_cards)',
+ },
+ http: {
+ example:
+ 'curl https://api.lithic.com/v1/transaction_monitoring/cases/$CASE_TOKEN/cards \\\n -H "Authorization: $LITHIC_API_KEY"',
+ },
+ },
+ },
+ {
+ name: 'create',
+ endpoint: '/v1/transaction_monitoring/cases/{case_token}/comments',
+ httpMethod: 'post',
+ summary: 'Add case comment',
+ description: 'Adds a comment to a case.',
+ stainlessPath: '(resource) transaction_monitoring.cases.comments > (method) create',
+ qualified: 'client.transactionMonitoring.cases.comments.create',
+ params: ['case_token: string;', 'comment: string;', 'actor_token?: string;'],
+ response:
+ '{ token: string; actor_token: string; created: string; entry_type: string; new_value: string; previous_value: string; }',
+ markdown:
+ "## create\n\n`client.transactionMonitoring.cases.comments.create(case_token: string, comment: string, actor_token?: string): { token: string; actor_token: string; created: string; entry_type: case_activity_type; new_value: string; previous_value: string; }`\n\n**post** `/v1/transaction_monitoring/cases/{case_token}/comments`\n\nAdds a comment to a case.\n\n### Parameters\n\n- `case_token: string`\n\n- `comment: string`\n Text of the comment\n\n- `actor_token?: string`\n Optional client-provided identifier for the actor performing this action,\nrecorded on the resulting activity entry. This value is supplied by the\nclient (for example, your own internal user ID) and is not authenticated\nby Lithic\n\n\n### Returns\n\n- `{ token: string; actor_token: string; created: string; entry_type: string; new_value: string; previous_value: string; }`\n A single entry in a case's activity feed\n\n - `token: string`\n - `actor_token: string`\n - `created: string`\n - `entry_type: string`\n - `new_value: string`\n - `previous_value: string`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\nconst caseActivityEntry = await client.transactionMonitoring.cases.comments.create('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', { comment: 'comment' });\n\nconsole.log(caseActivityEntry);\n```",
+ perLanguage: {
+ typescript: {
+ method: 'client.transactionMonitoring.cases.comments.create',
+ example:
+ "import Lithic from 'lithic';\n\nconst client = new Lithic({\n apiKey: process.env['LITHIC_API_KEY'], // This is the default and can be omitted\n});\n\nconst caseActivityEntry = await client.transactionMonitoring.cases.comments.create(\n '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n { comment: 'comment' },\n);\n\nconsole.log(caseActivityEntry.token);",
+ },
+ python: {
+ method: 'transaction_monitoring.cases.comments.create',
+ example:
+ 'import os\nfrom lithic import Lithic\n\nclient = Lithic(\n api_key=os.environ.get("LITHIC_API_KEY"), # This is the default and can be omitted\n)\ncase_activity_entry = client.transaction_monitoring.cases.comments.create(\n case_token="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n comment="comment",\n)\nprint(case_activity_entry.token)',
+ },
+ java: {
+ method: 'transactionMonitoring().cases().comments().create',
+ example:
+ 'package com.lithic.api.example;\n\nimport com.lithic.api.client.LithicClient;\nimport com.lithic.api.client.okhttp.LithicOkHttpClient;\nimport com.lithic.api.models.CaseActivityEntry;\nimport com.lithic.api.models.TransactionMonitoringCaseCommentCreateParams;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n LithicClient client = LithicOkHttpClient.fromEnv();\n\n TransactionMonitoringCaseCommentCreateParams params = TransactionMonitoringCaseCommentCreateParams.builder()\n .caseToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n .comment("comment")\n .build();\n CaseActivityEntry caseActivityEntry = client.transactionMonitoring().cases().comments().create(params);\n }\n}',
+ },
+ kotlin: {
+ method: 'transactionMonitoring().cases().comments().create',
+ example:
+ 'package com.lithic.api.example\n\nimport com.lithic.api.client.LithicClient\nimport com.lithic.api.client.okhttp.LithicOkHttpClient\nimport com.lithic.api.models.CaseActivityEntry\nimport com.lithic.api.models.TransactionMonitoringCaseCommentCreateParams\n\nfun main() {\n val client: LithicClient = LithicOkHttpClient.fromEnv()\n\n val params: TransactionMonitoringCaseCommentCreateParams = TransactionMonitoringCaseCommentCreateParams.builder()\n .caseToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n .comment("comment")\n .build()\n val caseActivityEntry: CaseActivityEntry = client.transactionMonitoring().cases().comments().create(params)\n}',
+ },
+ go: {
+ method: 'client.TransactionMonitoring.Cases.Comments.New',
+ example:
+ 'package main\n\nimport (\n\t"context"\n\t"fmt"\n\n\t"github.com/lithic-com/lithic-go"\n\t"github.com/lithic-com/lithic-go/option"\n)\n\nfunc main() {\n\tclient := lithic.NewClient(\n\t\toption.WithAPIKey("My Lithic API Key"),\n\t)\n\tcaseActivityEntry, err := client.TransactionMonitoring.Cases.Comments.New(\n\t\tcontext.TODO(),\n\t\t"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n\t\tlithic.TransactionMonitoringCaseCommentNewParams{\n\t\t\tComment: lithic.F("comment"),\n\t\t},\n\t)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf("%+v\\n", caseActivityEntry.Token)\n}\n',
+ },
+ ruby: {
+ method: 'transaction_monitoring.cases.comments.create',
+ example:
+ 'require "lithic"\n\nlithic = Lithic::Client.new(\n api_key: "My Lithic API Key",\n environment: "sandbox" # defaults to "production"\n)\n\ncase_activity_entry = lithic.transaction_monitoring.cases.comments.create(\n "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n comment: "comment"\n)\n\nputs(case_activity_entry)',
+ },
+ http: {
+ example:
+ 'curl https://api.lithic.com/v1/transaction_monitoring/cases/$CASE_TOKEN/comments \\\n -H \'Content-Type: application/json\' \\\n -H "Authorization: $LITHIC_API_KEY" \\\n -d \'{\n "comment": "comment"\n }\'',
+ },
+ },
+ },
+ {
+ name: 'update',
+ endpoint: '/v1/transaction_monitoring/cases/{case_token}/comments/{comment_token}',
+ httpMethod: 'patch',
+ summary: 'Update case comment',
+ description: 'Edits an existing comment on a case.',
+ stainlessPath: '(resource) transaction_monitoring.cases.comments > (method) update',
+ qualified: 'client.transactionMonitoring.cases.comments.update',
+ params: ['case_token: string;', 'comment_token: string;', 'comment: string;', 'actor_token?: string;'],
+ response:
+ '{ token: string; actor_token: string; created: string; entry_type: string; new_value: string; previous_value: string; }',
+ markdown:
+ "## update\n\n`client.transactionMonitoring.cases.comments.update(case_token: string, comment_token: string, comment: string, actor_token?: string): { token: string; actor_token: string; created: string; entry_type: case_activity_type; new_value: string; previous_value: string; }`\n\n**patch** `/v1/transaction_monitoring/cases/{case_token}/comments/{comment_token}`\n\nEdits an existing comment on a case.\n\n### Parameters\n\n- `case_token: string`\n\n- `comment_token: string`\n\n- `comment: string`\n New text of the comment\n\n- `actor_token?: string`\n Optional client-provided identifier for the actor performing this action,\nrecorded on the resulting activity entry. This value is supplied by the\nclient (for example, your own internal user ID) and is not authenticated\nby Lithic\n\n\n### Returns\n\n- `{ token: string; actor_token: string; created: string; entry_type: string; new_value: string; previous_value: string; }`\n A single entry in a case's activity feed\n\n - `token: string`\n - `actor_token: string`\n - `created: string`\n - `entry_type: string`\n - `new_value: string`\n - `previous_value: string`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\nconst caseActivityEntry = await client.transactionMonitoring.cases.comments.update('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', { case_token: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', comment: 'comment' });\n\nconsole.log(caseActivityEntry);\n```",
+ perLanguage: {
+ typescript: {
+ method: 'client.transactionMonitoring.cases.comments.update',
+ example:
+ "import Lithic from 'lithic';\n\nconst client = new Lithic({\n apiKey: process.env['LITHIC_API_KEY'], // This is the default and can be omitted\n});\n\nconst caseActivityEntry = await client.transactionMonitoring.cases.comments.update(\n '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n { case_token: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', comment: 'comment' },\n);\n\nconsole.log(caseActivityEntry.token);",
+ },
+ python: {
+ method: 'transaction_monitoring.cases.comments.update',
+ example:
+ 'import os\nfrom lithic import Lithic\n\nclient = Lithic(\n api_key=os.environ.get("LITHIC_API_KEY"), # This is the default and can be omitted\n)\ncase_activity_entry = client.transaction_monitoring.cases.comments.update(\n comment_token="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n case_token="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n comment="comment",\n)\nprint(case_activity_entry.token)',
+ },
+ java: {
+ method: 'transactionMonitoring().cases().comments().update',
+ example:
+ 'package com.lithic.api.example;\n\nimport com.lithic.api.client.LithicClient;\nimport com.lithic.api.client.okhttp.LithicOkHttpClient;\nimport com.lithic.api.models.CaseActivityEntry;\nimport com.lithic.api.models.TransactionMonitoringCaseCommentUpdateParams;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n LithicClient client = LithicOkHttpClient.fromEnv();\n\n TransactionMonitoringCaseCommentUpdateParams params = TransactionMonitoringCaseCommentUpdateParams.builder()\n .caseToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n .commentToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n .comment("comment")\n .build();\n CaseActivityEntry caseActivityEntry = client.transactionMonitoring().cases().comments().update(params);\n }\n}',
+ },
+ kotlin: {
+ method: 'transactionMonitoring().cases().comments().update',
+ example:
+ 'package com.lithic.api.example\n\nimport com.lithic.api.client.LithicClient\nimport com.lithic.api.client.okhttp.LithicOkHttpClient\nimport com.lithic.api.models.CaseActivityEntry\nimport com.lithic.api.models.TransactionMonitoringCaseCommentUpdateParams\n\nfun main() {\n val client: LithicClient = LithicOkHttpClient.fromEnv()\n\n val params: TransactionMonitoringCaseCommentUpdateParams = TransactionMonitoringCaseCommentUpdateParams.builder()\n .caseToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n .commentToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n .comment("comment")\n .build()\n val caseActivityEntry: CaseActivityEntry = client.transactionMonitoring().cases().comments().update(params)\n}',
+ },
+ go: {
+ method: 'client.TransactionMonitoring.Cases.Comments.Update',
+ example:
+ 'package main\n\nimport (\n\t"context"\n\t"fmt"\n\n\t"github.com/lithic-com/lithic-go"\n\t"github.com/lithic-com/lithic-go/option"\n)\n\nfunc main() {\n\tclient := lithic.NewClient(\n\t\toption.WithAPIKey("My Lithic API Key"),\n\t)\n\tcaseActivityEntry, err := client.TransactionMonitoring.Cases.Comments.Update(\n\t\tcontext.TODO(),\n\t\t"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n\t\t"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n\t\tlithic.TransactionMonitoringCaseCommentUpdateParams{\n\t\t\tComment: lithic.F("comment"),\n\t\t},\n\t)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf("%+v\\n", caseActivityEntry.Token)\n}\n',
+ },
+ ruby: {
+ method: 'transaction_monitoring.cases.comments.update',
+ example:
+ 'require "lithic"\n\nlithic = Lithic::Client.new(\n api_key: "My Lithic API Key",\n environment: "sandbox" # defaults to "production"\n)\n\ncase_activity_entry = lithic.transaction_monitoring.cases.comments.update(\n "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n case_token: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n comment: "comment"\n)\n\nputs(case_activity_entry)',
+ },
+ http: {
+ example:
+ 'curl https://api.lithic.com/v1/transaction_monitoring/cases/$CASE_TOKEN/comments/$COMMENT_TOKEN \\\n -X PATCH \\\n -H \'Content-Type: application/json\' \\\n -H "Authorization: $LITHIC_API_KEY" \\\n -d \'{\n "comment": "comment"\n }\'',
+ },
+ },
+ },
+ {
+ name: 'delete',
+ endpoint: '/v1/transaction_monitoring/cases/{case_token}/comments/{comment_token}',
+ httpMethod: 'delete',
+ summary: 'Delete case comment',
+ description: 'Deletes a comment from a case.',
+ stainlessPath: '(resource) transaction_monitoring.cases.comments > (method) delete',
+ qualified: 'client.transactionMonitoring.cases.comments.delete',
+ params: ['case_token: string;', 'comment_token: string;'],
+ markdown:
+ "## delete\n\n`client.transactionMonitoring.cases.comments.delete(case_token: string, comment_token: string): void`\n\n**delete** `/v1/transaction_monitoring/cases/{case_token}/comments/{comment_token}`\n\nDeletes a comment from a case.\n\n### Parameters\n\n- `case_token: string`\n\n- `comment_token: string`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\nawait client.transactionMonitoring.cases.comments.delete('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', { case_token: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' })\n```",
+ perLanguage: {
+ typescript: {
+ method: 'client.transactionMonitoring.cases.comments.delete',
+ example:
+ "import Lithic from 'lithic';\n\nconst client = new Lithic({\n apiKey: process.env['LITHIC_API_KEY'], // This is the default and can be omitted\n});\n\nawait client.transactionMonitoring.cases.comments.delete('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', {\n case_token: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n});",
+ },
+ python: {
+ method: 'transaction_monitoring.cases.comments.delete',
+ example:
+ 'import os\nfrom lithic import Lithic\n\nclient = Lithic(\n api_key=os.environ.get("LITHIC_API_KEY"), # This is the default and can be omitted\n)\nclient.transaction_monitoring.cases.comments.delete(\n comment_token="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n case_token="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n)',
+ },
+ java: {
+ method: 'transactionMonitoring().cases().comments().delete',
+ example:
+ 'package com.lithic.api.example;\n\nimport com.lithic.api.client.LithicClient;\nimport com.lithic.api.client.okhttp.LithicOkHttpClient;\nimport com.lithic.api.models.TransactionMonitoringCaseCommentDeleteParams;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n LithicClient client = LithicOkHttpClient.fromEnv();\n\n TransactionMonitoringCaseCommentDeleteParams params = TransactionMonitoringCaseCommentDeleteParams.builder()\n .caseToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n .commentToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n .build();\n client.transactionMonitoring().cases().comments().delete(params);\n }\n}',
+ },
+ kotlin: {
+ method: 'transactionMonitoring().cases().comments().delete',
+ example:
+ 'package com.lithic.api.example\n\nimport com.lithic.api.client.LithicClient\nimport com.lithic.api.client.okhttp.LithicOkHttpClient\nimport com.lithic.api.models.TransactionMonitoringCaseCommentDeleteParams\n\nfun main() {\n val client: LithicClient = LithicOkHttpClient.fromEnv()\n\n val params: TransactionMonitoringCaseCommentDeleteParams = TransactionMonitoringCaseCommentDeleteParams.builder()\n .caseToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n .commentToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n .build()\n client.transactionMonitoring().cases().comments().delete(params)\n}',
+ },
+ go: {
+ method: 'client.TransactionMonitoring.Cases.Comments.Delete',
+ example:
+ 'package main\n\nimport (\n\t"context"\n\n\t"github.com/lithic-com/lithic-go"\n\t"github.com/lithic-com/lithic-go/option"\n)\n\nfunc main() {\n\tclient := lithic.NewClient(\n\t\toption.WithAPIKey("My Lithic API Key"),\n\t)\n\terr := client.TransactionMonitoring.Cases.Comments.Delete(\n\t\tcontext.TODO(),\n\t\t"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n\t\t"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n\t)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n}\n',
+ },
+ ruby: {
+ method: 'transaction_monitoring.cases.comments.delete',
+ example:
+ 'require "lithic"\n\nlithic = Lithic::Client.new(\n api_key: "My Lithic API Key",\n environment: "sandbox" # defaults to "production"\n)\n\nresult = lithic.transaction_monitoring.cases.comments.delete(\n "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n case_token: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"\n)\n\nputs(result)',
+ },
+ http: {
+ example:
+ 'curl https://api.lithic.com/v1/transaction_monitoring/cases/$CASE_TOKEN/comments/$COMMENT_TOKEN \\\n -X DELETE \\\n -H "Authorization: $LITHIC_API_KEY"',
+ },
+ },
+ },
+ {
+ name: 'create',
+ endpoint: '/v1/transaction_monitoring/cases/{case_token}/files',
+ httpMethod: 'post',
+ summary: 'Create case file',
+ description: 'Creates a file record and returns a presigned URL for uploading the file to the case.',
+ stainlessPath: '(resource) transaction_monitoring.cases.files > (method) create',
+ qualified: 'client.transactionMonitoring.cases.files.create',
+ params: ['case_token: string;', 'name: string;'],
+ response:
+ "{ token: string; created: string; download_url: string; download_url_expires: string; failure_reason: string; mime_type: string; name: string; size_bytes: number; status: 'PENDING' | 'READY' | 'REJECTED'; updated: string; upload_constraints: { accepted_mime_types: string[]; max_size_bytes: number; }; upload_url: string; upload_url_expires: string; }",
+ markdown:
+ "## create\n\n`client.transactionMonitoring.cases.files.create(case_token: string, name: string): { token: string; created: string; download_url: string; download_url_expires: string; failure_reason: string; mime_type: string; name: string; size_bytes: number; status: file_status; updated: string; upload_constraints: upload_constraints; upload_url: string; upload_url_expires: string; }`\n\n**post** `/v1/transaction_monitoring/cases/{case_token}/files`\n\nCreates a file record and returns a presigned URL for uploading the file to the case.\n\n### Parameters\n\n- `case_token: string`\n\n- `name: string`\n Name of the file to upload\n\n### Returns\n\n- `{ token: string; created: string; download_url: string; download_url_expires: string; failure_reason: string; mime_type: string; name: string; size_bytes: number; status: 'PENDING' | 'READY' | 'REJECTED'; updated: string; upload_constraints: { accepted_mime_types: string[]; max_size_bytes: number; }; upload_url: string; upload_url_expires: string; }`\n A file attached to a case. Status-dependent fields are always present but may be `null`:\n - `upload_url`, `upload_url_expires`, and `upload_constraints` are populated when `status` is `PENDING` or `REJECTED`\n - `download_url` and `download_url_expires` are populated when `status` is `READY`\n - `failure_reason` is populated when `status` is `REJECTED`\n\n\n - `token: string`\n - `created: string`\n - `download_url: string`\n - `download_url_expires: string`\n - `failure_reason: string`\n - `mime_type: string`\n - `name: string`\n - `size_bytes: number`\n - `status: 'PENDING' | 'READY' | 'REJECTED'`\n - `updated: string`\n - `upload_constraints: { accepted_mime_types: string[]; max_size_bytes: number; }`\n - `upload_url: string`\n - `upload_url_expires: string`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\nconst caseFile = await client.transactionMonitoring.cases.files.create('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', { name: 'name' });\n\nconsole.log(caseFile);\n```",
+ perLanguage: {
+ typescript: {
+ method: 'client.transactionMonitoring.cases.files.create',
+ example:
+ "import Lithic from 'lithic';\n\nconst client = new Lithic({\n apiKey: process.env['LITHIC_API_KEY'], // This is the default and can be omitted\n});\n\nconst caseFile = await client.transactionMonitoring.cases.files.create(\n '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n { name: 'name' },\n);\n\nconsole.log(caseFile.token);",
+ },
+ python: {
+ method: 'transaction_monitoring.cases.files.create',
+ example:
+ 'import os\nfrom lithic import Lithic\n\nclient = Lithic(\n api_key=os.environ.get("LITHIC_API_KEY"), # This is the default and can be omitted\n)\ncase_file = client.transaction_monitoring.cases.files.create(\n case_token="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n name="name",\n)\nprint(case_file.token)',
+ },
+ java: {
+ method: 'transactionMonitoring().cases().files().create',
+ example:
+ 'package com.lithic.api.example;\n\nimport com.lithic.api.client.LithicClient;\nimport com.lithic.api.client.okhttp.LithicOkHttpClient;\nimport com.lithic.api.models.CaseFile;\nimport com.lithic.api.models.TransactionMonitoringCaseFileCreateParams;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n LithicClient client = LithicOkHttpClient.fromEnv();\n\n TransactionMonitoringCaseFileCreateParams params = TransactionMonitoringCaseFileCreateParams.builder()\n .caseToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n .name("name")\n .build();\n CaseFile caseFile = client.transactionMonitoring().cases().files().create(params);\n }\n}',
+ },
+ kotlin: {
+ method: 'transactionMonitoring().cases().files().create',
+ example:
+ 'package com.lithic.api.example\n\nimport com.lithic.api.client.LithicClient\nimport com.lithic.api.client.okhttp.LithicOkHttpClient\nimport com.lithic.api.models.CaseFile\nimport com.lithic.api.models.TransactionMonitoringCaseFileCreateParams\n\nfun main() {\n val client: LithicClient = LithicOkHttpClient.fromEnv()\n\n val params: TransactionMonitoringCaseFileCreateParams = TransactionMonitoringCaseFileCreateParams.builder()\n .caseToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n .name("name")\n .build()\n val caseFile: CaseFile = client.transactionMonitoring().cases().files().create(params)\n}',
+ },
+ go: {
+ method: 'client.TransactionMonitoring.Cases.Files.New',
+ example:
+ 'package main\n\nimport (\n\t"context"\n\t"fmt"\n\n\t"github.com/lithic-com/lithic-go"\n\t"github.com/lithic-com/lithic-go/option"\n)\n\nfunc main() {\n\tclient := lithic.NewClient(\n\t\toption.WithAPIKey("My Lithic API Key"),\n\t)\n\tcaseFile, err := client.TransactionMonitoring.Cases.Files.New(\n\t\tcontext.TODO(),\n\t\t"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n\t\tlithic.TransactionMonitoringCaseFileNewParams{\n\t\t\tName: lithic.F("name"),\n\t\t},\n\t)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf("%+v\\n", caseFile.Token)\n}\n',
+ },
+ ruby: {
+ method: 'transaction_monitoring.cases.files.create',
+ example:
+ 'require "lithic"\n\nlithic = Lithic::Client.new(\n api_key: "My Lithic API Key",\n environment: "sandbox" # defaults to "production"\n)\n\ncase_file = lithic.transaction_monitoring.cases.files.create("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", name: "name")\n\nputs(case_file)',
+ },
+ http: {
+ example:
+ 'curl https://api.lithic.com/v1/transaction_monitoring/cases/$CASE_TOKEN/files \\\n -H \'Content-Type: application/json\' \\\n -H "Authorization: $LITHIC_API_KEY" \\\n -d \'{\n "name": "name"\n }\'',
+ },
+ },
+ },
+ {
+ name: 'list',
+ endpoint: '/v1/transaction_monitoring/cases/{case_token}/files',
+ httpMethod: 'get',
+ summary: 'List case files',
+ description: 'Lists the files attached to a case.',
+ stainlessPath: '(resource) transaction_monitoring.cases.files > (method) list',
+ qualified: 'client.transactionMonitoring.cases.files.list',
+ params: [
+ 'case_token: string;',
+ 'ending_before?: string;',
+ 'page_size?: number;',
+ 'starting_after?: string;',
+ ],
+ response:
+ "{ token: string; created: string; download_url: string; download_url_expires: string; failure_reason: string; mime_type: string; name: string; size_bytes: number; status: 'PENDING' | 'READY' | 'REJECTED'; updated: string; upload_constraints: { accepted_mime_types: string[]; max_size_bytes: number; }; upload_url: string; upload_url_expires: string; }",
+ markdown:
+ "## list\n\n`client.transactionMonitoring.cases.files.list(case_token: string, ending_before?: string, page_size?: number, starting_after?: string): { token: string; created: string; download_url: string; download_url_expires: string; failure_reason: string; mime_type: string; name: string; size_bytes: number; status: file_status; updated: string; upload_constraints: upload_constraints; upload_url: string; upload_url_expires: string; }`\n\n**get** `/v1/transaction_monitoring/cases/{case_token}/files`\n\nLists the files attached to a case.\n\n### Parameters\n\n- `case_token: string`\n\n- `ending_before?: string`\n A cursor representing an item's token before which a page of results should end. Used to retrieve the previous page of results before this item.\n\n- `page_size?: number`\n Page size (for pagination).\n\n- `starting_after?: string`\n A cursor representing an item's token after which a page of results should begin. Used to retrieve the next page of results after this item.\n\n### Returns\n\n- `{ token: string; created: string; download_url: string; download_url_expires: string; failure_reason: string; mime_type: string; name: string; size_bytes: number; status: 'PENDING' | 'READY' | 'REJECTED'; updated: string; upload_constraints: { accepted_mime_types: string[]; max_size_bytes: number; }; upload_url: string; upload_url_expires: string; }`\n A file attached to a case. Status-dependent fields are always present but may be `null`:\n - `upload_url`, `upload_url_expires`, and `upload_constraints` are populated when `status` is `PENDING` or `REJECTED`\n - `download_url` and `download_url_expires` are populated when `status` is `READY`\n - `failure_reason` is populated when `status` is `REJECTED`\n\n\n - `token: string`\n - `created: string`\n - `download_url: string`\n - `download_url_expires: string`\n - `failure_reason: string`\n - `mime_type: string`\n - `name: string`\n - `size_bytes: number`\n - `status: 'PENDING' | 'READY' | 'REJECTED'`\n - `updated: string`\n - `upload_constraints: { accepted_mime_types: string[]; max_size_bytes: number; }`\n - `upload_url: string`\n - `upload_url_expires: string`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\n// Automatically fetches more pages as needed.\nfor await (const caseFile of client.transactionMonitoring.cases.files.list('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e')) {\n console.log(caseFile);\n}\n```",
+ perLanguage: {
+ typescript: {
+ method: 'client.transactionMonitoring.cases.files.list',
+ example:
+ "import Lithic from 'lithic';\n\nconst client = new Lithic({\n apiKey: process.env['LITHIC_API_KEY'], // This is the default and can be omitted\n});\n\n// Automatically fetches more pages as needed.\nfor await (const caseFile of client.transactionMonitoring.cases.files.list(\n '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n)) {\n console.log(caseFile.token);\n}",
+ },
+ python: {
+ method: 'transaction_monitoring.cases.files.list',
+ example:
+ 'import os\nfrom lithic import Lithic\n\nclient = Lithic(\n api_key=os.environ.get("LITHIC_API_KEY"), # This is the default and can be omitted\n)\npage = client.transaction_monitoring.cases.files.list(\n case_token="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n)\npage = page.data[0]\nprint(page.token)',
+ },
+ java: {
+ method: 'transactionMonitoring().cases().files().list',
+ example:
+ 'package com.lithic.api.example;\n\nimport com.lithic.api.client.LithicClient;\nimport com.lithic.api.client.okhttp.LithicOkHttpClient;\nimport com.lithic.api.models.TransactionMonitoringCaseFileListPage;\nimport com.lithic.api.models.TransactionMonitoringCaseFileListParams;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n LithicClient client = LithicOkHttpClient.fromEnv();\n\n TransactionMonitoringCaseFileListPage page = client.transactionMonitoring().cases().files().list("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");\n }\n}',
+ },
+ kotlin: {
+ method: 'transactionMonitoring().cases().files().list',
+ example:
+ 'package com.lithic.api.example\n\nimport com.lithic.api.client.LithicClient\nimport com.lithic.api.client.okhttp.LithicOkHttpClient\nimport com.lithic.api.models.TransactionMonitoringCaseFileListPage\nimport com.lithic.api.models.TransactionMonitoringCaseFileListParams\n\nfun main() {\n val client: LithicClient = LithicOkHttpClient.fromEnv()\n\n val page: TransactionMonitoringCaseFileListPage = client.transactionMonitoring().cases().files().list("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n}',
+ },
+ go: {
+ method: 'client.TransactionMonitoring.Cases.Files.List',
+ example:
+ 'package main\n\nimport (\n\t"context"\n\t"fmt"\n\n\t"github.com/lithic-com/lithic-go"\n\t"github.com/lithic-com/lithic-go/option"\n)\n\nfunc main() {\n\tclient := lithic.NewClient(\n\t\toption.WithAPIKey("My Lithic API Key"),\n\t)\n\tpage, err := client.TransactionMonitoring.Cases.Files.List(\n\t\tcontext.TODO(),\n\t\t"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n\t\tlithic.TransactionMonitoringCaseFileListParams{},\n\t)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf("%+v\\n", page)\n}\n',
+ },
+ ruby: {
+ method: 'transaction_monitoring.cases.files.list',
+ example:
+ 'require "lithic"\n\nlithic = Lithic::Client.new(\n api_key: "My Lithic API Key",\n environment: "sandbox" # defaults to "production"\n)\n\npage = lithic.transaction_monitoring.cases.files.list("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n\nputs(page)',
+ },
+ http: {
+ example:
+ 'curl https://api.lithic.com/v1/transaction_monitoring/cases/$CASE_TOKEN/files \\\n -H "Authorization: $LITHIC_API_KEY"',
+ },
+ },
+ },
+ {
+ name: 'retrieve',
+ endpoint: '/v1/transaction_monitoring/cases/{case_token}/files/{file_token}',
+ httpMethod: 'get',
+ summary: 'Get case file',
+ description:
+ 'Retrieves a single file attached to a case, including a presigned download URL when the file is ready.',
+ stainlessPath: '(resource) transaction_monitoring.cases.files > (method) retrieve',
+ qualified: 'client.transactionMonitoring.cases.files.retrieve',
+ params: ['case_token: string;', 'file_token: string;'],
+ response:
+ "{ token: string; created: string; download_url: string; download_url_expires: string; failure_reason: string; mime_type: string; name: string; size_bytes: number; status: 'PENDING' | 'READY' | 'REJECTED'; updated: string; upload_constraints: { accepted_mime_types: string[]; max_size_bytes: number; }; upload_url: string; upload_url_expires: string; }",
+ markdown:
+ "## retrieve\n\n`client.transactionMonitoring.cases.files.retrieve(case_token: string, file_token: string): { token: string; created: string; download_url: string; download_url_expires: string; failure_reason: string; mime_type: string; name: string; size_bytes: number; status: file_status; updated: string; upload_constraints: upload_constraints; upload_url: string; upload_url_expires: string; }`\n\n**get** `/v1/transaction_monitoring/cases/{case_token}/files/{file_token}`\n\nRetrieves a single file attached to a case, including a presigned download URL when the file is ready.\n\n### Parameters\n\n- `case_token: string`\n\n- `file_token: string`\n\n### Returns\n\n- `{ token: string; created: string; download_url: string; download_url_expires: string; failure_reason: string; mime_type: string; name: string; size_bytes: number; status: 'PENDING' | 'READY' | 'REJECTED'; updated: string; upload_constraints: { accepted_mime_types: string[]; max_size_bytes: number; }; upload_url: string; upload_url_expires: string; }`\n A file attached to a case. Status-dependent fields are always present but may be `null`:\n - `upload_url`, `upload_url_expires`, and `upload_constraints` are populated when `status` is `PENDING` or `REJECTED`\n - `download_url` and `download_url_expires` are populated when `status` is `READY`\n - `failure_reason` is populated when `status` is `REJECTED`\n\n\n - `token: string`\n - `created: string`\n - `download_url: string`\n - `download_url_expires: string`\n - `failure_reason: string`\n - `mime_type: string`\n - `name: string`\n - `size_bytes: number`\n - `status: 'PENDING' | 'READY' | 'REJECTED'`\n - `updated: string`\n - `upload_constraints: { accepted_mime_types: string[]; max_size_bytes: number; }`\n - `upload_url: string`\n - `upload_url_expires: string`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\nconst caseFile = await client.transactionMonitoring.cases.files.retrieve('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', { case_token: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' });\n\nconsole.log(caseFile);\n```",
+ perLanguage: {
+ typescript: {
+ method: 'client.transactionMonitoring.cases.files.retrieve',
+ example:
+ "import Lithic from 'lithic';\n\nconst client = new Lithic({\n apiKey: process.env['LITHIC_API_KEY'], // This is the default and can be omitted\n});\n\nconst caseFile = await client.transactionMonitoring.cases.files.retrieve(\n '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n { case_token: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },\n);\n\nconsole.log(caseFile.token);",
+ },
+ python: {
+ method: 'transaction_monitoring.cases.files.retrieve',
+ example:
+ 'import os\nfrom lithic import Lithic\n\nclient = Lithic(\n api_key=os.environ.get("LITHIC_API_KEY"), # This is the default and can be omitted\n)\ncase_file = client.transaction_monitoring.cases.files.retrieve(\n file_token="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n case_token="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n)\nprint(case_file.token)',
+ },
+ java: {
+ method: 'transactionMonitoring().cases().files().retrieve',
+ example:
+ 'package com.lithic.api.example;\n\nimport com.lithic.api.client.LithicClient;\nimport com.lithic.api.client.okhttp.LithicOkHttpClient;\nimport com.lithic.api.models.CaseFile;\nimport com.lithic.api.models.TransactionMonitoringCaseFileRetrieveParams;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n LithicClient client = LithicOkHttpClient.fromEnv();\n\n TransactionMonitoringCaseFileRetrieveParams params = TransactionMonitoringCaseFileRetrieveParams.builder()\n .caseToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n .fileToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n .build();\n CaseFile caseFile = client.transactionMonitoring().cases().files().retrieve(params);\n }\n}',
+ },
+ kotlin: {
+ method: 'transactionMonitoring().cases().files().retrieve',
+ example:
+ 'package com.lithic.api.example\n\nimport com.lithic.api.client.LithicClient\nimport com.lithic.api.client.okhttp.LithicOkHttpClient\nimport com.lithic.api.models.CaseFile\nimport com.lithic.api.models.TransactionMonitoringCaseFileRetrieveParams\n\nfun main() {\n val client: LithicClient = LithicOkHttpClient.fromEnv()\n\n val params: TransactionMonitoringCaseFileRetrieveParams = TransactionMonitoringCaseFileRetrieveParams.builder()\n .caseToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n .fileToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n .build()\n val caseFile: CaseFile = client.transactionMonitoring().cases().files().retrieve(params)\n}',
+ },
+ go: {
+ method: 'client.TransactionMonitoring.Cases.Files.Get',
+ example:
+ 'package main\n\nimport (\n\t"context"\n\t"fmt"\n\n\t"github.com/lithic-com/lithic-go"\n\t"github.com/lithic-com/lithic-go/option"\n)\n\nfunc main() {\n\tclient := lithic.NewClient(\n\t\toption.WithAPIKey("My Lithic API Key"),\n\t)\n\tcaseFile, err := client.TransactionMonitoring.Cases.Files.Get(\n\t\tcontext.TODO(),\n\t\t"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n\t\t"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n\t)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf("%+v\\n", caseFile.Token)\n}\n',
+ },
+ ruby: {
+ method: 'transaction_monitoring.cases.files.retrieve',
+ example:
+ 'require "lithic"\n\nlithic = Lithic::Client.new(\n api_key: "My Lithic API Key",\n environment: "sandbox" # defaults to "production"\n)\n\ncase_file = lithic.transaction_monitoring.cases.files.retrieve(\n "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n case_token: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"\n)\n\nputs(case_file)',
+ },
+ http: {
+ example:
+ 'curl https://api.lithic.com/v1/transaction_monitoring/cases/$CASE_TOKEN/files/$FILE_TOKEN \\\n -H "Authorization: $LITHIC_API_KEY"',
+ },
+ },
+ },
+ {
+ name: 'delete',
+ endpoint: '/v1/transaction_monitoring/cases/{case_token}/files/{file_token}',
+ httpMethod: 'delete',
+ summary: 'Delete case file',
+ description: 'Deletes a file from a case.',
+ stainlessPath: '(resource) transaction_monitoring.cases.files > (method) delete',
+ qualified: 'client.transactionMonitoring.cases.files.delete',
+ params: ['case_token: string;', 'file_token: string;'],
+ markdown:
+ "## delete\n\n`client.transactionMonitoring.cases.files.delete(case_token: string, file_token: string): void`\n\n**delete** `/v1/transaction_monitoring/cases/{case_token}/files/{file_token}`\n\nDeletes a file from a case.\n\n### Parameters\n\n- `case_token: string`\n\n- `file_token: string`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\nawait client.transactionMonitoring.cases.files.delete('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', { case_token: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' })\n```",
+ perLanguage: {
+ typescript: {
+ method: 'client.transactionMonitoring.cases.files.delete',
+ example:
+ "import Lithic from 'lithic';\n\nconst client = new Lithic({\n apiKey: process.env['LITHIC_API_KEY'], // This is the default and can be omitted\n});\n\nawait client.transactionMonitoring.cases.files.delete('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', {\n case_token: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n});",
+ },
+ python: {
+ method: 'transaction_monitoring.cases.files.delete',
+ example:
+ 'import os\nfrom lithic import Lithic\n\nclient = Lithic(\n api_key=os.environ.get("LITHIC_API_KEY"), # This is the default and can be omitted\n)\nclient.transaction_monitoring.cases.files.delete(\n file_token="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n case_token="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n)',
+ },
+ java: {
+ method: 'transactionMonitoring().cases().files().delete',
+ example:
+ 'package com.lithic.api.example;\n\nimport com.lithic.api.client.LithicClient;\nimport com.lithic.api.client.okhttp.LithicOkHttpClient;\nimport com.lithic.api.models.TransactionMonitoringCaseFileDeleteParams;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n LithicClient client = LithicOkHttpClient.fromEnv();\n\n TransactionMonitoringCaseFileDeleteParams params = TransactionMonitoringCaseFileDeleteParams.builder()\n .caseToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n .fileToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n .build();\n client.transactionMonitoring().cases().files().delete(params);\n }\n}',
+ },
+ kotlin: {
+ method: 'transactionMonitoring().cases().files().delete',
+ example:
+ 'package com.lithic.api.example\n\nimport com.lithic.api.client.LithicClient\nimport com.lithic.api.client.okhttp.LithicOkHttpClient\nimport com.lithic.api.models.TransactionMonitoringCaseFileDeleteParams\n\nfun main() {\n val client: LithicClient = LithicOkHttpClient.fromEnv()\n\n val params: TransactionMonitoringCaseFileDeleteParams = TransactionMonitoringCaseFileDeleteParams.builder()\n .caseToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n .fileToken("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n .build()\n client.transactionMonitoring().cases().files().delete(params)\n}',
+ },
+ go: {
+ method: 'client.TransactionMonitoring.Cases.Files.Delete',
+ example:
+ 'package main\n\nimport (\n\t"context"\n\n\t"github.com/lithic-com/lithic-go"\n\t"github.com/lithic-com/lithic-go/option"\n)\n\nfunc main() {\n\tclient := lithic.NewClient(\n\t\toption.WithAPIKey("My Lithic API Key"),\n\t)\n\terr := client.TransactionMonitoring.Cases.Files.Delete(\n\t\tcontext.TODO(),\n\t\t"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n\t\t"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n\t)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n}\n',
+ },
+ ruby: {
+ method: 'transaction_monitoring.cases.files.delete',
+ example:
+ 'require "lithic"\n\nlithic = Lithic::Client.new(\n api_key: "My Lithic API Key",\n environment: "sandbox" # defaults to "production"\n)\n\nresult = lithic.transaction_monitoring.cases.files.delete(\n "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n case_token: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"\n)\n\nputs(result)',
+ },
+ http: {
+ example:
+ 'curl https://api.lithic.com/v1/transaction_monitoring/cases/$CASE_TOKEN/files/$FILE_TOKEN \\\n -X DELETE \\\n -H "Authorization: $LITHIC_API_KEY"',
+ },
+ },
+ },
+ {
+ name: 'create',
+ endpoint: '/v1/transaction_monitoring/queues',
+ httpMethod: 'post',
+ summary: 'Create queue',
+ description: 'Creates a new queue for grouping transaction monitoring cases.',
+ stainlessPath: '(resource) transaction_monitoring.queues > (method) create',
+ qualified: 'client.transactionMonitoring.queues.create',
+ params: ['name: string;', 'description?: string;'],
+ response:
+ '{ token: string; case_counts: { ASSIGNED?: number; CLOSED?: number; ESCALATED?: number; IN_REVIEW?: number; OPEN?: number; RESOLVED?: number; }; created: string; description: string; name: string; updated: string; }',
+ markdown:
+ "## create\n\n`client.transactionMonitoring.queues.create(name: string, description?: string): { token: string; case_counts: object; created: string; description: string; name: string; updated: string; }`\n\n**post** `/v1/transaction_monitoring/queues`\n\nCreates a new queue for grouping transaction monitoring cases.\n\n### Parameters\n\n- `name: string`\n Human-readable name of the queue\n\n- `description?: string`\n Optional description of the queue\n\n### Returns\n\n- `{ token: string; case_counts: { ASSIGNED?: number; CLOSED?: number; ESCALATED?: number; IN_REVIEW?: number; OPEN?: number; RESOLVED?: number; }; created: string; description: string; name: string; updated: string; }`\n A queue that groups transaction monitoring cases for review\n\n - `token: string`\n - `case_counts: { ASSIGNED?: number; CLOSED?: number; ESCALATED?: number; IN_REVIEW?: number; OPEN?: number; RESOLVED?: number; }`\n - `created: string`\n - `description: string`\n - `name: string`\n - `updated: string`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\nconst queue = await client.transactionMonitoring.queues.create({ name: 'name' });\n\nconsole.log(queue);\n```",
+ perLanguage: {
+ typescript: {
+ method: 'client.transactionMonitoring.queues.create',
+ example:
+ "import Lithic from 'lithic';\n\nconst client = new Lithic({\n apiKey: process.env['LITHIC_API_KEY'], // This is the default and can be omitted\n});\n\nconst queue = await client.transactionMonitoring.queues.create({ name: 'name' });\n\nconsole.log(queue.token);",
+ },
+ python: {
+ method: 'transaction_monitoring.queues.create',
+ example:
+ 'import os\nfrom lithic import Lithic\n\nclient = Lithic(\n api_key=os.environ.get("LITHIC_API_KEY"), # This is the default and can be omitted\n)\nqueue = client.transaction_monitoring.queues.create(\n name="name",\n)\nprint(queue.token)',
+ },
+ java: {
+ method: 'transactionMonitoring().queues().create',
+ example:
+ 'package com.lithic.api.example;\n\nimport com.lithic.api.client.LithicClient;\nimport com.lithic.api.client.okhttp.LithicOkHttpClient;\nimport com.lithic.api.models.Queue;\nimport com.lithic.api.models.TransactionMonitoringQueueCreateParams;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n LithicClient client = LithicOkHttpClient.fromEnv();\n\n TransactionMonitoringQueueCreateParams params = TransactionMonitoringQueueCreateParams.builder()\n .name("name")\n .build();\n Queue queue = client.transactionMonitoring().queues().create(params);\n }\n}',
+ },
+ kotlin: {
+ method: 'transactionMonitoring().queues().create',
+ example:
+ 'package com.lithic.api.example\n\nimport com.lithic.api.client.LithicClient\nimport com.lithic.api.client.okhttp.LithicOkHttpClient\nimport com.lithic.api.models.Queue\nimport com.lithic.api.models.TransactionMonitoringQueueCreateParams\n\nfun main() {\n val client: LithicClient = LithicOkHttpClient.fromEnv()\n\n val params: TransactionMonitoringQueueCreateParams = TransactionMonitoringQueueCreateParams.builder()\n .name("name")\n .build()\n val queue: Queue = client.transactionMonitoring().queues().create(params)\n}',
+ },
+ go: {
+ method: 'client.TransactionMonitoring.Queues.New',
+ example:
+ 'package main\n\nimport (\n\t"context"\n\t"fmt"\n\n\t"github.com/lithic-com/lithic-go"\n\t"github.com/lithic-com/lithic-go/option"\n)\n\nfunc main() {\n\tclient := lithic.NewClient(\n\t\toption.WithAPIKey("My Lithic API Key"),\n\t)\n\tqueue, err := client.TransactionMonitoring.Queues.New(context.TODO(), lithic.TransactionMonitoringQueueNewParams{\n\t\tName: lithic.F("name"),\n\t})\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf("%+v\\n", queue.Token)\n}\n',
+ },
+ ruby: {
+ method: 'transaction_monitoring.queues.create',
+ example:
+ 'require "lithic"\n\nlithic = Lithic::Client.new(\n api_key: "My Lithic API Key",\n environment: "sandbox" # defaults to "production"\n)\n\nqueue = lithic.transaction_monitoring.queues.create(name: "name")\n\nputs(queue)',
+ },
+ http: {
+ example:
+ 'curl https://api.lithic.com/v1/transaction_monitoring/queues \\\n -H \'Content-Type: application/json\' \\\n -H "Authorization: $LITHIC_API_KEY" \\\n -d \'{\n "name": "name"\n }\'',
+ },
+ },
+ },
+ {
+ name: 'list',
+ endpoint: '/v1/transaction_monitoring/queues',
+ httpMethod: 'get',
+ summary: 'List queues',
+ description: 'Lists transaction monitoring queues.',
+ stainlessPath: '(resource) transaction_monitoring.queues > (method) list',
+ qualified: 'client.transactionMonitoring.queues.list',
+ params: ['ending_before?: string;', 'page_size?: number;', 'starting_after?: string;'],
+ response:
+ '{ token: string; case_counts: { ASSIGNED?: number; CLOSED?: number; ESCALATED?: number; IN_REVIEW?: number; OPEN?: number; RESOLVED?: number; }; created: string; description: string; name: string; updated: string; }',
+ markdown:
+ "## list\n\n`client.transactionMonitoring.queues.list(ending_before?: string, page_size?: number, starting_after?: string): { token: string; case_counts: object; created: string; description: string; name: string; updated: string; }`\n\n**get** `/v1/transaction_monitoring/queues`\n\nLists transaction monitoring queues.\n\n### Parameters\n\n- `ending_before?: string`\n A cursor representing an item's token before which a page of results should end. Used to retrieve the previous page of results before this item.\n\n- `page_size?: number`\n Page size (for pagination).\n\n- `starting_after?: string`\n A cursor representing an item's token after which a page of results should begin. Used to retrieve the next page of results after this item.\n\n### Returns\n\n- `{ token: string; case_counts: { ASSIGNED?: number; CLOSED?: number; ESCALATED?: number; IN_REVIEW?: number; OPEN?: number; RESOLVED?: number; }; created: string; description: string; name: string; updated: string; }`\n A queue that groups transaction monitoring cases for review\n\n - `token: string`\n - `case_counts: { ASSIGNED?: number; CLOSED?: number; ESCALATED?: number; IN_REVIEW?: number; OPEN?: number; RESOLVED?: number; }`\n - `created: string`\n - `description: string`\n - `name: string`\n - `updated: string`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\n// Automatically fetches more pages as needed.\nfor await (const queue of client.transactionMonitoring.queues.list()) {\n console.log(queue);\n}\n```",
+ perLanguage: {
+ typescript: {
+ method: 'client.transactionMonitoring.queues.list',
+ example:
+ "import Lithic from 'lithic';\n\nconst client = new Lithic({\n apiKey: process.env['LITHIC_API_KEY'], // This is the default and can be omitted\n});\n\n// Automatically fetches more pages as needed.\nfor await (const queue of client.transactionMonitoring.queues.list()) {\n console.log(queue.token);\n}",
+ },
+ python: {
+ method: 'transaction_monitoring.queues.list',
+ example:
+ 'import os\nfrom lithic import Lithic\n\nclient = Lithic(\n api_key=os.environ.get("LITHIC_API_KEY"), # This is the default and can be omitted\n)\npage = client.transaction_monitoring.queues.list()\npage = page.data[0]\nprint(page.token)',
+ },
+ java: {
+ method: 'transactionMonitoring().queues().list',
+ example:
+ 'package com.lithic.api.example;\n\nimport com.lithic.api.client.LithicClient;\nimport com.lithic.api.client.okhttp.LithicOkHttpClient;\nimport com.lithic.api.models.TransactionMonitoringQueueListPage;\nimport com.lithic.api.models.TransactionMonitoringQueueListParams;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n LithicClient client = LithicOkHttpClient.fromEnv();\n\n TransactionMonitoringQueueListPage page = client.transactionMonitoring().queues().list();\n }\n}',
+ },
+ kotlin: {
+ method: 'transactionMonitoring().queues().list',
+ example:
+ 'package com.lithic.api.example\n\nimport com.lithic.api.client.LithicClient\nimport com.lithic.api.client.okhttp.LithicOkHttpClient\nimport com.lithic.api.models.TransactionMonitoringQueueListPage\nimport com.lithic.api.models.TransactionMonitoringQueueListParams\n\nfun main() {\n val client: LithicClient = LithicOkHttpClient.fromEnv()\n\n val page: TransactionMonitoringQueueListPage = client.transactionMonitoring().queues().list()\n}',
+ },
+ go: {
+ method: 'client.TransactionMonitoring.Queues.List',
+ example:
+ 'package main\n\nimport (\n\t"context"\n\t"fmt"\n\n\t"github.com/lithic-com/lithic-go"\n\t"github.com/lithic-com/lithic-go/option"\n)\n\nfunc main() {\n\tclient := lithic.NewClient(\n\t\toption.WithAPIKey("My Lithic API Key"),\n\t)\n\tpage, err := client.TransactionMonitoring.Queues.List(context.TODO(), lithic.TransactionMonitoringQueueListParams{})\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf("%+v\\n", page)\n}\n',
+ },
+ ruby: {
+ method: 'transaction_monitoring.queues.list',
+ example:
+ 'require "lithic"\n\nlithic = Lithic::Client.new(\n api_key: "My Lithic API Key",\n environment: "sandbox" # defaults to "production"\n)\n\npage = lithic.transaction_monitoring.queues.list\n\nputs(page)',
+ },
+ http: {
+ example:
+ 'curl https://api.lithic.com/v1/transaction_monitoring/queues \\\n -H "Authorization: $LITHIC_API_KEY"',
+ },
+ },
+ },
+ {
+ name: 'retrieve',
+ endpoint: '/v1/transaction_monitoring/queues/{queue_token}',
+ httpMethod: 'get',
+ summary: 'Get queue',
+ description: 'Retrieves a single transaction monitoring queue.',
+ stainlessPath: '(resource) transaction_monitoring.queues > (method) retrieve',
+ qualified: 'client.transactionMonitoring.queues.retrieve',
+ params: ['queue_token: string;'],
+ response:
+ '{ token: string; case_counts: { ASSIGNED?: number; CLOSED?: number; ESCALATED?: number; IN_REVIEW?: number; OPEN?: number; RESOLVED?: number; }; created: string; description: string; name: string; updated: string; }',
+ markdown:
+ "## retrieve\n\n`client.transactionMonitoring.queues.retrieve(queue_token: string): { token: string; case_counts: object; created: string; description: string; name: string; updated: string; }`\n\n**get** `/v1/transaction_monitoring/queues/{queue_token}`\n\nRetrieves a single transaction monitoring queue.\n\n### Parameters\n\n- `queue_token: string`\n\n### Returns\n\n- `{ token: string; case_counts: { ASSIGNED?: number; CLOSED?: number; ESCALATED?: number; IN_REVIEW?: number; OPEN?: number; RESOLVED?: number; }; created: string; description: string; name: string; updated: string; }`\n A queue that groups transaction monitoring cases for review\n\n - `token: string`\n - `case_counts: { ASSIGNED?: number; CLOSED?: number; ESCALATED?: number; IN_REVIEW?: number; OPEN?: number; RESOLVED?: number; }`\n - `created: string`\n - `description: string`\n - `name: string`\n - `updated: string`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\nconst queue = await client.transactionMonitoring.queues.retrieve('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');\n\nconsole.log(queue);\n```",
+ perLanguage: {
+ typescript: {
+ method: 'client.transactionMonitoring.queues.retrieve',
+ example:
+ "import Lithic from 'lithic';\n\nconst client = new Lithic({\n apiKey: process.env['LITHIC_API_KEY'], // This is the default and can be omitted\n});\n\nconst queue = await client.transactionMonitoring.queues.retrieve(\n '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n);\n\nconsole.log(queue.token);",
+ },
+ python: {
+ method: 'transaction_monitoring.queues.retrieve',
+ example:
+ 'import os\nfrom lithic import Lithic\n\nclient = Lithic(\n api_key=os.environ.get("LITHIC_API_KEY"), # This is the default and can be omitted\n)\nqueue = client.transaction_monitoring.queues.retrieve(\n "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n)\nprint(queue.token)',
+ },
+ java: {
+ method: 'transactionMonitoring().queues().retrieve',
+ example:
+ 'package com.lithic.api.example;\n\nimport com.lithic.api.client.LithicClient;\nimport com.lithic.api.client.okhttp.LithicOkHttpClient;\nimport com.lithic.api.models.Queue;\nimport com.lithic.api.models.TransactionMonitoringQueueRetrieveParams;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n LithicClient client = LithicOkHttpClient.fromEnv();\n\n Queue queue = client.transactionMonitoring().queues().retrieve("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");\n }\n}',
+ },
+ kotlin: {
+ method: 'transactionMonitoring().queues().retrieve',
+ example:
+ 'package com.lithic.api.example\n\nimport com.lithic.api.client.LithicClient\nimport com.lithic.api.client.okhttp.LithicOkHttpClient\nimport com.lithic.api.models.Queue\nimport com.lithic.api.models.TransactionMonitoringQueueRetrieveParams\n\nfun main() {\n val client: LithicClient = LithicOkHttpClient.fromEnv()\n\n val queue: Queue = client.transactionMonitoring().queues().retrieve("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n}',
+ },
+ go: {
+ method: 'client.TransactionMonitoring.Queues.Get',
+ example:
+ 'package main\n\nimport (\n\t"context"\n\t"fmt"\n\n\t"github.com/lithic-com/lithic-go"\n\t"github.com/lithic-com/lithic-go/option"\n)\n\nfunc main() {\n\tclient := lithic.NewClient(\n\t\toption.WithAPIKey("My Lithic API Key"),\n\t)\n\tqueue, err := client.TransactionMonitoring.Queues.Get(context.TODO(), "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf("%+v\\n", queue.Token)\n}\n',
+ },
+ ruby: {
+ method: 'transaction_monitoring.queues.retrieve',
+ example:
+ 'require "lithic"\n\nlithic = Lithic::Client.new(\n api_key: "My Lithic API Key",\n environment: "sandbox" # defaults to "production"\n)\n\nqueue = lithic.transaction_monitoring.queues.retrieve("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n\nputs(queue)',
+ },
+ http: {
+ example:
+ 'curl https://api.lithic.com/v1/transaction_monitoring/queues/$QUEUE_TOKEN \\\n -H "Authorization: $LITHIC_API_KEY"',
+ },
+ },
+ },
+ {
+ name: 'update',
+ endpoint: '/v1/transaction_monitoring/queues/{queue_token}',
+ httpMethod: 'patch',
+ summary: 'Update queue',
+ description: 'Updates a transaction monitoring queue.',
+ stainlessPath: '(resource) transaction_monitoring.queues > (method) update',
+ qualified: 'client.transactionMonitoring.queues.update',
+ params: ['queue_token: string;', 'description?: string;', 'name?: string;'],
+ response:
+ '{ token: string; case_counts: { ASSIGNED?: number; CLOSED?: number; ESCALATED?: number; IN_REVIEW?: number; OPEN?: number; RESOLVED?: number; }; created: string; description: string; name: string; updated: string; }',
+ markdown:
+ "## update\n\n`client.transactionMonitoring.queues.update(queue_token: string, description?: string, name?: string): { token: string; case_counts: object; created: string; description: string; name: string; updated: string; }`\n\n**patch** `/v1/transaction_monitoring/queues/{queue_token}`\n\nUpdates a transaction monitoring queue.\n\n### Parameters\n\n- `queue_token: string`\n\n- `description?: string`\n New description for the queue, or `null` to clear it\n\n- `name?: string`\n New name for the queue\n\n### Returns\n\n- `{ token: string; case_counts: { ASSIGNED?: number; CLOSED?: number; ESCALATED?: number; IN_REVIEW?: number; OPEN?: number; RESOLVED?: number; }; created: string; description: string; name: string; updated: string; }`\n A queue that groups transaction monitoring cases for review\n\n - `token: string`\n - `case_counts: { ASSIGNED?: number; CLOSED?: number; ESCALATED?: number; IN_REVIEW?: number; OPEN?: number; RESOLVED?: number; }`\n - `created: string`\n - `description: string`\n - `name: string`\n - `updated: string`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\nconst queue = await client.transactionMonitoring.queues.update('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');\n\nconsole.log(queue);\n```",
+ perLanguage: {
+ typescript: {
+ method: 'client.transactionMonitoring.queues.update',
+ example:
+ "import Lithic from 'lithic';\n\nconst client = new Lithic({\n apiKey: process.env['LITHIC_API_KEY'], // This is the default and can be omitted\n});\n\nconst queue = await client.transactionMonitoring.queues.update(\n '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n);\n\nconsole.log(queue.token);",
+ },
+ python: {
+ method: 'transaction_monitoring.queues.update',
+ example:
+ 'import os\nfrom lithic import Lithic\n\nclient = Lithic(\n api_key=os.environ.get("LITHIC_API_KEY"), # This is the default and can be omitted\n)\nqueue = client.transaction_monitoring.queues.update(\n queue_token="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n)\nprint(queue.token)',
+ },
+ java: {
+ method: 'transactionMonitoring().queues().update',
+ example:
+ 'package com.lithic.api.example;\n\nimport com.lithic.api.client.LithicClient;\nimport com.lithic.api.client.okhttp.LithicOkHttpClient;\nimport com.lithic.api.models.Queue;\nimport com.lithic.api.models.TransactionMonitoringQueueUpdateParams;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n LithicClient client = LithicOkHttpClient.fromEnv();\n\n Queue queue = client.transactionMonitoring().queues().update("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");\n }\n}',
+ },
+ kotlin: {
+ method: 'transactionMonitoring().queues().update',
+ example:
+ 'package com.lithic.api.example\n\nimport com.lithic.api.client.LithicClient\nimport com.lithic.api.client.okhttp.LithicOkHttpClient\nimport com.lithic.api.models.Queue\nimport com.lithic.api.models.TransactionMonitoringQueueUpdateParams\n\nfun main() {\n val client: LithicClient = LithicOkHttpClient.fromEnv()\n\n val queue: Queue = client.transactionMonitoring().queues().update("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n}',
+ },
+ go: {
+ method: 'client.TransactionMonitoring.Queues.Update',
+ example:
+ 'package main\n\nimport (\n\t"context"\n\t"fmt"\n\n\t"github.com/lithic-com/lithic-go"\n\t"github.com/lithic-com/lithic-go/option"\n)\n\nfunc main() {\n\tclient := lithic.NewClient(\n\t\toption.WithAPIKey("My Lithic API Key"),\n\t)\n\tqueue, err := client.TransactionMonitoring.Queues.Update(\n\t\tcontext.TODO(),\n\t\t"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n\t\tlithic.TransactionMonitoringQueueUpdateParams{},\n\t)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf("%+v\\n", queue.Token)\n}\n',
+ },
+ ruby: {
+ method: 'transaction_monitoring.queues.update',
+ example:
+ 'require "lithic"\n\nlithic = Lithic::Client.new(\n api_key: "My Lithic API Key",\n environment: "sandbox" # defaults to "production"\n)\n\nqueue = lithic.transaction_monitoring.queues.update("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n\nputs(queue)',
+ },
+ http: {
+ example:
+ "curl https://api.lithic.com/v1/transaction_monitoring/queues/$QUEUE_TOKEN \\\n -X PATCH \\\n -H 'Content-Type: application/json' \\\n -H \"Authorization: $LITHIC_API_KEY\" \\\n -d '{}'",
+ },
+ },
+ },
+ {
+ name: 'delete',
+ endpoint: '/v1/transaction_monitoring/queues/{queue_token}',
+ httpMethod: 'delete',
+ summary: 'Delete queue',
+ description: 'Deletes a transaction monitoring queue.',
+ stainlessPath: '(resource) transaction_monitoring.queues > (method) delete',
+ qualified: 'client.transactionMonitoring.queues.delete',
+ params: ['queue_token: string;'],
+ markdown:
+ "## delete\n\n`client.transactionMonitoring.queues.delete(queue_token: string): void`\n\n**delete** `/v1/transaction_monitoring/queues/{queue_token}`\n\nDeletes a transaction monitoring queue.\n\n### Parameters\n\n- `queue_token: string`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\nawait client.transactionMonitoring.queues.delete('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e')\n```",
+ perLanguage: {
+ typescript: {
+ method: 'client.transactionMonitoring.queues.delete',
+ example:
+ "import Lithic from 'lithic';\n\nconst client = new Lithic({\n apiKey: process.env['LITHIC_API_KEY'], // This is the default and can be omitted\n});\n\nawait client.transactionMonitoring.queues.delete('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');",
+ },
+ python: {
+ method: 'transaction_monitoring.queues.delete',
+ example:
+ 'import os\nfrom lithic import Lithic\n\nclient = Lithic(\n api_key=os.environ.get("LITHIC_API_KEY"), # This is the default and can be omitted\n)\nclient.transaction_monitoring.queues.delete(\n "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n)',
+ },
+ java: {
+ method: 'transactionMonitoring().queues().delete',
+ example:
+ 'package com.lithic.api.example;\n\nimport com.lithic.api.client.LithicClient;\nimport com.lithic.api.client.okhttp.LithicOkHttpClient;\nimport com.lithic.api.models.TransactionMonitoringQueueDeleteParams;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n LithicClient client = LithicOkHttpClient.fromEnv();\n\n client.transactionMonitoring().queues().delete("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");\n }\n}',
+ },
+ kotlin: {
+ method: 'transactionMonitoring().queues().delete',
+ example:
+ 'package com.lithic.api.example\n\nimport com.lithic.api.client.LithicClient\nimport com.lithic.api.client.okhttp.LithicOkHttpClient\nimport com.lithic.api.models.TransactionMonitoringQueueDeleteParams\n\nfun main() {\n val client: LithicClient = LithicOkHttpClient.fromEnv()\n\n client.transactionMonitoring().queues().delete("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n}',
+ },
+ go: {
+ method: 'client.TransactionMonitoring.Queues.Delete',
+ example:
+ 'package main\n\nimport (\n\t"context"\n\n\t"github.com/lithic-com/lithic-go"\n\t"github.com/lithic-com/lithic-go/option"\n)\n\nfunc main() {\n\tclient := lithic.NewClient(\n\t\toption.WithAPIKey("My Lithic API Key"),\n\t)\n\terr := client.TransactionMonitoring.Queues.Delete(context.TODO(), "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n}\n',
+ },
+ ruby: {
+ method: 'transaction_monitoring.queues.delete',
+ example:
+ 'require "lithic"\n\nlithic = Lithic::Client.new(\n api_key: "My Lithic API Key",\n environment: "sandbox" # defaults to "production"\n)\n\nresult = lithic.transaction_monitoring.queues.delete("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")\n\nputs(result)',
+ },
+ http: {
+ example:
+ 'curl https://api.lithic.com/v1/transaction_monitoring/queues/$QUEUE_TOKEN \\\n -X DELETE \\\n -H "Authorization: $LITHIC_API_KEY"',
+ },
+ },
+ },
{
name: 'retrieve_secret',
endpoint: '/v1/auth_stream/secret',
@@ -2869,14 +3804,14 @@ const EMBEDDED_METHODS: MethodEntry[] = [
httpMethod: 'post',
summary: 'Search for card by PAN',
description:
- 'Get card configuration such as spend limit and state. Customers must be PCI compliant to use this endpoint. Please contact [support@lithic.com](mailto:support@lithic.com) for questions.\n*Note: this is a `POST` endpoint because it is more secure to send sensitive data in a request body than in a URL.*',
+ 'Get card configuration such as spend limit and state. Customers must be PCI compliant to use this endpoint. Please contact [support.lithic.com](https://support.lithic.com/) for questions.\n*Note: this is a `POST` endpoint because it is more secure to send sensitive data in a request body than in a URL.*',
stainlessPath: '(resource) cards > (method) search_by_pan',
qualified: 'client.cards.searchByPan',
params: ['pan: string;'],
response:
"{ token: string; account_token: string; card_program_token: string; created: string; funding: { token: string; created: string; last_four: string; state: 'DELETED' | 'ENABLED' | 'PENDING'; type: 'DEPOSITORY_CHECKING' | 'DEPOSITORY_SAVINGS'; account_name?: string; nickname?: string; }; last_four: string; pin_status: 'OK' | 'BLOCKED' | 'NOT_SET'; spend_limit: number; spend_limit_duration: 'ANNUALLY' | 'FOREVER' | 'MONTHLY' | 'TRANSACTION'; state: 'CLOSED' | 'OPEN' | 'PAUSED' | 'PENDING_ACTIVATION' | 'PENDING_FULFILLMENT'; type: 'MERCHANT_LOCKED' | 'PHYSICAL' | 'SINGLE_USE' | 'VIRTUAL' | 'UNLOCKED' | 'DIGITAL_WALLET'; auth_rule_tokens?: string[]; bulk_order_token?: string; cardholder_currency?: string; comment?: string; digital_card_art_token?: string; exp_month?: string; exp_year?: string; hostname?: string; memo?: string; network_program_token?: string; pending_commands?: string[]; product_id?: string; replacement_for?: string; substatus?: string; }",
markdown:
- "## search_by_pan\n\n`client.cards.searchByPan(pan: string): object`\n\n**post** `/v1/cards/search_by_pan`\n\nGet card configuration such as spend limit and state. Customers must be PCI compliant to use this endpoint. Please contact [support@lithic.com](mailto:support@lithic.com) for questions.\n*Note: this is a `POST` endpoint because it is more secure to send sensitive data in a request body than in a URL.*\n\n### Parameters\n\n- `pan: string`\n The PAN for the card being retrieved.\n\n### Returns\n\n- `{ token: string; account_token: string; card_program_token: string; created: string; funding: { token: string; created: string; last_four: string; state: 'DELETED' | 'ENABLED' | 'PENDING'; type: 'DEPOSITORY_CHECKING' | 'DEPOSITORY_SAVINGS'; account_name?: string; nickname?: string; }; last_four: string; pin_status: 'OK' | 'BLOCKED' | 'NOT_SET'; spend_limit: number; spend_limit_duration: 'ANNUALLY' | 'FOREVER' | 'MONTHLY' | 'TRANSACTION'; state: 'CLOSED' | 'OPEN' | 'PAUSED' | 'PENDING_ACTIVATION' | 'PENDING_FULFILLMENT'; type: 'MERCHANT_LOCKED' | 'PHYSICAL' | 'SINGLE_USE' | 'VIRTUAL' | 'UNLOCKED' | 'DIGITAL_WALLET'; auth_rule_tokens?: string[]; bulk_order_token?: string; cardholder_currency?: string; comment?: string; digital_card_art_token?: string; exp_month?: string; exp_year?: string; hostname?: string; memo?: string; network_program_token?: string; pending_commands?: string[]; product_id?: string; replacement_for?: string; substatus?: string; }`\n Card details with potentially PCI sensitive information for Enterprise customers\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\nconst card = await client.cards.searchByPan({ pan: '4111111289144142' });\n\nconsole.log(card);\n```",
+ "## search_by_pan\n\n`client.cards.searchByPan(pan: string): object`\n\n**post** `/v1/cards/search_by_pan`\n\nGet card configuration such as spend limit and state. Customers must be PCI compliant to use this endpoint. Please contact [support.lithic.com](https://support.lithic.com/) for questions.\n*Note: this is a `POST` endpoint because it is more secure to send sensitive data in a request body than in a URL.*\n\n### Parameters\n\n- `pan: string`\n The PAN for the card being retrieved.\n\n### Returns\n\n- `{ token: string; account_token: string; card_program_token: string; created: string; funding: { token: string; created: string; last_four: string; state: 'DELETED' | 'ENABLED' | 'PENDING'; type: 'DEPOSITORY_CHECKING' | 'DEPOSITORY_SAVINGS'; account_name?: string; nickname?: string; }; last_four: string; pin_status: 'OK' | 'BLOCKED' | 'NOT_SET'; spend_limit: number; spend_limit_duration: 'ANNUALLY' | 'FOREVER' | 'MONTHLY' | 'TRANSACTION'; state: 'CLOSED' | 'OPEN' | 'PAUSED' | 'PENDING_ACTIVATION' | 'PENDING_FULFILLMENT'; type: 'MERCHANT_LOCKED' | 'PHYSICAL' | 'SINGLE_USE' | 'VIRTUAL' | 'UNLOCKED' | 'DIGITAL_WALLET'; auth_rule_tokens?: string[]; bulk_order_token?: string; cardholder_currency?: string; comment?: string; digital_card_art_token?: string; exp_month?: string; exp_year?: string; hostname?: string; memo?: string; network_program_token?: string; pending_commands?: string[]; product_id?: string; replacement_for?: string; substatus?: string; }`\n Card details with potentially PCI sensitive information for Enterprise customers\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\nconst card = await client.cards.searchByPan({ pan: '4111111289144142' });\n\nconsole.log(card);\n```",
perLanguage: {
typescript: {
method: 'client.cards.searchByPan',
@@ -5664,9 +6599,9 @@ const EMBEDDED_METHODS: MethodEntry[] = [
'starting_after?: string;',
],
response:
- '{ token: string; account_standing: object; available_credit: number; balances: object; created: string; credit_limit: number; credit_product_token: string; date: string; day_totals: statement_totals; ending_balance: number; excess_credits: number; financial_account_token: string; interest_details: object; minimum_payment_balance: object; payment_allocation: object; period_totals: statement_totals; previous_statement_balance: object; starting_balance: number; updated: string; version: number; ytd_totals: statement_totals; tier?: string; }',
+ '{ token: string; account_standing: object; available_credit: number; balances: object; created: string; credit_limit: number; credit_product_token: string; date: string; day_totals: statement_totals; ending_balance: number; excess_credits: number; financial_account_token: string; interest_details: object; minimum_payment_balance: object; payment_allocation: object; period_totals: statement_totals; previous_statement_balance: object; starting_balance: number; updated: string; version: number; ytd_totals: statement_totals; day_of_period?: number; tier?: string; }',
markdown:
- "## list\n\n`client.financialAccounts.loanTapes.list(financial_account_token: string, begin?: string, end?: string, ending_before?: string, page_size?: number, starting_after?: string): { token: string; account_standing: object; available_credit: number; balances: object; created: string; credit_limit: number; credit_product_token: string; date: string; day_totals: statement_totals; ending_balance: number; excess_credits: number; financial_account_token: string; interest_details: object; minimum_payment_balance: object; payment_allocation: object; period_totals: statement_totals; previous_statement_balance: object; starting_balance: number; updated: string; version: number; ytd_totals: statement_totals; tier?: string; }`\n\n**get** `/v1/financial_accounts/{financial_account_token}/loan_tapes`\n\nList the loan tapes for a given financial account.\n\n### Parameters\n\n- `financial_account_token: string`\n Globally unique identifier for financial account.\n\n- `begin?: string`\n Date string in RFC 3339 format. Only entries created after the specified date will be included.\n\n- `end?: string`\n Date string in RFC 3339 format. Only entries created before the specified date will be included.\n\n- `ending_before?: string`\n A cursor representing an item's token before which a page of results should end. Used to retrieve the previous page of results before this item.\n\n- `page_size?: number`\n Page size (for pagination).\n\n- `starting_after?: string`\n A cursor representing an item's token after which a page of results should begin. Used to retrieve the next page of results after this item.\n\n### Returns\n\n- `{ token: string; account_standing: { consecutive_full_payments_made: number; consecutive_minimum_payments_made: number; consecutive_minimum_payments_missed: number; days_past_due: number; financial_account_state: { status: 'OPEN' | 'CLOSED' | 'SUSPENDED' | 'PENDING'; substatus?: string; }; has_grace: boolean; period_number: number; period_state: 'STANDARD' | 'PROMO' | 'PENALTY'; }; available_credit: number; balances: { due: object; next_statement_due: object; past_due: object; past_statements_due: object; }; created: string; credit_limit: number; credit_product_token: string; date: string; day_totals: { balance_transfers: number; cash_advances: number; credits: number; debits: number; fees: number; interest: number; payments: number; purchases: number; credit_details?: object; debit_details?: object; payment_details?: object; }; ending_balance: number; excess_credits: number; financial_account_token: string; interest_details: { actual_interest_charged: number; daily_balance_amounts: object; effective_apr: object; interest_calculation_method: 'DAILY' | 'AVERAGE_DAILY'; interest_for_period: object; prime_rate: string; minimum_interest_charged?: number; }; minimum_payment_balance: { amount: number; remaining: number; }; payment_allocation: { fee_details: object; fees: number; interest: number; interest_details: object; principal: number; principal_details: object; }; period_totals: { balance_transfers: number; cash_advances: number; credits: number; debits: number; fees: number; interest: number; payments: number; purchases: number; credit_details?: object; debit_details?: object; payment_details?: object; }; previous_statement_balance: { amount: number; remaining: number; }; starting_balance: number; updated: string; version: number; ytd_totals: { balance_transfers: number; cash_advances: number; credits: number; debits: number; fees: number; interest: number; payments: number; purchases: number; credit_details?: object; debit_details?: object; payment_details?: object; }; tier?: string; }`\n\n - `token: string`\n - `account_standing: { consecutive_full_payments_made: number; consecutive_minimum_payments_made: number; consecutive_minimum_payments_missed: number; days_past_due: number; financial_account_state: { status: 'OPEN' | 'CLOSED' | 'SUSPENDED' | 'PENDING'; substatus?: string; }; has_grace: boolean; period_number: number; period_state: 'STANDARD' | 'PROMO' | 'PENALTY'; }`\n - `available_credit: number`\n - `balances: { due: { fees: number; interest: number; principal: number; }; next_statement_due: { fees: number; interest: number; principal: number; }; past_due: { fees: number; interest: number; principal: number; }; past_statements_due: { fees: number; interest: number; principal: number; }; }`\n - `created: string`\n - `credit_limit: number`\n - `credit_product_token: string`\n - `date: string`\n - `day_totals: { balance_transfers: number; cash_advances: number; credits: number; debits: number; fees: number; interest: number; payments: number; purchases: number; credit_details?: object; debit_details?: object; payment_details?: object; }`\n - `ending_balance: number`\n - `excess_credits: number`\n - `financial_account_token: string`\n - `interest_details: { actual_interest_charged: number; daily_balance_amounts: { balance_transfers: string; cash_advances: string; purchases: string; }; effective_apr: { balance_transfers: string; cash_advances: string; purchases: string; }; interest_calculation_method: 'DAILY' | 'AVERAGE_DAILY'; interest_for_period: { balance_transfers: string; cash_advances: string; purchases: string; }; prime_rate: string; minimum_interest_charged?: number; }`\n - `minimum_payment_balance: { amount: number; remaining: number; }`\n - `payment_allocation: { fee_details: { balance_transfers: string; cash_advances: string; purchases: string; }; fees: number; interest: number; interest_details: { balance_transfers: string; cash_advances: string; purchases: string; }; principal: number; principal_details: { balance_transfers: string; cash_advances: string; purchases: string; }; }`\n - `period_totals: { balance_transfers: number; cash_advances: number; credits: number; debits: number; fees: number; interest: number; payments: number; purchases: number; credit_details?: object; debit_details?: object; payment_details?: object; }`\n - `previous_statement_balance: { amount: number; remaining: number; }`\n - `starting_balance: number`\n - `updated: string`\n - `version: number`\n - `ytd_totals: { balance_transfers: number; cash_advances: number; credits: number; debits: number; fees: number; interest: number; payments: number; purchases: number; credit_details?: object; debit_details?: object; payment_details?: object; }`\n - `tier?: string`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\n// Automatically fetches more pages as needed.\nfor await (const loanTape of client.financialAccounts.loanTapes.list('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e')) {\n console.log(loanTape);\n}\n```",
+ "## list\n\n`client.financialAccounts.loanTapes.list(financial_account_token: string, begin?: string, end?: string, ending_before?: string, page_size?: number, starting_after?: string): { token: string; account_standing: object; available_credit: number; balances: object; created: string; credit_limit: number; credit_product_token: string; date: string; day_totals: statement_totals; ending_balance: number; excess_credits: number; financial_account_token: string; interest_details: object; minimum_payment_balance: object; payment_allocation: object; period_totals: statement_totals; previous_statement_balance: object; starting_balance: number; updated: string; version: number; ytd_totals: statement_totals; day_of_period?: number; tier?: string; }`\n\n**get** `/v1/financial_accounts/{financial_account_token}/loan_tapes`\n\nList the loan tapes for a given financial account.\n\n### Parameters\n\n- `financial_account_token: string`\n Globally unique identifier for financial account.\n\n- `begin?: string`\n Date string in RFC 3339 format. Only entries created after the specified date will be included.\n\n- `end?: string`\n Date string in RFC 3339 format. Only entries created before the specified date will be included.\n\n- `ending_before?: string`\n A cursor representing an item's token before which a page of results should end. Used to retrieve the previous page of results before this item.\n\n- `page_size?: number`\n Page size (for pagination).\n\n- `starting_after?: string`\n A cursor representing an item's token after which a page of results should begin. Used to retrieve the next page of results after this item.\n\n### Returns\n\n- `{ token: string; account_standing: { consecutive_full_payments_made: number; consecutive_minimum_payments_made: number; consecutive_minimum_payments_missed: number; days_past_due: number; financial_account_state: { status: 'OPEN' | 'CLOSED' | 'SUSPENDED' | 'PENDING'; substatus?: string; }; has_grace: boolean; period_number: number; period_state: 'STANDARD' | 'PROMO' | 'PENALTY'; }; available_credit: number; balances: { due: object; next_statement_due: object; past_due: object; past_statements_due: object; }; created: string; credit_limit: number; credit_product_token: string; date: string; day_totals: { balance_transfers: number; cash_advances: number; credits: number; debits: number; fees: number; interest: number; payments: number; purchases: number; credit_details?: object; debit_details?: object; payment_details?: object; }; ending_balance: number; excess_credits: number; financial_account_token: string; interest_details: { actual_interest_charged: number; daily_balance_amounts: object; effective_apr: object; interest_calculation_method: 'DAILY' | 'AVERAGE_DAILY'; interest_for_period: object; prime_rate: string; minimum_interest_charged?: number; }; minimum_payment_balance: { amount: number; remaining: number; }; payment_allocation: { fee_details: object; fees: number; interest: number; interest_details: object; principal: number; principal_details: object; }; period_totals: { balance_transfers: number; cash_advances: number; credits: number; debits: number; fees: number; interest: number; payments: number; purchases: number; credit_details?: object; debit_details?: object; payment_details?: object; }; previous_statement_balance: { amount: number; remaining: number; }; starting_balance: number; updated: string; version: number; ytd_totals: { balance_transfers: number; cash_advances: number; credits: number; debits: number; fees: number; interest: number; payments: number; purchases: number; credit_details?: object; debit_details?: object; payment_details?: object; }; day_of_period?: number; tier?: string; }`\n\n - `token: string`\n - `account_standing: { consecutive_full_payments_made: number; consecutive_minimum_payments_made: number; consecutive_minimum_payments_missed: number; days_past_due: number; financial_account_state: { status: 'OPEN' | 'CLOSED' | 'SUSPENDED' | 'PENDING'; substatus?: string; }; has_grace: boolean; period_number: number; period_state: 'STANDARD' | 'PROMO' | 'PENALTY'; }`\n - `available_credit: number`\n - `balances: { due: { fees: number; interest: number; principal: number; }; next_statement_due: { fees: number; interest: number; principal: number; }; past_due: { fees: number; interest: number; principal: number; }; past_statements_due: { fees: number; interest: number; principal: number; }; }`\n - `created: string`\n - `credit_limit: number`\n - `credit_product_token: string`\n - `date: string`\n - `day_totals: { balance_transfers: number; cash_advances: number; credits: number; debits: number; fees: number; interest: number; payments: number; purchases: number; credit_details?: object; debit_details?: object; payment_details?: object; }`\n - `ending_balance: number`\n - `excess_credits: number`\n - `financial_account_token: string`\n - `interest_details: { actual_interest_charged: number; daily_balance_amounts: { balance_transfers: string; cash_advances: string; purchases: string; }; effective_apr: { balance_transfers: string; cash_advances: string; purchases: string; }; interest_calculation_method: 'DAILY' | 'AVERAGE_DAILY'; interest_for_period: { balance_transfers: string; cash_advances: string; purchases: string; }; prime_rate: string; minimum_interest_charged?: number; }`\n - `minimum_payment_balance: { amount: number; remaining: number; }`\n - `payment_allocation: { fee_details: { balance_transfers: string; cash_advances: string; purchases: string; }; fees: number; interest: number; interest_details: { balance_transfers: string; cash_advances: string; purchases: string; }; principal: number; principal_details: { balance_transfers: string; cash_advances: string; purchases: string; }; }`\n - `period_totals: { balance_transfers: number; cash_advances: number; credits: number; debits: number; fees: number; interest: number; payments: number; purchases: number; credit_details?: object; debit_details?: object; payment_details?: object; }`\n - `previous_statement_balance: { amount: number; remaining: number; }`\n - `starting_balance: number`\n - `updated: string`\n - `version: number`\n - `ytd_totals: { balance_transfers: number; cash_advances: number; credits: number; debits: number; fees: number; interest: number; payments: number; purchases: number; credit_details?: object; debit_details?: object; payment_details?: object; }`\n - `day_of_period?: number`\n - `tier?: string`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\n// Automatically fetches more pages as needed.\nfor await (const loanTape of client.financialAccounts.loanTapes.list('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e')) {\n console.log(loanTape);\n}\n```",
perLanguage: {
typescript: {
method: 'client.financialAccounts.loanTapes.list',
@@ -5714,9 +6649,9 @@ const EMBEDDED_METHODS: MethodEntry[] = [
qualified: 'client.financialAccounts.loanTapes.retrieve',
params: ['financial_account_token: string;', 'loan_tape_token: string;'],
response:
- '{ token: string; account_standing: object; available_credit: number; balances: object; created: string; credit_limit: number; credit_product_token: string; date: string; day_totals: statement_totals; ending_balance: number; excess_credits: number; financial_account_token: string; interest_details: object; minimum_payment_balance: object; payment_allocation: object; period_totals: statement_totals; previous_statement_balance: object; starting_balance: number; updated: string; version: number; ytd_totals: statement_totals; tier?: string; }',
+ '{ token: string; account_standing: object; available_credit: number; balances: object; created: string; credit_limit: number; credit_product_token: string; date: string; day_totals: statement_totals; ending_balance: number; excess_credits: number; financial_account_token: string; interest_details: object; minimum_payment_balance: object; payment_allocation: object; period_totals: statement_totals; previous_statement_balance: object; starting_balance: number; updated: string; version: number; ytd_totals: statement_totals; day_of_period?: number; tier?: string; }',
markdown:
- "## retrieve\n\n`client.financialAccounts.loanTapes.retrieve(financial_account_token: string, loan_tape_token: string): { token: string; account_standing: object; available_credit: number; balances: object; created: string; credit_limit: number; credit_product_token: string; date: string; day_totals: statement_totals; ending_balance: number; excess_credits: number; financial_account_token: string; interest_details: object; minimum_payment_balance: object; payment_allocation: object; period_totals: statement_totals; previous_statement_balance: object; starting_balance: number; updated: string; version: number; ytd_totals: statement_totals; tier?: string; }`\n\n**get** `/v1/financial_accounts/{financial_account_token}/loan_tapes/{loan_tape_token}`\n\nGet a specific loan tape for a given financial account.\n\n### Parameters\n\n- `financial_account_token: string`\n Globally unique identifier for financial account.\n\n- `loan_tape_token: string`\n Globally unique identifier for loan tape.\n\n### Returns\n\n- `{ token: string; account_standing: { consecutive_full_payments_made: number; consecutive_minimum_payments_made: number; consecutive_minimum_payments_missed: number; days_past_due: number; financial_account_state: { status: 'OPEN' | 'CLOSED' | 'SUSPENDED' | 'PENDING'; substatus?: string; }; has_grace: boolean; period_number: number; period_state: 'STANDARD' | 'PROMO' | 'PENALTY'; }; available_credit: number; balances: { due: object; next_statement_due: object; past_due: object; past_statements_due: object; }; created: string; credit_limit: number; credit_product_token: string; date: string; day_totals: { balance_transfers: number; cash_advances: number; credits: number; debits: number; fees: number; interest: number; payments: number; purchases: number; credit_details?: object; debit_details?: object; payment_details?: object; }; ending_balance: number; excess_credits: number; financial_account_token: string; interest_details: { actual_interest_charged: number; daily_balance_amounts: object; effective_apr: object; interest_calculation_method: 'DAILY' | 'AVERAGE_DAILY'; interest_for_period: object; prime_rate: string; minimum_interest_charged?: number; }; minimum_payment_balance: { amount: number; remaining: number; }; payment_allocation: { fee_details: object; fees: number; interest: number; interest_details: object; principal: number; principal_details: object; }; period_totals: { balance_transfers: number; cash_advances: number; credits: number; debits: number; fees: number; interest: number; payments: number; purchases: number; credit_details?: object; debit_details?: object; payment_details?: object; }; previous_statement_balance: { amount: number; remaining: number; }; starting_balance: number; updated: string; version: number; ytd_totals: { balance_transfers: number; cash_advances: number; credits: number; debits: number; fees: number; interest: number; payments: number; purchases: number; credit_details?: object; debit_details?: object; payment_details?: object; }; tier?: string; }`\n\n - `token: string`\n - `account_standing: { consecutive_full_payments_made: number; consecutive_minimum_payments_made: number; consecutive_minimum_payments_missed: number; days_past_due: number; financial_account_state: { status: 'OPEN' | 'CLOSED' | 'SUSPENDED' | 'PENDING'; substatus?: string; }; has_grace: boolean; period_number: number; period_state: 'STANDARD' | 'PROMO' | 'PENALTY'; }`\n - `available_credit: number`\n - `balances: { due: { fees: number; interest: number; principal: number; }; next_statement_due: { fees: number; interest: number; principal: number; }; past_due: { fees: number; interest: number; principal: number; }; past_statements_due: { fees: number; interest: number; principal: number; }; }`\n - `created: string`\n - `credit_limit: number`\n - `credit_product_token: string`\n - `date: string`\n - `day_totals: { balance_transfers: number; cash_advances: number; credits: number; debits: number; fees: number; interest: number; payments: number; purchases: number; credit_details?: object; debit_details?: object; payment_details?: object; }`\n - `ending_balance: number`\n - `excess_credits: number`\n - `financial_account_token: string`\n - `interest_details: { actual_interest_charged: number; daily_balance_amounts: { balance_transfers: string; cash_advances: string; purchases: string; }; effective_apr: { balance_transfers: string; cash_advances: string; purchases: string; }; interest_calculation_method: 'DAILY' | 'AVERAGE_DAILY'; interest_for_period: { balance_transfers: string; cash_advances: string; purchases: string; }; prime_rate: string; minimum_interest_charged?: number; }`\n - `minimum_payment_balance: { amount: number; remaining: number; }`\n - `payment_allocation: { fee_details: { balance_transfers: string; cash_advances: string; purchases: string; }; fees: number; interest: number; interest_details: { balance_transfers: string; cash_advances: string; purchases: string; }; principal: number; principal_details: { balance_transfers: string; cash_advances: string; purchases: string; }; }`\n - `period_totals: { balance_transfers: number; cash_advances: number; credits: number; debits: number; fees: number; interest: number; payments: number; purchases: number; credit_details?: object; debit_details?: object; payment_details?: object; }`\n - `previous_statement_balance: { amount: number; remaining: number; }`\n - `starting_balance: number`\n - `updated: string`\n - `version: number`\n - `ytd_totals: { balance_transfers: number; cash_advances: number; credits: number; debits: number; fees: number; interest: number; payments: number; purchases: number; credit_details?: object; debit_details?: object; payment_details?: object; }`\n - `tier?: string`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\nconst loanTape = await client.financialAccounts.loanTapes.retrieve('loan_tape_token', { financial_account_token: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' });\n\nconsole.log(loanTape);\n```",
+ "## retrieve\n\n`client.financialAccounts.loanTapes.retrieve(financial_account_token: string, loan_tape_token: string): { token: string; account_standing: object; available_credit: number; balances: object; created: string; credit_limit: number; credit_product_token: string; date: string; day_totals: statement_totals; ending_balance: number; excess_credits: number; financial_account_token: string; interest_details: object; minimum_payment_balance: object; payment_allocation: object; period_totals: statement_totals; previous_statement_balance: object; starting_balance: number; updated: string; version: number; ytd_totals: statement_totals; day_of_period?: number; tier?: string; }`\n\n**get** `/v1/financial_accounts/{financial_account_token}/loan_tapes/{loan_tape_token}`\n\nGet a specific loan tape for a given financial account.\n\n### Parameters\n\n- `financial_account_token: string`\n Globally unique identifier for financial account.\n\n- `loan_tape_token: string`\n Globally unique identifier for loan tape.\n\n### Returns\n\n- `{ token: string; account_standing: { consecutive_full_payments_made: number; consecutive_minimum_payments_made: number; consecutive_minimum_payments_missed: number; days_past_due: number; financial_account_state: { status: 'OPEN' | 'CLOSED' | 'SUSPENDED' | 'PENDING'; substatus?: string; }; has_grace: boolean; period_number: number; period_state: 'STANDARD' | 'PROMO' | 'PENALTY'; }; available_credit: number; balances: { due: object; next_statement_due: object; past_due: object; past_statements_due: object; }; created: string; credit_limit: number; credit_product_token: string; date: string; day_totals: { balance_transfers: number; cash_advances: number; credits: number; debits: number; fees: number; interest: number; payments: number; purchases: number; credit_details?: object; debit_details?: object; payment_details?: object; }; ending_balance: number; excess_credits: number; financial_account_token: string; interest_details: { actual_interest_charged: number; daily_balance_amounts: object; effective_apr: object; interest_calculation_method: 'DAILY' | 'AVERAGE_DAILY'; interest_for_period: object; prime_rate: string; minimum_interest_charged?: number; }; minimum_payment_balance: { amount: number; remaining: number; }; payment_allocation: { fee_details: object; fees: number; interest: number; interest_details: object; principal: number; principal_details: object; }; period_totals: { balance_transfers: number; cash_advances: number; credits: number; debits: number; fees: number; interest: number; payments: number; purchases: number; credit_details?: object; debit_details?: object; payment_details?: object; }; previous_statement_balance: { amount: number; remaining: number; }; starting_balance: number; updated: string; version: number; ytd_totals: { balance_transfers: number; cash_advances: number; credits: number; debits: number; fees: number; interest: number; payments: number; purchases: number; credit_details?: object; debit_details?: object; payment_details?: object; }; day_of_period?: number; tier?: string; }`\n\n - `token: string`\n - `account_standing: { consecutive_full_payments_made: number; consecutive_minimum_payments_made: number; consecutive_minimum_payments_missed: number; days_past_due: number; financial_account_state: { status: 'OPEN' | 'CLOSED' | 'SUSPENDED' | 'PENDING'; substatus?: string; }; has_grace: boolean; period_number: number; period_state: 'STANDARD' | 'PROMO' | 'PENALTY'; }`\n - `available_credit: number`\n - `balances: { due: { fees: number; interest: number; principal: number; }; next_statement_due: { fees: number; interest: number; principal: number; }; past_due: { fees: number; interest: number; principal: number; }; past_statements_due: { fees: number; interest: number; principal: number; }; }`\n - `created: string`\n - `credit_limit: number`\n - `credit_product_token: string`\n - `date: string`\n - `day_totals: { balance_transfers: number; cash_advances: number; credits: number; debits: number; fees: number; interest: number; payments: number; purchases: number; credit_details?: object; debit_details?: object; payment_details?: object; }`\n - `ending_balance: number`\n - `excess_credits: number`\n - `financial_account_token: string`\n - `interest_details: { actual_interest_charged: number; daily_balance_amounts: { balance_transfers: string; cash_advances: string; purchases: string; }; effective_apr: { balance_transfers: string; cash_advances: string; purchases: string; }; interest_calculation_method: 'DAILY' | 'AVERAGE_DAILY'; interest_for_period: { balance_transfers: string; cash_advances: string; purchases: string; }; prime_rate: string; minimum_interest_charged?: number; }`\n - `minimum_payment_balance: { amount: number; remaining: number; }`\n - `payment_allocation: { fee_details: { balance_transfers: string; cash_advances: string; purchases: string; }; fees: number; interest: number; interest_details: { balance_transfers: string; cash_advances: string; purchases: string; }; principal: number; principal_details: { balance_transfers: string; cash_advances: string; purchases: string; }; }`\n - `period_totals: { balance_transfers: number; cash_advances: number; credits: number; debits: number; fees: number; interest: number; payments: number; purchases: number; credit_details?: object; debit_details?: object; payment_details?: object; }`\n - `previous_statement_balance: { amount: number; remaining: number; }`\n - `starting_balance: number`\n - `updated: string`\n - `version: number`\n - `ytd_totals: { balance_transfers: number; cash_advances: number; credits: number; debits: number; fees: number; interest: number; payments: number; purchases: number; credit_details?: object; debit_details?: object; payment_details?: object; }`\n - `day_of_period?: number`\n - `tier?: string`\n\n### Example\n\n```typescript\nimport Lithic from 'lithic';\n\nconst client = new Lithic();\n\nconst loanTape = await client.financialAccounts.loanTapes.retrieve('loan_tape_token', { financial_account_token: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' });\n\nconsole.log(loanTape);\n```",
perLanguage: {
typescript: {
method: 'client.financialAccounts.loanTapes.retrieve',
diff --git a/packages/mcp-server/src/methods.ts b/packages/mcp-server/src/methods.ts
index 379f5e13..268b4c7b 100644
--- a/packages/mcp-server/src/methods.ts
+++ b/packages/mcp-server/src/methods.ts
@@ -190,6 +190,114 @@ export const sdkMethods: SdkMethod[] = [
httpMethod: 'get',
httpPath: '/v2/auth_rules/{auth_rule_token}/backtests/{auth_rule_backtest_token}',
},
+ {
+ clientCallName: 'client.transactionMonitoring.cases.retrieve',
+ fullyQualifiedName: 'transactionMonitoring.cases.retrieve',
+ httpMethod: 'get',
+ httpPath: '/v1/transaction_monitoring/cases/{case_token}',
+ },
+ {
+ clientCallName: 'client.transactionMonitoring.cases.update',
+ fullyQualifiedName: 'transactionMonitoring.cases.update',
+ httpMethod: 'patch',
+ httpPath: '/v1/transaction_monitoring/cases/{case_token}',
+ },
+ {
+ clientCallName: 'client.transactionMonitoring.cases.list',
+ fullyQualifiedName: 'transactionMonitoring.cases.list',
+ httpMethod: 'get',
+ httpPath: '/v1/transaction_monitoring/cases',
+ },
+ {
+ clientCallName: 'client.transactionMonitoring.cases.listActivity',
+ fullyQualifiedName: 'transactionMonitoring.cases.listActivity',
+ httpMethod: 'get',
+ httpPath: '/v1/transaction_monitoring/cases/{case_token}/activity',
+ },
+ {
+ clientCallName: 'client.transactionMonitoring.cases.listTransactions',
+ fullyQualifiedName: 'transactionMonitoring.cases.listTransactions',
+ httpMethod: 'get',
+ httpPath: '/v1/transaction_monitoring/cases/{case_token}/transactions',
+ },
+ {
+ clientCallName: 'client.transactionMonitoring.cases.retrieveCards',
+ fullyQualifiedName: 'transactionMonitoring.cases.retrieveCards',
+ httpMethod: 'get',
+ httpPath: '/v1/transaction_monitoring/cases/{case_token}/cards',
+ },
+ {
+ clientCallName: 'client.transactionMonitoring.cases.comments.create',
+ fullyQualifiedName: 'transactionMonitoring.cases.comments.create',
+ httpMethod: 'post',
+ httpPath: '/v1/transaction_monitoring/cases/{case_token}/comments',
+ },
+ {
+ clientCallName: 'client.transactionMonitoring.cases.comments.update',
+ fullyQualifiedName: 'transactionMonitoring.cases.comments.update',
+ httpMethod: 'patch',
+ httpPath: '/v1/transaction_monitoring/cases/{case_token}/comments/{comment_token}',
+ },
+ {
+ clientCallName: 'client.transactionMonitoring.cases.comments.delete',
+ fullyQualifiedName: 'transactionMonitoring.cases.comments.delete',
+ httpMethod: 'delete',
+ httpPath: '/v1/transaction_monitoring/cases/{case_token}/comments/{comment_token}',
+ },
+ {
+ clientCallName: 'client.transactionMonitoring.cases.files.create',
+ fullyQualifiedName: 'transactionMonitoring.cases.files.create',
+ httpMethod: 'post',
+ httpPath: '/v1/transaction_monitoring/cases/{case_token}/files',
+ },
+ {
+ clientCallName: 'client.transactionMonitoring.cases.files.retrieve',
+ fullyQualifiedName: 'transactionMonitoring.cases.files.retrieve',
+ httpMethod: 'get',
+ httpPath: '/v1/transaction_monitoring/cases/{case_token}/files/{file_token}',
+ },
+ {
+ clientCallName: 'client.transactionMonitoring.cases.files.list',
+ fullyQualifiedName: 'transactionMonitoring.cases.files.list',
+ httpMethod: 'get',
+ httpPath: '/v1/transaction_monitoring/cases/{case_token}/files',
+ },
+ {
+ clientCallName: 'client.transactionMonitoring.cases.files.delete',
+ fullyQualifiedName: 'transactionMonitoring.cases.files.delete',
+ httpMethod: 'delete',
+ httpPath: '/v1/transaction_monitoring/cases/{case_token}/files/{file_token}',
+ },
+ {
+ clientCallName: 'client.transactionMonitoring.queues.create',
+ fullyQualifiedName: 'transactionMonitoring.queues.create',
+ httpMethod: 'post',
+ httpPath: '/v1/transaction_monitoring/queues',
+ },
+ {
+ clientCallName: 'client.transactionMonitoring.queues.retrieve',
+ fullyQualifiedName: 'transactionMonitoring.queues.retrieve',
+ httpMethod: 'get',
+ httpPath: '/v1/transaction_monitoring/queues/{queue_token}',
+ },
+ {
+ clientCallName: 'client.transactionMonitoring.queues.update',
+ fullyQualifiedName: 'transactionMonitoring.queues.update',
+ httpMethod: 'patch',
+ httpPath: '/v1/transaction_monitoring/queues/{queue_token}',
+ },
+ {
+ clientCallName: 'client.transactionMonitoring.queues.list',
+ fullyQualifiedName: 'transactionMonitoring.queues.list',
+ httpMethod: 'get',
+ httpPath: '/v1/transaction_monitoring/queues',
+ },
+ {
+ clientCallName: 'client.transactionMonitoring.queues.delete',
+ fullyQualifiedName: 'transactionMonitoring.queues.delete',
+ httpMethod: 'delete',
+ httpPath: '/v1/transaction_monitoring/queues/{queue_token}',
+ },
{
clientCallName: 'client.authStreamEnrollment.retrieveSecret',
fullyQualifiedName: 'authStreamEnrollment.retrieveSecret',
diff --git a/packages/mcp-server/src/server.ts b/packages/mcp-server/src/server.ts
index 964f5925..0880a49f 100644
--- a/packages/mcp-server/src/server.ts
+++ b/packages/mcp-server/src/server.ts
@@ -29,7 +29,7 @@ export const newMcpServer = async ({
new McpServer(
{
name: 'lithic_api',
- version: '0.140.0',
+ version: '0.141.0',
},
{
instructions: await getInstructions({ stainlessApiKey, customInstructionsPath }),
diff --git a/scripts/build b/scripts/build
index 8847b24d..a1ba882a 100755
--- a/scripts/build
+++ b/scripts/build
@@ -52,6 +52,6 @@ fi
# build all sub-packages
for dir in packages/*; do
if [ -d "$dir" ]; then
- (cd "$dir" && yarn install && yarn build)
+ (cd "$dir" && yarn install --pure-lockfile && yarn build)
fi
done
diff --git a/src/client.ts b/src/client.ts
index b639282d..229c5382 100644
--- a/src/client.ts
+++ b/src/client.ts
@@ -349,6 +349,7 @@ import {
SettlementSummaryDetails,
} from './resources/reports/reports';
import { ThreeDS, ThreeDSAuthentication } from './resources/three-ds/three-ds';
+import { TransactionMonitoring } from './resources/transaction-monitoring/transaction-monitoring';
import {
CardholderAuthentication,
TokenInfo,
@@ -1151,6 +1152,7 @@ export class Lithic {
accounts: API.Accounts = new API.Accounts(this);
accountHolders: API.AccountHolders = new API.AccountHolders(this);
authRules: API.AuthRules = new API.AuthRules(this);
+ transactionMonitoring: API.TransactionMonitoring = new API.TransactionMonitoring(this);
authStreamEnrollment: API.AuthStreamEnrollment = new API.AuthStreamEnrollment(this);
tokenizationDecisioning: API.TokenizationDecisioning = new API.TokenizationDecisioning(this);
tokenizations: API.Tokenizations = new API.Tokenizations(this);
@@ -1188,6 +1190,7 @@ export class Lithic {
Lithic.Accounts = Accounts;
Lithic.AccountHolders = AccountHolders;
Lithic.AuthRules = AuthRules;
+Lithic.TransactionMonitoring = TransactionMonitoring;
Lithic.AuthStreamEnrollment = AuthStreamEnrollment;
Lithic.TokenizationDecisioning = TokenizationDecisioning;
Lithic.Tokenizations = Tokenizations;
@@ -1266,6 +1269,8 @@ export declare namespace Lithic {
export { AuthRules as AuthRules, type SignalsResponse as SignalsResponse };
+ export { TransactionMonitoring as TransactionMonitoring };
+
export { AuthStreamEnrollment as AuthStreamEnrollment, type AuthStreamSecret as AuthStreamSecret };
export {
diff --git a/src/resources/account-holders/entities.ts b/src/resources/account-holders/entities.ts
index 3ca8796d..d36f9141 100644
--- a/src/resources/account-holders/entities.ts
+++ b/src/resources/account-holders/entities.ts
@@ -2,6 +2,7 @@
import { APIResource } from '../../core/resource';
import * as AccountHoldersAPI from './account-holders';
+import * as CasesAPI from '../transaction-monitoring/cases/cases';
import { APIPromise } from '../../core/api-promise';
import { RequestOptions } from '../../internal/request-options';
import { path } from '../../internal/utils/path';
@@ -126,7 +127,7 @@ export interface AccountHolderEntity {
/**
* The type of entity
*/
- type: 'BENEFICIAL_OWNER_INDIVIDUAL' | 'CONTROL_PERSON';
+ type: CasesAPI.EntityType;
}
export namespace AccountHolderEntity {
@@ -274,7 +275,7 @@ export interface EntityCreateParams {
/**
* The type of entity to create on the account holder
*/
- type: 'BENEFICIAL_OWNER_INDIVIDUAL' | 'CONTROL_PERSON';
+ type: CasesAPI.EntityType;
}
export namespace EntityCreateParams {
diff --git a/src/resources/accounts.ts b/src/resources/accounts.ts
index 3b78513b..053eb699 100644
--- a/src/resources/accounts.ts
+++ b/src/resources/accounts.ts
@@ -133,7 +133,7 @@ export interface Account {
* accounts are unable to be transitioned to `ACTIVE` or `PAUSED` states.
* Accounts can be manually set to `CLOSED`, or this can be done by Lithic due to
* failure to pass KYB/KYC or for risk/compliance reasons. Please contact
- * [support@lithic.com](mailto:support@lithic.com) if you believe this was done
+ * [support.lithic.com](https://support.lithic.com/) if you believe this was done
* by mistake.
*/
state: 'ACTIVE' | 'PAUSED' | 'CLOSED';
diff --git a/src/resources/auth-rules/v2/v2.ts b/src/resources/auth-rules/v2/v2.ts
index a970c06a..1dd221ff 100644
--- a/src/resources/auth-rules/v2/v2.ts
+++ b/src/resources/auth-rules/v2/v2.ts
@@ -1000,18 +1000,18 @@ export namespace ConditionalAuthorizationActionParameters {
export interface ConditionalAuthorizationAdjustmentParameters {
/**
- * The hold adjustment to apply if the conditions are met
+ * The hold adjustment to apply if the conditions are met.
*/
- adjustment: ConditionalAuthorizationAdjustmentParameters.Adjustment;
+ action: ConditionalAuthorizationAdjustmentParameters.Action;
conditions: Array;
}
export namespace ConditionalAuthorizationAdjustmentParameters {
/**
- * The hold adjustment to apply if the conditions are met
+ * The hold adjustment to apply if the conditions are met.
*/
- export interface Adjustment {
+ export interface Action {
/**
* The mode of the hold adjustment, determining how the value is interpreted:
*
diff --git a/src/resources/card-authorizations.ts b/src/resources/card-authorizations.ts
index c38a3eba..56c44608 100644
--- a/src/resources/card-authorizations.ts
+++ b/src/resources/card-authorizations.ts
@@ -115,6 +115,13 @@ export interface CardAuthorization {
*/
merchant_currency: string;
+ /**
+ * Network name validation data, present when the card network requested name
+ * validation for this transaction. Contains the cardholder name provided by the
+ * network and Lithic's computed match result against KYC data on file.
+ */
+ name_validation: CardAuthorization.NameValidation | null;
+
/**
* Where the cardholder received the service, when different from the card acceptor
* location. This is populated from network data elements such as Mastercard DE-122
@@ -372,6 +379,57 @@ export namespace CardAuthorization {
street_address: string | null;
}
+ /**
+ * Network name validation data, present when the card network requested name
+ * validation for this transaction. Contains the cardholder name provided by the
+ * network and Lithic's computed match result against KYC data on file.
+ */
+ export interface NameValidation {
+ /**
+ * Cardholder name as provided by the card network.
+ */
+ name: NameValidation.Name;
+
+ /**
+ * Lithic's computed match result comparing the network-provided name to the name
+ * on file.
+ */
+ name_on_file_match: NameValidation.NameOnFileMatch;
+ }
+
+ export namespace NameValidation {
+ /**
+ * Cardholder name as provided by the card network.
+ */
+ export interface Name {
+ /**
+ * First name
+ */
+ first: string;
+
+ /**
+ * Last name
+ */
+ last: string;
+
+ /**
+ * Middle name
+ */
+ middle: string | null;
+ }
+
+ /**
+ * Lithic's computed match result comparing the network-provided name to the name
+ * on file.
+ */
+ export interface NameOnFileMatch {
+ /**
+ * Overall name match result.
+ */
+ full_name: 'MATCH' | 'PARTIAL_MATCH' | 'NO_MATCH' | 'UNVERIFIED';
+ }
+ }
+
/**
* Where the cardholder received the service, when different from the card acceptor
* location. This is populated from network data elements such as Mastercard DE-122
@@ -439,6 +497,17 @@ export namespace CardAuthorization {
* merchant.
*/
export interface LatestChallenge {
+ /**
+ * The date and time when the Authorization Challenge was completed in UTC. Filled
+ * only if the challenge has been completed.
+ */
+ completed_at: string | null;
+
+ /**
+ * The date and time when the Authorization Challenge was created in UTC
+ */
+ created: string;
+
/**
* The method used to deliver the challenge to the cardholder
*
@@ -463,12 +532,6 @@ export namespace CardAuthorization {
* - `ERROR` - There was an error processing the challenge
*/
status: 'COMPLETED' | 'DECLINED' | 'PENDING' | 'EXPIRED' | 'ERROR';
-
- /**
- * The date and time when the Authorization Challenge was completed in UTC. Present
- * only if the status is `COMPLETED`.
- */
- completed_at?: string;
}
/**
diff --git a/src/resources/cards/cards.ts b/src/resources/cards/cards.ts
index 13e4007b..9fabb8a6 100644
--- a/src/resources/cards/cards.ts
+++ b/src/resources/cards/cards.ts
@@ -393,8 +393,8 @@ export class Cards extends APIResource {
/**
* Get card configuration such as spend limit and state. Customers must be PCI
* compliant to use this endpoint. Please contact
- * [support@lithic.com](mailto:support@lithic.com) for questions. _Note: this is a
- * `POST` endpoint because it is more secure to send sensitive data in a request
+ * [support.lithic.com](https://support.lithic.com/) for questions. _Note: this is
+ * a `POST` endpoint because it is more secure to send sensitive data in a request
* body than in a URL._
*
* @example
@@ -447,7 +447,7 @@ export interface Card extends NonPCICard {
/**
* Primary Account Number (PAN) (i.e. the card number). Customers must be PCI
* compliant to have PAN returned as a field in production. Please contact
- * support@lithic.com for questions.
+ * https://support.lithic.com/ for questions.
*/
pan?: string;
}
diff --git a/src/resources/financial-accounts/loan-tapes.ts b/src/resources/financial-accounts/loan-tapes.ts
index e94fa7bf..e8d81663 100644
--- a/src/resources/financial-accounts/loan-tapes.ts
+++ b/src/resources/financial-accounts/loan-tapes.ts
@@ -155,6 +155,11 @@ export interface LoanTape {
ytd_totals: FinancialAccountsAPI.StatementTotals;
+ /**
+ * Day of the billing period that this loan tape covers, starting at 1
+ */
+ day_of_period?: number | null;
+
/**
* Interest tier to which this account belongs to
*/
diff --git a/src/resources/index.ts b/src/resources/index.ts
index 9bd437df..b8d2ac1f 100644
--- a/src/resources/index.ts
+++ b/src/resources/index.ts
@@ -266,6 +266,7 @@ export {
type TokenizationUpdateDigitalCardArtParams,
type TokenizationsCursorPage,
} from './tokenizations';
+export { TransactionMonitoring } from './transaction-monitoring/transaction-monitoring';
export {
Transactions,
type CardholderAuthentication,
diff --git a/src/resources/transaction-monitoring.ts b/src/resources/transaction-monitoring.ts
new file mode 100644
index 00000000..9f669e0d
--- /dev/null
+++ b/src/resources/transaction-monitoring.ts
@@ -0,0 +1,3 @@
+// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+export * from './transaction-monitoring/index';
diff --git a/src/resources/transaction-monitoring/cases.ts b/src/resources/transaction-monitoring/cases.ts
new file mode 100644
index 00000000..51ef6d32
--- /dev/null
+++ b/src/resources/transaction-monitoring/cases.ts
@@ -0,0 +1,3 @@
+// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+export * from './cases/index';
diff --git a/src/resources/transaction-monitoring/cases/cases.ts b/src/resources/transaction-monitoring/cases/cases.ts
new file mode 100644
index 00000000..e8da87af
--- /dev/null
+++ b/src/resources/transaction-monitoring/cases/cases.ts
@@ -0,0 +1,576 @@
+// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+import { APIResource } from '../../../core/resource';
+import * as CommentsAPI from './comments';
+import { CommentCreateParams, CommentDeleteParams, CommentUpdateParams, Comments } from './comments';
+import * as FilesAPI from './files';
+import {
+ CaseFile,
+ CaseFilesCursorPage,
+ FileCreateParams,
+ FileDeleteParams,
+ FileListParams,
+ FileRetrieveParams,
+ FileStatus,
+ Files,
+ UploadConstraints,
+} from './files';
+import { APIPromise } from '../../../core/api-promise';
+import { CursorPage, type CursorPageParams, PagePromise } from '../../../core/pagination';
+import { RequestOptions } from '../../../internal/request-options';
+import { path } from '../../../internal/utils/path';
+
+export class Cases extends APIResource {
+ comments: CommentsAPI.Comments = new CommentsAPI.Comments(this._client);
+ files: FilesAPI.Files = new FilesAPI.Files(this._client);
+
+ /**
+ * Retrieves a single transaction monitoring case.
+ */
+ retrieve(caseToken: string, options?: RequestOptions): APIPromise {
+ return this._client.get(path`/v1/transaction_monitoring/cases/${caseToken}`, options);
+ }
+
+ /**
+ * Updates a transaction monitoring case.
+ */
+ update(caseToken: string, body: CaseUpdateParams, options?: RequestOptions): APIPromise {
+ return this._client.patch(path`/v1/transaction_monitoring/cases/${caseToken}`, { body, ...options });
+ }
+
+ /**
+ * Lists transaction monitoring cases, optionally filtered.
+ */
+ list(
+ query: CaseListParams | null | undefined = {},
+ options?: RequestOptions,
+ ): PagePromise {
+ return this._client.getAPIList('/v1/transaction_monitoring/cases', CursorPage, {
+ query,
+ ...options,
+ });
+ }
+
+ /**
+ * Lists the activity feed for a case.
+ */
+ listActivity(
+ caseToken: string,
+ query: CaseListActivityParams | null | undefined = {},
+ options?: RequestOptions,
+ ): PagePromise {
+ return this._client.getAPIList(
+ path`/v1/transaction_monitoring/cases/${caseToken}/activity`,
+ CursorPage,
+ { query, ...options },
+ );
+ }
+
+ /**
+ * Lists the transactions associated with a case.
+ */
+ listTransactions(
+ caseToken: string,
+ query: CaseListTransactionsParams | null | undefined = {},
+ options?: RequestOptions,
+ ): PagePromise {
+ return this._client.getAPIList(
+ path`/v1/transaction_monitoring/cases/${caseToken}/transactions`,
+ CursorPage,
+ { query, ...options },
+ );
+ }
+
+ /**
+ * Lists the cards involved in a case, with per-card transaction counts.
+ */
+ retrieveCards(caseToken: string, options?: RequestOptions): APIPromise {
+ return this._client.get(path`/v1/transaction_monitoring/cases/${caseToken}/cards`, options);
+ }
+}
+
+export type MonitoringCasesCursorPage = CursorPage;
+
+export type CaseActivityEntriesCursorPage = CursorPage;
+
+export type CaseTransactionsCursorPage = CursorPage;
+
+/**
+ * A single entry in a case's activity feed
+ */
+export interface CaseActivityEntry {
+ /**
+ * Globally unique identifier for the activity entry
+ */
+ token: string;
+
+ /**
+ * Identifier of the actor that produced the activity entry
+ */
+ actor_token: string | null;
+
+ /**
+ * Date and time at which the activity entry was created
+ */
+ created: string;
+
+ /**
+ * The case field that changed, or the action that was taken, in an activity entry:
+ *
+ * - `STATUS` - The case status changed
+ * - `TITLE` - The case title changed
+ * - `ASSIGNED_TO` - The case assignee changed
+ * - `RESOLUTION_OUTCOME` - The resolution outcome was set or changed
+ * - `RESOLUTION_NOTES` - The resolution notes were set or changed
+ * - `TAGS` - The case tags changed
+ * - `PRIORITY` - The case priority changed
+ * - `COMMENT` - A comment was added or edited
+ * - `FILE` - A file was attached to the case
+ */
+ entry_type: CaseActivityType;
+
+ /**
+ * New value of the changed field, when applicable
+ */
+ new_value: string | null;
+
+ /**
+ * Previous value of the changed field, when applicable
+ */
+ previous_value: string | null;
+}
+
+/**
+ * The case field that changed, or the action that was taken, in an activity entry:
+ *
+ * - `STATUS` - The case status changed
+ * - `TITLE` - The case title changed
+ * - `ASSIGNED_TO` - The case assignee changed
+ * - `RESOLUTION_OUTCOME` - The resolution outcome was set or changed
+ * - `RESOLUTION_NOTES` - The resolution notes were set or changed
+ * - `TAGS` - The case tags changed
+ * - `PRIORITY` - The case priority changed
+ * - `COMMENT` - A comment was added or edited
+ * - `FILE` - A file was attached to the case
+ */
+export type CaseActivityType =
+ | 'STATUS'
+ | 'TITLE'
+ | 'ASSIGNED_TO'
+ | 'RESOLUTION_OUTCOME'
+ | 'RESOLUTION_NOTES'
+ | 'TAGS'
+ | 'PRIORITY'
+ | 'COMMENT'
+ | 'FILE';
+
+/**
+ * Summary of a card's involvement in a case, aggregated across the case's
+ * transactions
+ */
+export interface CaseCard {
+ /**
+ * Token of the account the card belongs to
+ */
+ account_token: string;
+
+ /**
+ * Token of the card
+ */
+ card_token: string;
+
+ /**
+ * Number of the card's transactions associated with the case
+ */
+ transaction_count: number;
+}
+
+/**
+ * The entity a case is associated with
+ */
+export interface CaseEntity {
+ /**
+ * Globally unique identifier for the associated entity
+ */
+ entity_token: string;
+
+ /**
+ * The type of entity a case is associated with:
+ *
+ * - `CARD` - The case is associated with a card
+ * - `ACCOUNT` - The case is associated with an account
+ */
+ entity_type: 'CARD' | 'ACCOUNT';
+}
+
+/**
+ * Priority level of a case, controlling queue ordering and SLA urgency
+ */
+export type CasePriority = 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL';
+
+/**
+ * Sort order for listing cases. Defaults to `CREATED_DESC` (newest first):
+ *
+ * - `CREATED_ASC` - Oldest first
+ * - `CREATED_DESC` - Newest first
+ * - `PRIORITY_DESC` - Highest priority first
+ * - `PRIORITY_ASC` - Lowest priority first
+ * - `STATUS_DESC` - Furthest workflow stage first
+ * - `STATUS_ASC` - Earliest workflow stage first
+ */
+export type CaseSortOrder =
+ | 'CREATED_ASC'
+ | 'CREATED_DESC'
+ | 'PRIORITY_DESC'
+ | 'PRIORITY_ASC'
+ | 'STATUS_DESC'
+ | 'STATUS_ASC';
+
+/**
+ * Status of a case as it progresses through the review workflow:
+ *
+ * - `OPEN` - The case has been created and is still collecting matching
+ * transactions
+ * - `ASSIGNED` - An analyst has been assigned and transaction collection has
+ * stopped
+ * - `IN_REVIEW` - The case is actively being investigated
+ * - `ESCALATED` - The case has been reviewed and requires additional oversight
+ * - `RESOLVED` - A determination has been made and a resolution recorded
+ * - `CLOSED` - The case is finalized
+ */
+export type CaseStatus = 'OPEN' | 'ASSIGNED' | 'IN_REVIEW' | 'ESCALATED' | 'RESOLVED' | 'CLOSED';
+
+/**
+ * A single transaction associated with a case
+ */
+export interface CaseTransaction {
+ /**
+ * Globally unique identifier for the transaction
+ */
+ token: string;
+
+ /**
+ * Token of the account the transaction belongs to
+ */
+ account_token: string;
+
+ /**
+ * Date and time at which the transaction was added to the case
+ */
+ added_at: string;
+
+ /**
+ * Token of the card the transaction was made on
+ */
+ card_token: string;
+
+ /**
+ * Date and time at which the transaction was created
+ */
+ transaction_created_at: string;
+}
+
+/**
+ * The type of entity associated with an account holder
+ */
+export type EntityType = 'BENEFICIAL_OWNER_INDIVIDUAL' | 'CONTROL_PERSON';
+
+/**
+ * A transaction monitoring case
+ */
+export interface MonitoringCase {
+ /**
+ * Globally unique identifier for the case
+ */
+ token: string;
+
+ /**
+ * Identifier of the user the case is currently assigned to
+ */
+ assignee: string | null;
+
+ /**
+ * Date and time at which transaction collection stopped for the case
+ */
+ collection_stopped: string | null;
+
+ /**
+ * Date and time at which the case was created
+ */
+ created: string;
+
+ /**
+ * The entity a case is associated with
+ */
+ entity: CaseEntity | null;
+
+ /**
+ * Whether the case still has transaction scopes pending resolution
+ */
+ pending_transactions: boolean;
+
+ /**
+ * Priority level of a case, controlling queue ordering and SLA urgency
+ */
+ priority: CasePriority;
+
+ /**
+ * Token of the queue the case belongs to
+ */
+ queue_token: string;
+
+ /**
+ * Outcome recorded when a case is resolved:
+ *
+ * - `CONFIRMED_FRAUD` - The reviewed activity was confirmed to be fraudulent
+ * - `SUSPICIOUS_ACTIVITY` - The activity is suspicious but not confirmed fraud
+ * - `FALSE_POSITIVE` - The activity was legitimate and the alert was a false
+ * positive
+ * - `NO_ACTION_REQUIRED` - No further action is required
+ * - `ESCALATED_EXTERNAL` - The case was escalated to an external party
+ */
+ resolution: ResolutionOutcome | null;
+
+ /**
+ * Free-form notes describing the resolution
+ */
+ resolution_notes: string | null;
+
+ /**
+ * Date and time at which the case was resolved
+ */
+ resolved: string | null;
+
+ /**
+ * Token of the transaction monitoring rule that triggered the case
+ */
+ rule_token: string | null;
+
+ /**
+ * Deadline by which the case is expected to be resolved
+ */
+ sla_deadline: string | null;
+
+ /**
+ * Status of a case as it progresses through the review workflow:
+ *
+ * - `OPEN` - The case has been created and is still collecting matching
+ * transactions
+ * - `ASSIGNED` - An analyst has been assigned and transaction collection has
+ * stopped
+ * - `IN_REVIEW` - The case is actively being investigated
+ * - `ESCALATED` - The case has been reviewed and requires additional oversight
+ * - `RESOLVED` - A determination has been made and a resolution recorded
+ * - `CLOSED` - The case is finalized
+ */
+ status: CaseStatus;
+
+ /**
+ * Arbitrary key-value metadata associated with the case
+ */
+ tags: { [key: string]: string };
+
+ /**
+ * Short, human-readable summary of the case
+ */
+ title: string | null;
+
+ /**
+ * Date and time at which the case was last updated
+ */
+ updated: string;
+}
+
+/**
+ * Outcome recorded when a case is resolved:
+ *
+ * - `CONFIRMED_FRAUD` - The reviewed activity was confirmed to be fraudulent
+ * - `SUSPICIOUS_ACTIVITY` - The activity is suspicious but not confirmed fraud
+ * - `FALSE_POSITIVE` - The activity was legitimate and the alert was a false
+ * positive
+ * - `NO_ACTION_REQUIRED` - No further action is required
+ * - `ESCALATED_EXTERNAL` - The case was escalated to an external party
+ */
+export type ResolutionOutcome =
+ | 'CONFIRMED_FRAUD'
+ | 'SUSPICIOUS_ACTIVITY'
+ | 'FALSE_POSITIVE'
+ | 'NO_ACTION_REQUIRED'
+ | 'ESCALATED_EXTERNAL';
+
+export type CaseRetrieveCardsResponse = Array;
+
+export interface CaseUpdateParams {
+ /**
+ * Optional client-provided identifier for the actor performing this action,
+ * recorded on the resulting activity entry. This value is supplied by the client
+ * (for example, your own internal user ID) and is not authenticated by Lithic
+ */
+ actor_token?: string;
+
+ /**
+ * New assignee for the case, or `null` to unassign
+ */
+ assignee?: string | null;
+
+ /**
+ * Priority level of a case, controlling queue ordering and SLA urgency
+ */
+ priority?: CasePriority;
+
+ /**
+ * Outcome recorded when a case is resolved:
+ *
+ * - `CONFIRMED_FRAUD` - The reviewed activity was confirmed to be fraudulent
+ * - `SUSPICIOUS_ACTIVITY` - The activity is suspicious but not confirmed fraud
+ * - `FALSE_POSITIVE` - The activity was legitimate and the alert was a false
+ * positive
+ * - `NO_ACTION_REQUIRED` - No further action is required
+ * - `ESCALATED_EXTERNAL` - The case was escalated to an external party
+ */
+ resolution?: ResolutionOutcome;
+
+ /**
+ * Notes describing the resolution
+ */
+ resolution_notes?: string;
+
+ /**
+ * New SLA deadline for the case, or `null` to clear it
+ */
+ sla_deadline?: string | null;
+
+ /**
+ * Status of a case as it progresses through the review workflow:
+ *
+ * - `OPEN` - The case has been created and is still collecting matching
+ * transactions
+ * - `ASSIGNED` - An analyst has been assigned and transaction collection has
+ * stopped
+ * - `IN_REVIEW` - The case is actively being investigated
+ * - `ESCALATED` - The case has been reviewed and requires additional oversight
+ * - `RESOLVED` - A determination has been made and a resolution recorded
+ * - `CLOSED` - The case is finalized
+ */
+ status?: CaseStatus;
+
+ /**
+ * Arbitrary key-value metadata to set on the case
+ */
+ tags?: { [key: string]: string };
+
+ /**
+ * New title for the case, or `null` to clear it
+ */
+ title?: string | null;
+}
+
+export interface CaseListParams extends CursorPageParams {
+ /**
+ * Only return cases that include transactions on the provided account.
+ */
+ account_token?: string;
+
+ /**
+ * Only return cases assigned to the provided value. Pass an empty string to return
+ * only unassigned cases.
+ */
+ assignee?: string;
+
+ /**
+ * Date string in RFC 3339 format. Only entries created after the specified time
+ * will be included. UTC time zone.
+ */
+ begin?: string;
+
+ /**
+ * Only return cases that include transactions on the provided card.
+ */
+ card_token?: string;
+
+ /**
+ * Date string in RFC 3339 format. Only entries created before the specified time
+ * will be included. UTC time zone.
+ */
+ end?: string;
+
+ /**
+ * Only return cases associated with the provided entity.
+ */
+ entity_token?: string;
+
+ /**
+ * Only return cases belonging to the provided queue.
+ */
+ queue_token?: string;
+
+ /**
+ * Only return cases triggered by the provided transaction monitoring rule.
+ */
+ rule_token?: string;
+
+ /**
+ * Sort order for the returned cases.
+ */
+ sort_by?: CaseSortOrder;
+
+ /**
+ * Only return cases with the provided status.
+ */
+ status?: CaseStatus;
+
+ /**
+ * Only return cases that include the provided transaction.
+ */
+ transaction_token?: string;
+}
+
+export interface CaseListActivityParams extends CursorPageParams {}
+
+export interface CaseListTransactionsParams extends CursorPageParams {}
+
+Cases.Comments = Comments;
+Cases.Files = Files;
+
+export declare namespace Cases {
+ export {
+ type CaseActivityEntry as CaseActivityEntry,
+ type CaseActivityType as CaseActivityType,
+ type CaseCard as CaseCard,
+ type CaseEntity as CaseEntity,
+ type CasePriority as CasePriority,
+ type CaseSortOrder as CaseSortOrder,
+ type CaseStatus as CaseStatus,
+ type CaseTransaction as CaseTransaction,
+ type EntityType as EntityType,
+ type MonitoringCase as MonitoringCase,
+ type ResolutionOutcome as ResolutionOutcome,
+ type CaseRetrieveCardsResponse as CaseRetrieveCardsResponse,
+ type MonitoringCasesCursorPage as MonitoringCasesCursorPage,
+ type CaseActivityEntriesCursorPage as CaseActivityEntriesCursorPage,
+ type CaseTransactionsCursorPage as CaseTransactionsCursorPage,
+ type CaseUpdateParams as CaseUpdateParams,
+ type CaseListParams as CaseListParams,
+ type CaseListActivityParams as CaseListActivityParams,
+ type CaseListTransactionsParams as CaseListTransactionsParams,
+ };
+
+ export {
+ Comments as Comments,
+ type CommentCreateParams as CommentCreateParams,
+ type CommentUpdateParams as CommentUpdateParams,
+ type CommentDeleteParams as CommentDeleteParams,
+ };
+
+ export {
+ Files as Files,
+ type CaseFile as CaseFile,
+ type FileStatus as FileStatus,
+ type UploadConstraints as UploadConstraints,
+ type CaseFilesCursorPage as CaseFilesCursorPage,
+ type FileCreateParams as FileCreateParams,
+ type FileRetrieveParams as FileRetrieveParams,
+ type FileListParams as FileListParams,
+ type FileDeleteParams as FileDeleteParams,
+ };
+}
diff --git a/src/resources/transaction-monitoring/cases/comments.ts b/src/resources/transaction-monitoring/cases/comments.ts
new file mode 100644
index 00000000..9c85d179
--- /dev/null
+++ b/src/resources/transaction-monitoring/cases/comments.ts
@@ -0,0 +1,98 @@
+// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+import { APIResource } from '../../../core/resource';
+import * as CasesAPI from './cases';
+import { APIPromise } from '../../../core/api-promise';
+import { RequestOptions } from '../../../internal/request-options';
+import { path } from '../../../internal/utils/path';
+
+export class Comments extends APIResource {
+ /**
+ * Adds a comment to a case.
+ */
+ create(
+ caseToken: string,
+ body: CommentCreateParams,
+ options?: RequestOptions,
+ ): APIPromise {
+ return this._client.post(path`/v1/transaction_monitoring/cases/${caseToken}/comments`, {
+ body,
+ ...options,
+ });
+ }
+
+ /**
+ * Edits an existing comment on a case.
+ */
+ update(
+ commentToken: string,
+ params: CommentUpdateParams,
+ options?: RequestOptions,
+ ): APIPromise {
+ const { case_token, ...body } = params;
+ return this._client.patch(path`/v1/transaction_monitoring/cases/${case_token}/comments/${commentToken}`, {
+ body,
+ ...options,
+ });
+ }
+
+ /**
+ * Deletes a comment from a case.
+ */
+ delete(commentToken: string, params: CommentDeleteParams, options?: RequestOptions): APIPromise {
+ const { case_token } = params;
+ return this._client.delete(
+ path`/v1/transaction_monitoring/cases/${case_token}/comments/${commentToken}`,
+ options,
+ );
+ }
+}
+
+export interface CommentCreateParams {
+ /**
+ * Text of the comment
+ */
+ comment: string;
+
+ /**
+ * Optional client-provided identifier for the actor performing this action,
+ * recorded on the resulting activity entry. This value is supplied by the client
+ * (for example, your own internal user ID) and is not authenticated by Lithic
+ */
+ actor_token?: string;
+}
+
+export interface CommentUpdateParams {
+ /**
+ * Path param: Globally unique identifier for the case.
+ */
+ case_token: string;
+
+ /**
+ * Body param: New text of the comment
+ */
+ comment: string;
+
+ /**
+ * Body param: Optional client-provided identifier for the actor performing this
+ * action, recorded on the resulting activity entry. This value is supplied by the
+ * client (for example, your own internal user ID) and is not authenticated by
+ * Lithic
+ */
+ actor_token?: string;
+}
+
+export interface CommentDeleteParams {
+ /**
+ * Globally unique identifier for the case.
+ */
+ case_token: string;
+}
+
+export declare namespace Comments {
+ export {
+ type CommentCreateParams as CommentCreateParams,
+ type CommentUpdateParams as CommentUpdateParams,
+ type CommentDeleteParams as CommentDeleteParams,
+ };
+}
diff --git a/src/resources/transaction-monitoring/cases/files.ts b/src/resources/transaction-monitoring/cases/files.ts
new file mode 100644
index 00000000..38065abd
--- /dev/null
+++ b/src/resources/transaction-monitoring/cases/files.ts
@@ -0,0 +1,199 @@
+// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+import { APIResource } from '../../../core/resource';
+import { APIPromise } from '../../../core/api-promise';
+import { CursorPage, type CursorPageParams, PagePromise } from '../../../core/pagination';
+import { RequestOptions } from '../../../internal/request-options';
+import { path } from '../../../internal/utils/path';
+
+export class Files extends APIResource {
+ /**
+ * Creates a file record and returns a presigned URL for uploading the file to the
+ * case.
+ */
+ create(caseToken: string, body: FileCreateParams, options?: RequestOptions): APIPromise {
+ return this._client.post(path`/v1/transaction_monitoring/cases/${caseToken}/files`, { body, ...options });
+ }
+
+ /**
+ * Retrieves a single file attached to a case, including a presigned download URL
+ * when the file is ready.
+ */
+ retrieve(fileToken: string, params: FileRetrieveParams, options?: RequestOptions): APIPromise {
+ const { case_token } = params;
+ return this._client.get(path`/v1/transaction_monitoring/cases/${case_token}/files/${fileToken}`, options);
+ }
+
+ /**
+ * Lists the files attached to a case.
+ */
+ list(
+ caseToken: string,
+ query: FileListParams | null | undefined = {},
+ options?: RequestOptions,
+ ): PagePromise {
+ return this._client.getAPIList(
+ path`/v1/transaction_monitoring/cases/${caseToken}/files`,
+ CursorPage,
+ { query, ...options },
+ );
+ }
+
+ /**
+ * Deletes a file from a case.
+ */
+ delete(fileToken: string, params: FileDeleteParams, options?: RequestOptions): APIPromise {
+ const { case_token } = params;
+ return this._client.delete(
+ path`/v1/transaction_monitoring/cases/${case_token}/files/${fileToken}`,
+ options,
+ );
+ }
+}
+
+export type CaseFilesCursorPage = CursorPage;
+
+/**
+ * A file attached to a case. Status-dependent fields are always present but may be
+ * `null`:
+ *
+ * - `upload_url`, `upload_url_expires`, and `upload_constraints` are populated
+ * when `status` is `PENDING` or `REJECTED`
+ * - `download_url` and `download_url_expires` are populated when `status` is
+ * `READY`
+ * - `failure_reason` is populated when `status` is `REJECTED`
+ */
+export interface CaseFile {
+ /**
+ * Globally unique identifier for the file
+ */
+ token: string;
+
+ /**
+ * Date and time at which the file record was created
+ */
+ created: string;
+
+ /**
+ * Presigned URL the client uses to download the file
+ */
+ download_url: string | null;
+
+ /**
+ * Date and time at which the download URL expires
+ */
+ download_url_expires: string | null;
+
+ /**
+ * Reason the file was rejected, when applicable
+ */
+ failure_reason: string | null;
+
+ /**
+ * MIME type of the file, available once the file is ready
+ */
+ mime_type: string | null;
+
+ /**
+ * Name of the file
+ */
+ name: string;
+
+ /**
+ * Size of the file in bytes, available once the file is ready
+ */
+ size_bytes: number | null;
+
+ /**
+ * Lifecycle status of a case file:
+ *
+ * - `PENDING` - An upload URL has been issued and the file is awaiting upload
+ * - `READY` - The file has been uploaded and validated; a download URL is
+ * available
+ * - `REJECTED` - File validation failed; see `failure_reason` for details
+ */
+ status: FileStatus;
+
+ /**
+ * Date and time at which the file record was last updated
+ */
+ updated: string;
+
+ /**
+ * Constraints applied to a file upload, returned alongside the upload URL so
+ * clients can validate before uploading
+ */
+ upload_constraints: UploadConstraints | null;
+
+ /**
+ * Presigned URL the client uses to upload the file
+ */
+ upload_url: string | null;
+
+ /**
+ * Date and time at which the upload URL expires
+ */
+ upload_url_expires: string | null;
+}
+
+/**
+ * Lifecycle status of a case file:
+ *
+ * - `PENDING` - An upload URL has been issued and the file is awaiting upload
+ * - `READY` - The file has been uploaded and validated; a download URL is
+ * available
+ * - `REJECTED` - File validation failed; see `failure_reason` for details
+ */
+export type FileStatus = 'PENDING' | 'READY' | 'REJECTED';
+
+/**
+ * Constraints applied to a file upload, returned alongside the upload URL so
+ * clients can validate before uploading
+ */
+export interface UploadConstraints {
+ /**
+ * MIME types accepted for the upload
+ */
+ accepted_mime_types: Array;
+
+ /**
+ * Maximum accepted file size, in bytes
+ */
+ max_size_bytes: number;
+}
+
+export interface FileCreateParams {
+ /**
+ * Name of the file to upload
+ */
+ name: string;
+}
+
+export interface FileRetrieveParams {
+ /**
+ * Globally unique identifier for the case.
+ */
+ case_token: string;
+}
+
+export interface FileListParams extends CursorPageParams {}
+
+export interface FileDeleteParams {
+ /**
+ * Globally unique identifier for the case.
+ */
+ case_token: string;
+}
+
+export declare namespace Files {
+ export {
+ type CaseFile as CaseFile,
+ type FileStatus as FileStatus,
+ type UploadConstraints as UploadConstraints,
+ type CaseFilesCursorPage as CaseFilesCursorPage,
+ type FileCreateParams as FileCreateParams,
+ type FileRetrieveParams as FileRetrieveParams,
+ type FileListParams as FileListParams,
+ type FileDeleteParams as FileDeleteParams,
+ };
+}
diff --git a/src/resources/transaction-monitoring/cases/index.ts b/src/resources/transaction-monitoring/cases/index.ts
new file mode 100644
index 00000000..1801b86b
--- /dev/null
+++ b/src/resources/transaction-monitoring/cases/index.ts
@@ -0,0 +1,41 @@
+// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+export {
+ Cases,
+ type CaseActivityEntry,
+ type CaseActivityType,
+ type CaseCard,
+ type CaseEntity,
+ type CasePriority,
+ type CaseSortOrder,
+ type CaseStatus,
+ type CaseTransaction,
+ type EntityType,
+ type MonitoringCase,
+ type ResolutionOutcome,
+ type CaseRetrieveCardsResponse,
+ type CaseUpdateParams,
+ type CaseListParams,
+ type CaseListActivityParams,
+ type CaseListTransactionsParams,
+ type MonitoringCasesCursorPage,
+ type CaseActivityEntriesCursorPage,
+ type CaseTransactionsCursorPage,
+} from './cases';
+export {
+ Comments,
+ type CommentCreateParams,
+ type CommentUpdateParams,
+ type CommentDeleteParams,
+} from './comments';
+export {
+ Files,
+ type CaseFile,
+ type FileStatus,
+ type UploadConstraints,
+ type FileCreateParams,
+ type FileRetrieveParams,
+ type FileListParams,
+ type FileDeleteParams,
+ type CaseFilesCursorPage,
+} from './files';
diff --git a/src/resources/transaction-monitoring/index.ts b/src/resources/transaction-monitoring/index.ts
new file mode 100644
index 00000000..1dc25260
--- /dev/null
+++ b/src/resources/transaction-monitoring/index.ts
@@ -0,0 +1,33 @@
+// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+export {
+ Cases,
+ type CaseActivityEntry,
+ type CaseActivityType,
+ type CaseCard,
+ type CaseEntity,
+ type CasePriority,
+ type CaseSortOrder,
+ type CaseStatus,
+ type CaseTransaction,
+ type EntityType,
+ type MonitoringCase,
+ type ResolutionOutcome,
+ type CaseRetrieveCardsResponse,
+ type CaseUpdateParams,
+ type CaseListParams,
+ type CaseListActivityParams,
+ type CaseListTransactionsParams,
+ type MonitoringCasesCursorPage,
+ type CaseActivityEntriesCursorPage,
+ type CaseTransactionsCursorPage,
+} from './cases/index';
+export {
+ Queues,
+ type Queue,
+ type QueueCreateParams,
+ type QueueUpdateParams,
+ type QueueListParams,
+ type QueuesCursorPage,
+} from './queues';
+export { TransactionMonitoring } from './transaction-monitoring';
diff --git a/src/resources/transaction-monitoring/queues.ts b/src/resources/transaction-monitoring/queues.ts
new file mode 100644
index 00000000..3b2f277f
--- /dev/null
+++ b/src/resources/transaction-monitoring/queues.ts
@@ -0,0 +1,162 @@
+// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+import { APIResource } from '../../core/resource';
+import { APIPromise } from '../../core/api-promise';
+import { CursorPage, type CursorPageParams, PagePromise } from '../../core/pagination';
+import { RequestOptions } from '../../internal/request-options';
+import { path } from '../../internal/utils/path';
+
+export class Queues extends APIResource {
+ /**
+ * Creates a new queue for grouping transaction monitoring cases.
+ */
+ create(body: QueueCreateParams, options?: RequestOptions): APIPromise {
+ return this._client.post('/v1/transaction_monitoring/queues', { body, ...options });
+ }
+
+ /**
+ * Retrieves a single transaction monitoring queue.
+ */
+ retrieve(queueToken: string, options?: RequestOptions): APIPromise {
+ return this._client.get(path`/v1/transaction_monitoring/queues/${queueToken}`, options);
+ }
+
+ /**
+ * Updates a transaction monitoring queue.
+ */
+ update(queueToken: string, body: QueueUpdateParams, options?: RequestOptions): APIPromise {
+ return this._client.patch(path`/v1/transaction_monitoring/queues/${queueToken}`, { body, ...options });
+ }
+
+ /**
+ * Lists transaction monitoring queues.
+ */
+ list(
+ query: QueueListParams | null | undefined = {},
+ options?: RequestOptions,
+ ): PagePromise {
+ return this._client.getAPIList('/v1/transaction_monitoring/queues', CursorPage, {
+ query,
+ ...options,
+ });
+ }
+
+ /**
+ * Deletes a transaction monitoring queue.
+ */
+ delete(queueToken: string, options?: RequestOptions): APIPromise {
+ return this._client.delete(path`/v1/transaction_monitoring/queues/${queueToken}`, options);
+ }
+}
+
+export type QueuesCursorPage = CursorPage;
+
+/**
+ * A queue that groups transaction monitoring cases for review
+ */
+export interface Queue {
+ /**
+ * Globally unique identifier for the queue
+ */
+ token: string;
+
+ /**
+ * Number of cases in the queue, broken down by status. A status is omitted when
+ * the queue has no cases in that status
+ */
+ case_counts: Queue.CaseCounts;
+
+ /**
+ * Date and time at which the queue was created
+ */
+ created: string;
+
+ /**
+ * Optional description of the queue
+ */
+ description: string | null;
+
+ /**
+ * Human-readable name of the queue
+ */
+ name: string;
+
+ /**
+ * Date and time at which the queue was last updated
+ */
+ updated: string;
+}
+
+export namespace Queue {
+ /**
+ * Number of cases in the queue, broken down by status. A status is omitted when
+ * the queue has no cases in that status
+ */
+ export interface CaseCounts {
+ /**
+ * Number of cases in the queue with status `ASSIGNED`
+ */
+ ASSIGNED?: number;
+
+ /**
+ * Number of cases in the queue with status `CLOSED`
+ */
+ CLOSED?: number;
+
+ /**
+ * Number of cases in the queue with status `ESCALATED`
+ */
+ ESCALATED?: number;
+
+ /**
+ * Number of cases in the queue with status `IN_REVIEW`
+ */
+ IN_REVIEW?: number;
+
+ /**
+ * Number of cases in the queue with status `OPEN`
+ */
+ OPEN?: number;
+
+ /**
+ * Number of cases in the queue with status `RESOLVED`
+ */
+ RESOLVED?: number;
+ }
+}
+
+export interface QueueCreateParams {
+ /**
+ * Human-readable name of the queue
+ */
+ name: string;
+
+ /**
+ * Optional description of the queue
+ */
+ description?: string | null;
+}
+
+export interface QueueUpdateParams {
+ /**
+ * New description for the queue, or `null` to clear it
+ */
+ description?: string | null;
+
+ /**
+ * New name for the queue
+ */
+ name?: string;
+}
+
+export interface QueueListParams extends CursorPageParams {}
+
+export declare namespace Queues {
+ export {
+ type Queue as Queue,
+ type QueuesCursorPage as QueuesCursorPage,
+ type QueueCreateParams as QueueCreateParams,
+ type QueueUpdateParams as QueueUpdateParams,
+ type QueueListParams as QueueListParams,
+ };
+}
diff --git a/src/resources/transaction-monitoring/transaction-monitoring.ts b/src/resources/transaction-monitoring/transaction-monitoring.ts
new file mode 100644
index 00000000..b23a3312
--- /dev/null
+++ b/src/resources/transaction-monitoring/transaction-monitoring.ts
@@ -0,0 +1,77 @@
+// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+import { APIResource } from '../../core/resource';
+import * as QueuesAPI from './queues';
+import {
+ Queue,
+ QueueCreateParams,
+ QueueListParams,
+ QueueUpdateParams,
+ Queues,
+ QueuesCursorPage,
+} from './queues';
+import * as CasesAPI from './cases/cases';
+import {
+ CaseActivityEntriesCursorPage,
+ CaseActivityEntry,
+ CaseActivityType,
+ CaseCard,
+ CaseEntity,
+ CaseListActivityParams,
+ CaseListParams,
+ CaseListTransactionsParams,
+ CasePriority,
+ CaseRetrieveCardsResponse,
+ CaseSortOrder,
+ CaseStatus,
+ CaseTransaction,
+ CaseTransactionsCursorPage,
+ CaseUpdateParams,
+ Cases,
+ EntityType,
+ MonitoringCase,
+ MonitoringCasesCursorPage,
+ ResolutionOutcome,
+} from './cases/cases';
+
+export class TransactionMonitoring extends APIResource {
+ cases: CasesAPI.Cases = new CasesAPI.Cases(this._client);
+ queues: QueuesAPI.Queues = new QueuesAPI.Queues(this._client);
+}
+
+TransactionMonitoring.Cases = Cases;
+TransactionMonitoring.Queues = Queues;
+
+export declare namespace TransactionMonitoring {
+ export {
+ Cases as Cases,
+ type CaseActivityEntry as CaseActivityEntry,
+ type CaseActivityType as CaseActivityType,
+ type CaseCard as CaseCard,
+ type CaseEntity as CaseEntity,
+ type CasePriority as CasePriority,
+ type CaseSortOrder as CaseSortOrder,
+ type CaseStatus as CaseStatus,
+ type CaseTransaction as CaseTransaction,
+ type EntityType as EntityType,
+ type MonitoringCase as MonitoringCase,
+ type ResolutionOutcome as ResolutionOutcome,
+ type CaseRetrieveCardsResponse as CaseRetrieveCardsResponse,
+ type MonitoringCasesCursorPage as MonitoringCasesCursorPage,
+ type CaseActivityEntriesCursorPage as CaseActivityEntriesCursorPage,
+ type CaseTransactionsCursorPage as CaseTransactionsCursorPage,
+ type CaseUpdateParams as CaseUpdateParams,
+ type CaseListParams as CaseListParams,
+ type CaseListActivityParams as CaseListActivityParams,
+ type CaseListTransactionsParams as CaseListTransactionsParams,
+ };
+
+ export {
+ Queues as Queues,
+ type Queue as Queue,
+ type QueuesCursorPage as QueuesCursorPage,
+ type QueueCreateParams as QueueCreateParams,
+ type QueueUpdateParams as QueueUpdateParams,
+ type QueueListParams as QueueListParams,
+ };
+}
diff --git a/src/version.ts b/src/version.ts
index 47d5dc0b..98896b65 100644
--- a/src/version.ts
+++ b/src/version.ts
@@ -1 +1 @@
-export const VERSION = '0.140.0'; // x-release-please-version
+export const VERSION = '0.141.0'; // x-release-please-version
diff --git a/tests/api-resources/transaction-monitoring/cases/cases.test.ts b/tests/api-resources/transaction-monitoring/cases/cases.test.ts
new file mode 100644
index 00000000..ff132019
--- /dev/null
+++ b/tests/api-resources/transaction-monitoring/cases/cases.test.ts
@@ -0,0 +1,142 @@
+// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+import Lithic from 'lithic';
+
+const client = new Lithic({
+ apiKey: 'My Lithic API Key',
+ baseURL: process.env['TEST_API_BASE_URL'] ?? 'http://127.0.0.1:4010',
+});
+
+describe('resource cases', () => {
+ test('retrieve', async () => {
+ const responsePromise = client.transactionMonitoring.cases.retrieve(
+ '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ );
+ const rawResponse = await responsePromise.asResponse();
+ expect(rawResponse).toBeInstanceOf(Response);
+ const response = await responsePromise;
+ expect(response).not.toBeInstanceOf(Response);
+ const dataAndResponse = await responsePromise.withResponse();
+ expect(dataAndResponse.data).toBe(response);
+ expect(dataAndResponse.response).toBe(rawResponse);
+ });
+
+ test('update', async () => {
+ const responsePromise = client.transactionMonitoring.cases.update(
+ '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ {},
+ );
+ const rawResponse = await responsePromise.asResponse();
+ expect(rawResponse).toBeInstanceOf(Response);
+ const response = await responsePromise;
+ expect(response).not.toBeInstanceOf(Response);
+ const dataAndResponse = await responsePromise.withResponse();
+ expect(dataAndResponse.data).toBe(response);
+ expect(dataAndResponse.response).toBe(rawResponse);
+ });
+
+ test('list', async () => {
+ const responsePromise = client.transactionMonitoring.cases.list();
+ const rawResponse = await responsePromise.asResponse();
+ expect(rawResponse).toBeInstanceOf(Response);
+ const response = await responsePromise;
+ expect(response).not.toBeInstanceOf(Response);
+ const dataAndResponse = await responsePromise.withResponse();
+ expect(dataAndResponse.data).toBe(response);
+ expect(dataAndResponse.response).toBe(rawResponse);
+ });
+
+ test('list: request options and params are passed correctly', async () => {
+ // ensure the request options are being passed correctly by passing an invalid HTTP method in order to cause an error
+ await expect(
+ client.transactionMonitoring.cases.list(
+ {
+ account_token: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ assignee: 'assignee',
+ begin: '2019-12-27T18:11:19.117Z',
+ card_token: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ end: '2019-12-27T18:11:19.117Z',
+ ending_before: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ entity_token: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ page_size: 1,
+ queue_token: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ rule_token: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ sort_by: 'CREATED_ASC',
+ starting_after: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ status: 'OPEN',
+ transaction_token: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ },
+ { path: '/_stainless_unknown_path' },
+ ),
+ ).rejects.toThrow(Lithic.NotFoundError);
+ });
+
+ test('listActivity', async () => {
+ const responsePromise = client.transactionMonitoring.cases.listActivity(
+ '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ );
+ const rawResponse = await responsePromise.asResponse();
+ expect(rawResponse).toBeInstanceOf(Response);
+ const response = await responsePromise;
+ expect(response).not.toBeInstanceOf(Response);
+ const dataAndResponse = await responsePromise.withResponse();
+ expect(dataAndResponse.data).toBe(response);
+ expect(dataAndResponse.response).toBe(rawResponse);
+ });
+
+ test('listActivity: request options and params are passed correctly', async () => {
+ // ensure the request options are being passed correctly by passing an invalid HTTP method in order to cause an error
+ await expect(
+ client.transactionMonitoring.cases.listActivity(
+ '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ {
+ ending_before: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ page_size: 1,
+ starting_after: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ },
+ { path: '/_stainless_unknown_path' },
+ ),
+ ).rejects.toThrow(Lithic.NotFoundError);
+ });
+
+ test('listTransactions', async () => {
+ const responsePromise = client.transactionMonitoring.cases.listTransactions(
+ '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ );
+ const rawResponse = await responsePromise.asResponse();
+ expect(rawResponse).toBeInstanceOf(Response);
+ const response = await responsePromise;
+ expect(response).not.toBeInstanceOf(Response);
+ const dataAndResponse = await responsePromise.withResponse();
+ expect(dataAndResponse.data).toBe(response);
+ expect(dataAndResponse.response).toBe(rawResponse);
+ });
+
+ test('listTransactions: request options and params are passed correctly', async () => {
+ // ensure the request options are being passed correctly by passing an invalid HTTP method in order to cause an error
+ await expect(
+ client.transactionMonitoring.cases.listTransactions(
+ '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ {
+ ending_before: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ page_size: 1,
+ starting_after: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ },
+ { path: '/_stainless_unknown_path' },
+ ),
+ ).rejects.toThrow(Lithic.NotFoundError);
+ });
+
+ test('retrieveCards', async () => {
+ const responsePromise = client.transactionMonitoring.cases.retrieveCards(
+ '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ );
+ const rawResponse = await responsePromise.asResponse();
+ expect(rawResponse).toBeInstanceOf(Response);
+ const response = await responsePromise;
+ expect(response).not.toBeInstanceOf(Response);
+ const dataAndResponse = await responsePromise.withResponse();
+ expect(dataAndResponse.data).toBe(response);
+ expect(dataAndResponse.response).toBe(rawResponse);
+ });
+});
diff --git a/tests/api-resources/transaction-monitoring/cases/comments.test.ts b/tests/api-resources/transaction-monitoring/cases/comments.test.ts
new file mode 100644
index 00000000..914e5441
--- /dev/null
+++ b/tests/api-resources/transaction-monitoring/cases/comments.test.ts
@@ -0,0 +1,77 @@
+// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+import Lithic from 'lithic';
+
+const client = new Lithic({
+ apiKey: 'My Lithic API Key',
+ baseURL: process.env['TEST_API_BASE_URL'] ?? 'http://127.0.0.1:4010',
+});
+
+describe('resource comments', () => {
+ test('create: only required params', async () => {
+ const responsePromise = client.transactionMonitoring.cases.comments.create(
+ '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ { comment: 'comment' },
+ );
+ const rawResponse = await responsePromise.asResponse();
+ expect(rawResponse).toBeInstanceOf(Response);
+ const response = await responsePromise;
+ expect(response).not.toBeInstanceOf(Response);
+ const dataAndResponse = await responsePromise.withResponse();
+ expect(dataAndResponse.data).toBe(response);
+ expect(dataAndResponse.response).toBe(rawResponse);
+ });
+
+ test('create: required and optional params', async () => {
+ const response = await client.transactionMonitoring.cases.comments.create(
+ '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ { comment: 'comment', actor_token: 'actor_token' },
+ );
+ });
+
+ test('update: only required params', async () => {
+ const responsePromise = client.transactionMonitoring.cases.comments.update(
+ '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ { case_token: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', comment: 'comment' },
+ );
+ const rawResponse = await responsePromise.asResponse();
+ expect(rawResponse).toBeInstanceOf(Response);
+ const response = await responsePromise;
+ expect(response).not.toBeInstanceOf(Response);
+ const dataAndResponse = await responsePromise.withResponse();
+ expect(dataAndResponse.data).toBe(response);
+ expect(dataAndResponse.response).toBe(rawResponse);
+ });
+
+ test('update: required and optional params', async () => {
+ const response = await client.transactionMonitoring.cases.comments.update(
+ '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ {
+ case_token: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ comment: 'comment',
+ actor_token: 'actor_token',
+ },
+ );
+ });
+
+ test('delete: only required params', async () => {
+ const responsePromise = client.transactionMonitoring.cases.comments.delete(
+ '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ { case_token: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },
+ );
+ const rawResponse = await responsePromise.asResponse();
+ expect(rawResponse).toBeInstanceOf(Response);
+ const response = await responsePromise;
+ expect(response).not.toBeInstanceOf(Response);
+ const dataAndResponse = await responsePromise.withResponse();
+ expect(dataAndResponse.data).toBe(response);
+ expect(dataAndResponse.response).toBe(rawResponse);
+ });
+
+ test('delete: required and optional params', async () => {
+ const response = await client.transactionMonitoring.cases.comments.delete(
+ '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ { case_token: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },
+ );
+ });
+});
diff --git a/tests/api-resources/transaction-monitoring/cases/files.test.ts b/tests/api-resources/transaction-monitoring/cases/files.test.ts
new file mode 100644
index 00000000..f9cea3d6
--- /dev/null
+++ b/tests/api-resources/transaction-monitoring/cases/files.test.ts
@@ -0,0 +1,101 @@
+// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+import Lithic from 'lithic';
+
+const client = new Lithic({
+ apiKey: 'My Lithic API Key',
+ baseURL: process.env['TEST_API_BASE_URL'] ?? 'http://127.0.0.1:4010',
+});
+
+describe('resource files', () => {
+ test('create: only required params', async () => {
+ const responsePromise = client.transactionMonitoring.cases.files.create(
+ '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ { name: 'name' },
+ );
+ const rawResponse = await responsePromise.asResponse();
+ expect(rawResponse).toBeInstanceOf(Response);
+ const response = await responsePromise;
+ expect(response).not.toBeInstanceOf(Response);
+ const dataAndResponse = await responsePromise.withResponse();
+ expect(dataAndResponse.data).toBe(response);
+ expect(dataAndResponse.response).toBe(rawResponse);
+ });
+
+ test('create: required and optional params', async () => {
+ const response = await client.transactionMonitoring.cases.files.create(
+ '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ { name: 'name' },
+ );
+ });
+
+ test('retrieve: only required params', async () => {
+ const responsePromise = client.transactionMonitoring.cases.files.retrieve(
+ '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ { case_token: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },
+ );
+ const rawResponse = await responsePromise.asResponse();
+ expect(rawResponse).toBeInstanceOf(Response);
+ const response = await responsePromise;
+ expect(response).not.toBeInstanceOf(Response);
+ const dataAndResponse = await responsePromise.withResponse();
+ expect(dataAndResponse.data).toBe(response);
+ expect(dataAndResponse.response).toBe(rawResponse);
+ });
+
+ test('retrieve: required and optional params', async () => {
+ const response = await client.transactionMonitoring.cases.files.retrieve(
+ '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ { case_token: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },
+ );
+ });
+
+ test('list', async () => {
+ const responsePromise = client.transactionMonitoring.cases.files.list(
+ '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ );
+ const rawResponse = await responsePromise.asResponse();
+ expect(rawResponse).toBeInstanceOf(Response);
+ const response = await responsePromise;
+ expect(response).not.toBeInstanceOf(Response);
+ const dataAndResponse = await responsePromise.withResponse();
+ expect(dataAndResponse.data).toBe(response);
+ expect(dataAndResponse.response).toBe(rawResponse);
+ });
+
+ test('list: request options and params are passed correctly', async () => {
+ // ensure the request options are being passed correctly by passing an invalid HTTP method in order to cause an error
+ await expect(
+ client.transactionMonitoring.cases.files.list(
+ '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ {
+ ending_before: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ page_size: 1,
+ starting_after: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ },
+ { path: '/_stainless_unknown_path' },
+ ),
+ ).rejects.toThrow(Lithic.NotFoundError);
+ });
+
+ test('delete: only required params', async () => {
+ const responsePromise = client.transactionMonitoring.cases.files.delete(
+ '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ { case_token: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },
+ );
+ const rawResponse = await responsePromise.asResponse();
+ expect(rawResponse).toBeInstanceOf(Response);
+ const response = await responsePromise;
+ expect(response).not.toBeInstanceOf(Response);
+ const dataAndResponse = await responsePromise.withResponse();
+ expect(dataAndResponse.data).toBe(response);
+ expect(dataAndResponse.response).toBe(rawResponse);
+ });
+
+ test('delete: required and optional params', async () => {
+ const response = await client.transactionMonitoring.cases.files.delete(
+ '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ { case_token: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },
+ );
+ });
+});
diff --git a/tests/api-resources/transaction-monitoring/queues.test.ts b/tests/api-resources/transaction-monitoring/queues.test.ts
new file mode 100644
index 00000000..4ebb7cfb
--- /dev/null
+++ b/tests/api-resources/transaction-monitoring/queues.test.ts
@@ -0,0 +1,93 @@
+// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+import Lithic from 'lithic';
+
+const client = new Lithic({
+ apiKey: 'My Lithic API Key',
+ baseURL: process.env['TEST_API_BASE_URL'] ?? 'http://127.0.0.1:4010',
+});
+
+describe('resource queues', () => {
+ test('create: only required params', async () => {
+ const responsePromise = client.transactionMonitoring.queues.create({ name: 'name' });
+ const rawResponse = await responsePromise.asResponse();
+ expect(rawResponse).toBeInstanceOf(Response);
+ const response = await responsePromise;
+ expect(response).not.toBeInstanceOf(Response);
+ const dataAndResponse = await responsePromise.withResponse();
+ expect(dataAndResponse.data).toBe(response);
+ expect(dataAndResponse.response).toBe(rawResponse);
+ });
+
+ test('create: required and optional params', async () => {
+ const response = await client.transactionMonitoring.queues.create({
+ name: 'name',
+ description: 'description',
+ });
+ });
+
+ test('retrieve', async () => {
+ const responsePromise = client.transactionMonitoring.queues.retrieve(
+ '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ );
+ const rawResponse = await responsePromise.asResponse();
+ expect(rawResponse).toBeInstanceOf(Response);
+ const response = await responsePromise;
+ expect(response).not.toBeInstanceOf(Response);
+ const dataAndResponse = await responsePromise.withResponse();
+ expect(dataAndResponse.data).toBe(response);
+ expect(dataAndResponse.response).toBe(rawResponse);
+ });
+
+ test('update', async () => {
+ const responsePromise = client.transactionMonitoring.queues.update(
+ '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ {},
+ );
+ const rawResponse = await responsePromise.asResponse();
+ expect(rawResponse).toBeInstanceOf(Response);
+ const response = await responsePromise;
+ expect(response).not.toBeInstanceOf(Response);
+ const dataAndResponse = await responsePromise.withResponse();
+ expect(dataAndResponse.data).toBe(response);
+ expect(dataAndResponse.response).toBe(rawResponse);
+ });
+
+ test('list', async () => {
+ const responsePromise = client.transactionMonitoring.queues.list();
+ const rawResponse = await responsePromise.asResponse();
+ expect(rawResponse).toBeInstanceOf(Response);
+ const response = await responsePromise;
+ expect(response).not.toBeInstanceOf(Response);
+ const dataAndResponse = await responsePromise.withResponse();
+ expect(dataAndResponse.data).toBe(response);
+ expect(dataAndResponse.response).toBe(rawResponse);
+ });
+
+ test('list: request options and params are passed correctly', async () => {
+ // ensure the request options are being passed correctly by passing an invalid HTTP method in order to cause an error
+ await expect(
+ client.transactionMonitoring.queues.list(
+ {
+ ending_before: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ page_size: 1,
+ starting_after: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ },
+ { path: '/_stainless_unknown_path' },
+ ),
+ ).rejects.toThrow(Lithic.NotFoundError);
+ });
+
+ test('delete', async () => {
+ const responsePromise = client.transactionMonitoring.queues.delete(
+ '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ );
+ const rawResponse = await responsePromise.asResponse();
+ expect(rawResponse).toBeInstanceOf(Response);
+ const response = await responsePromise;
+ expect(response).not.toBeInstanceOf(Response);
+ const dataAndResponse = await responsePromise.withResponse();
+ expect(dataAndResponse.data).toBe(response);
+ expect(dataAndResponse.response).toBe(rawResponse);
+ });
+});