{"openapi":"3.0.0","info":{"title":"Alloy API","version":"1.0.0","description":"hey hey hey, it's the Alloy API!"},"x-readme":{"explorer-enabled":false},"servers":[{"url":"https://sandbox.alloy.co/v1","description":"Sandbox endpoint"}],"security":[{"oauth2":[]},{"basic":[]}],"components":{"securitySchemes":{"basic":{"type":"http","description":"HTTP basic authorization using a workflow token and secret","scheme":"basic"},"oauth2":{"type":"oauth2","description":"Oauth2 using a workflow token and secret to generate a bearer token","flows":{"clientCredentials":{"tokenUrl":"/oauth/bearer","scopes":{}}}}}},"tags":[{"name":"Accounts","description":"<Callout type=\"warning\" title=\"Deprecated Warning\">\n    These endpoints are deprecated in favor of the Events API.\n  </Callout>\n\nManage accounts and account snapshots, aggregated and decisioned through Transaction Monitoring workflows and evaluations.\n"},{"name":"AI Analysis","description":"Generate and retrieve AI-written summaries for evaluations, journey applications, and investigations. Summaries are generated asynchronously."},{"name":"Bank Accounts","description":"Get Bank Account data with historical bank account snapshots and entity data."},{"name":"Batches","description":"The batch API allows you to run multiple evaluations with a single API call. First, CSV information is supplied to a POST route, and a batch token is returned. Then, you can supply this batch token to GET routes to get information related to the batch and get the evaluations that were run."},{"name":"Cases","description":"<Callout type=\"warning\" title=\"Deprecated Warning\">\n    These endpoints are deprecated in favor of Journeys.\n  </Callout>\n\nCases are created within Alloy when an evaluation meets some criteria that needs human review. Usually this review is in the form of marking the tag that opened the case as a \"false positive\" (this is nothing) OR taking action on the account in question (closing it, cancelling the transaction, declining to open it). When severe enough, a SAR (suspicious activity report) may even be filed with the government to report said fraud. There can only be one open case per entity/type/environment combination. We expect many types of customers to only use one type, meaning for them only a single case can be open at a time, per customer. That said, this is entirely configurable and we can support many cases per entity.\n"},{"name":"Custom Lists","description":"Match inbound values against any data element sent in to Alloy. These lists can be used for standard Allow or Denylist purposes, or for more custom matching use cases."},{"name":"Documents","description":"The document upload API is a two-step process. First, the metadata for the document is specified, and the API returns a file identifier so the file can be streamed directly to the next endpoint. You’ll need to look for the document_token returned in the response because that is necessary to pass to the next endpoint for streaming the file."},{"name":"Entities","description":"Entities are the center of the Alloy world. All evaluations, manual reviews, and documents are related to an entity whether or not you explicitly link them together in your API requests. This endpoint provides the ability to query on an entity and get top-level details about that entity as well as an overview of all items associated with the entity. The tokens from linked evaluations, reviews, or documents can be passed to their own API endpoints for more information about those specific items."},{"name":"Evaluations","description":"Evaluations are a core part of the Alloy world. In order to onboard a customer you can run an evaluation under a specific workflow, and that will create both the evaluation and, in most cases, the entity for that customer."},{"name":"Events","description":"Events are how we receive ongoing data, including entities (persons, businesses), logins, bank accounts, and transactions."},{"name":"Entity Groups","description":"Entity groups can be used to associate multiple Person and Business Entities together at the point of onboarding and update throughout the entity lifecycle."},{"name":"Entity Feedback","description":"Entity feedback data is information about the status of an entity post account opening."},{"name":"Groups","description":"<Callout type=\"warning\" title=\"Deprecated Warning\">\n    These endpoints are deprecated in favor of entity groups. These can be created and updated using the Events API.\n    See the event types \"entity_group_created\" and \"entity_group_updated\" for more information.\n  </Callout>\n\nGroups are a series of “Evaluations” and “Entities” that are linked together for a particular purpose.\n"},{"name":"Investigations","description":"Investigations are reviewable items that contain Alerts for suspicious activities for Alloy's Ongoing Monitoring solution."},{"name":"Journeys","description":"A Journey is a decision configuration that allows you to run multiple workflows."},{"name":"Lists","description":"Manage lists of applicant PII. These lists allow for allow-listing and deny-listing applicants based on their personal information."},{"name":"OAuth","description":"These endpoints allow the API to be used by OAuth clients. They convert (application token) + (application secret) credentials into OAuth bearer tokens that can be used with any other API endpoint."},{"name":"Portfolio Evaluations","description":"Endpoints allowing users to work with portfolio evaluations"},{"name":"Published Attributes","description":"Published attributes provide a mechanism to persist custom data on an entity then decision on that data throughout the entity's lifecycle."},{"name":"Reviews","description":"<Callout type=\"warning\" title=\"Deprecated Warning\">\n    These endpoints are deprecated in favor of Journeys.\n  </Callout>\n\nReviews are created when an agent in the dashboard manually approves or denies an entity for an application. You can also create them via API using the endpoints shown here.\n"},{"name":"Transactions","description":"Manage transactions. These transactions are aggregated and decisioned through Transaction Monitoring workflows and evaluations."}],"paths":{"/accounts":{"post":{"deprecated":true,"tags":["Accounts"],"summary":"Create an account","description":"<Callout type=\"warning\" title=\"Deprecated Warning\">\n  This endpoint is deprecated in favor of the Events API using an event of type \"bank_account_created\".\n</Callout>\n","requestBody":{"description":"The body must contain either an `external_account_id` or `account_number`.","content":{"application/json":{"schema":{"type":"object","description":"The account that is being evaluated. Typically this is the account that is owned by your organization.\nThe body must contain either an `external_account_id` or `account_number`.\n","allOf":[{"allOf":[{"properties":{"bank_account_token":{"description":"Alloy-generated unique identifier for the account","type":"string","readOnly":true},"external_account_id":{"description":"Unique identifier associated with the account. At least one of `external_account_id` or `account_number` must be provided.","type":"string","maxLength":60},"account_number":{"description":"Bank account number. At least one of `account_number` or `external_account_id` must be provided.","type":"string"},"account_class":{"description":"Allowed values are (`\"deposit\"`, `\"credit\"`, `\"brokerage\"`).","type":"string","enum":["deposit","credit","brokerage"]},"account_name":{"description":"Name of the account.","type":"string"},"routing_number":{"description":"Routing number associated with the account.","type":"string"},"account_type":{"description":"Allowed values are (`\"merchant account\"`, `\"person\"`, `null`).","type":"string","enum":["merchant account","person"],"nullable":true},"is_linked_account":{"description":"Determines whether the account is a funding source or linked account.","type":"boolean","nullable":true},"link_timestamp":{"description":"ISO 8601 date. Required when `is_linked_account` is true. Cannot be future-dated.","type":"string","format":"date-time","nullable":true},"unlink_timestamp":{"description":"ISO 8601 date. Cannot be future-dated.","type":"string","format":"date-time","nullable":true},"opening_date":{"description":"UTC/ISO dates both accepted. Strings are converted to ISO timestamps. Date the account was opened.","type":"string","format":"date","nullable":true},"country_code":{"type":"string","description":"2-character ISO Code (mainly used for merchant accounts).","maxLength":2,"nullable":true},"account_snapshot":{"type":"object","description":"JSON object. Account snapshots are upserted according to their `timestamp` value. If a snapshot already exists for a given account and timestamp value, it will be updated; otherwise, a new account snapshot will be created.","$ref":"#/paths/~1transactions~1%7Btransaction_id%7D/patch/requestBody/content/application~1json/schema/allOf/0/properties/account_snapshot"},"product_code":{"description":"Identifier of the product name.","type":"string","nullable":true},"product_name":{"description":"Name of the product associated with the account.","type":"string","nullable":true},"product_number":{"type":"string","description":"Product number that corresponds to the product_name associated with the account.","nullable":true},"maturity_date":{"description":"UTC/ISO dates are both accepted. Strings are converted to ISO timestamps. Date on which the final payment is due on a loan or other financial instrument, such as a bond or term deposit, at which point the principal is due to be paid.","type":"string","format":"date","nullable":true},"closing_date":{"description":"UTC/ISO dates both accepted. Strings are converted to ISO timestamps. Date the account was closed.","type":"string","format":"date","nullable":true},"cif_number":{"type":"string","description":"Unique identifier used by bank cores to refer to a customer.","nullable":true},"card_network":{"type":"string","description":"Card network of the card that was used in this transaction.","maxLength":20,"nullable":true},"expiration_date":{"type":"string","nullable":true},"tokenization_method":{"type":"string","description":"method of tokenization used to anonymize account information.","maxLength":20,"nullable":true},"merchant_category_code":{"type":"string","description":"The merchant category code (MCC) is used to classify a business by the purposes it serves or the products it sells.","maxLength":20,"nullable":true},"name_on_card":{"type":"string","description":"Name on the card used in this transaction.","maxLength":100,"nullable":true},"account_number_last4":{"type":"string","description":"Last four digits of account number","maxLength":4,"nullable":true},"avs":{"type":"string","description":"Verifies the numeric portions of the address against the billing address.","maxLength":20,"nullable":true},"currency":{"type":"string","description":"ISO-4217 currency code.","maxLength":4,"nullable":true},"meta":{"description":"JSON object with any meta information related to the account","type":"object","nullable":true}},"example":{"external_account_id":"test-account-001","account_class":"deposit","entities":[{"external_entity_id":"entity-01","account_holder_type":"primary"}],"account_snapshot":{"timestamp":"2022-03-21T21:50:07.623Z","details":{"status":"Active"}}}}],"properties":{"entities":{"description":"Array of objects wherein each object represents an entity linked to the account. Each entity must already have been created. (For PATCH /accounts calls, if `entities` is passed in, the account's entities will be replaced with the newly passed in entities. If no `entities` field is passed in, the entities will not change. If `entities` is an empty array, all entities will be removed from the account.)","type":"array","items":{"type":"object","required":["account_holder_type"],"properties":{"entity_token":{"type":"string","description":"Alloy entity token. Either `entity_token` or `external_entity_id` must be provided, not both."},"external_entity_id":{"type":"string","description":"Unique identifier associated with the entity. Either `entity_token` or `external_entity_id` must be provided, not both."},"account_holder_type":{"type":"string","enum":["primary","secondary","power_of_attorney","authorized_signer","authorized_user","beneficiary","joint_owner","custodian","guardian","trustee"]}}}}}}],"anyOf":[{"required":["external_account_id"]},{"required":["account_number"]}]}}}},"responses":{"201":{"x-summary":"OK","description":"Account has been created","content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/paths/~1accounts/post/requestBody/content/application~1json/schema/allOf/0"}],"example":{"status_code":201,"error":null,"external_account_id":"test-account-001","bank_account_token":"A-P1HmBXO3a2lElibmotg7","account_class":"deposit","entities":[{"account_holder_type":"primary","external_entity_id":"entity-01","entity_token":"P-MSBW0ff3TQG7IYPvaoHs"}]}}}}}}}},"/accounts/{bank_account_token}":{"parameters":[{"in":"path","name":"bank_account_token","schema":{"type":"string"},"required":true}],"patch":{"deprecated":true,"tags":["Accounts"],"summary":"Update an account","description":"<Callout type=\"warning\" title=\"Deprecated Warning\">\n  This endpoint is deprecated in favor of the Events API using an event of type \"bank_account_updated\".\n</Callout>\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/paths/~1accounts/post/requestBody/content/application~1json/schema/allOf/0"}]}}}},"responses":{"200":{"x-summary":"OK","description":"Account has been updated","content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/paths/~1accounts/post/requestBody/content/application~1json/schema/allOf/0"}],"example":{"status_code":200,"error":null,"external_account_id":"test-account-001","bank_account_token":"A-P1HmBXO3a2lElibmotg7","account_class":"deposit","entities":[{"account_holder_type":"primary","external_entity_id":"entity-01","entity_token":"P-MSBW0ff3TQG7IYPvaoHs"}],"account_number":null,"cif_number":null,"account_type":null,"product_code":null,"product_name":null,"opening_date":null,"maturity_date":null,"closing_date":null,"activation_date":null,"expiration_date":null,"meta":null,"routing_number":null,"card_network":null,"account_name":null,"tokenization_method":null,"merchant_category_code":null,"name_on_card":null,"account_number_last4":null,"avs":null,"country_code":null,"currency":"USD","description":null,"is_linked_account":false,"link_timestamp":null,"unlink_timestamp":null}}}}}}}},"/ai-analysis":{"post":{"tags":["AI Analysis"],"summary":"Generate an AI analysis summary","description":"Kicks off asynchronous AI summary generation for the given resource token. Returns `202` immediately if generation was enqueued, or `200` with the existing summary if one has already been generated for the resource.\n\nAn `ai_analysis_completed` webhook is delivered once generation finishes. To receive webhooks instead of polling, see [Webhook Events](https://developer.alloy.com/public/docs/webhook-events).\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"resource_token":{"type":"string","description":"Token of the resource to summarize. Accepts an Evaluation (`L-`), Journey Application (`JA-`), or Investigation (`INV-`) token.","example":"L-aBcDeFgHiJkLmNoPqRsT"}},"required":["resource_token"]}}}},"responses":{"200":{"x-summary":"OK","description":"A summary already exists for this resource.","content":{"application/json":{"schema":{"type":"object","properties":{"summary":{"type":"string","description":"Generated AI summary text.","example":"The applicant..."},"summary_message_uuid":{"type":"string","description":"UUID of the LLM message that produced the summary.","example":"3f9a2b1c-4d5e-6f70-8192-a3b4c5d6e7f8"},"created_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp when the summary was first created.","example":"2026-06-18T00:00:00.000Z"},"updated_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp when the summary was last updated.","example":"2026-06-18T00:00:00.000Z"},"resource_type":{"type":"string","description":"Type of resource the summary belongs to.","enum":["evaluation","journey_application","investigation"],"example":"evaluation"},"is_stale":{"type":"boolean","description":"Whether the summary predates a material change to the underlying resource and may be out of date.","example":false}},"required":["summary","summary_message_uuid","created_at","updated_at","resource_type","is_stale"]}}}},"202":{"x-summary":"Accepted","description":"Summary generation was enqueued.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["accepted"],"description":"Indicates that summary generation was enqueued.","example":"accepted"}},"required":["status"]}}}},"400":{"x-summary":"Bad Request","description":"Invalid or missing resource_token in the request body.","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"object","properties":{"minor_code":{"type":"integer","example":4003},"type":{"type":"string","example":"Request Body Validation Failure"},"message":{"type":"string","example":"Your request body contained invalid field(s)"},"details":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"validation":{"type":"string","example":"regex"},"code":{"type":"string","example":"invalid_string"},"message":{"type":"string","example":"Invalid resource token format"},"path":{"type":"array","items":{"type":"string"},"example":["resource_token"]}}}}}},"error_token":{"type":"string","example":"e0bd7e19-d757-4ce5-bdd4-fa2ee711cd4b"}},"example":{"minor_code":4003,"type":"Request Body Validation Failure","message":"Your request body contained invalid field(s)","details":{"errors":[{"validation":"regex","code":"invalid_string","message":"Invalid resource token format","path":["resource_token"]}]},"error_token":"e0bd7e19-d757-4ce5-bdd4-fa2ee711cd4b"}},"timestamp":{"type":"integer","description":"Unix timestamp (ms) when the error was generated.","example":1784740703204},"evaluation_token":{"type":"string","nullable":true,"example":null},"entity_token":{"type":"string","nullable":true,"example":null},"application_token":{"type":"string","nullable":true,"example":null},"application_version_id":{"type":"integer","nullable":true,"example":null}}}}}},"401":{"x-summary":"Unauthorized","description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"integer","example":401},"error":{"type":"object","properties":{"minor_code":{"type":"integer","example":4011},"type":{"type":"string","example":"Unauthorized"},"message":{"type":"string","example":"Your supplied credentials are invalid."},"details":{"type":"object"},"error_token":{"type":"string","example":"c6c6aacd-a436-44dd-bd8b-55c87321dde4"}},"example":{"minor_code":4011,"type":"Unauthorized","message":"Your supplied credentials are invalid.","details":{},"error_token":"c6c6aacd-a436-44dd-bd8b-55c87321dde4"}},"timestamp":{"type":"integer","description":"Unix timestamp (ms) when the error was generated.","example":1784740826932},"evaluation_token":{"type":"string","nullable":true,"example":null},"entity_token":{"type":"string","nullable":true,"example":null},"application_token":{"type":"string","nullable":true,"example":null},"application_version_id":{"type":"integer","nullable":true,"example":null}}}}}},"404":{"x-summary":"Not Found","description":"No resource found for the provided token.","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"object","properties":{"minor_code":{"type":"integer","example":4041},"type":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"Unable to find the requested resource"},"details":{"type":"string","example":"Customer not found"},"error_token":{"type":"string","example":"aa7e0b31-c462-4205-83a2-2016ffcfe3b3"}},"example":{"minor_code":4041,"type":"Not Found","message":"Unable to find the requested resource","details":"Customer not found","error_token":"aa7e0b31-c462-4205-83a2-2016ffcfe3b3"}},"timestamp":{"type":"integer","description":"Unix timestamp (ms) when the error was generated.","example":1784739575967},"evaluation_token":{"type":"string","nullable":true,"example":null},"entity_token":{"type":"string","nullable":true,"example":null},"application_token":{"type":"string","nullable":true,"example":null},"application_version_id":{"type":"integer","nullable":true,"example":null}}}}}},"429":{"x-summary":"Rate Limit Exceeded","description":"Too many requests.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","example":"Rate Limit Exceeded"},"message":{"type":"string","example":"You have reached the maximum rate."},"details":{"type":"object"}},"example":{"type":"Rate Limit Exceeded","message":"You have reached the maximum rate.","details":{}}}}}}}}}}},"/ai-analysis/{token}":{"parameters":[{"in":"path","name":"token","required":true,"description":"Token of the resource to look up (Evaluation `L-`, Journey Application `JA-`, or Investigation `INV-`).","schema":{"type":"string","example":"L-aBcDeFgHiJkLmNoPqRsT"}}],"get":{"tags":["AI Analysis"],"summary":"Get an AI analysis summary","description":"Returns a stored AI summary for the given resource token. No generation is performed on read — use `POST /ai-analysis` to trigger generation.","responses":{"200":{"x-summary":"OK","description":"Success","content":{"application/json":{"schema":{"$ref":"#/paths/~1ai-analysis/post/responses/200/content/application~1json/schema"}}}},"400":{"x-summary":"Bad Request","description":"Invalid path token format.","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"object","properties":{"minor_code":{"type":"integer","example":4007},"type":{"type":"string","example":"Request Path Params Validation Failure"},"message":{"type":"string","example":"Your request path params contained invalid field(s)"},"details":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"validation":{"type":"string","example":"regex"},"code":{"type":"string","example":"invalid_string"},"message":{"type":"string","example":"Invalid resource token format"},"path":{"type":"array","items":{"type":"string"},"example":["token"]}}}}}},"error_token":{"type":"string","example":"b7729b2e-1856-4028-9479-50fe3316c210"}},"example":{"minor_code":4007,"type":"Request Path Params Validation Failure","message":"Your request path params contained invalid field(s)","details":{"errors":[{"validation":"regex","code":"invalid_string","message":"Invalid resource token format","path":["token"]}]},"error_token":"b7729b2e-1856-4028-9479-50fe3316c210"}},"timestamp":{"type":"integer","description":"Unix timestamp (ms) when the error was generated.","example":1784739966136},"evaluation_token":{"type":"string","nullable":true,"example":null},"entity_token":{"type":"string","nullable":true,"example":null},"application_token":{"type":"string","nullable":true,"example":null},"application_version_id":{"type":"integer","nullable":true,"example":null}}}}}},"401":{"x-summary":"Unauthorized","description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/paths/~1ai-analysis/post/responses/401/content/application~1json/schema"}}}},"404":{"x-summary":"Not Found","description":"Summary not yet generated, or no resource found for the provided token.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/paths/~1ai-analysis/post/responses/404/content/application~1json/schema"},{"type":"object","description":"Returned by `GET /ai-analysis/{token}` when the resource exists but no summary has been generated for it yet.","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"object","properties":{"message":{"type":"string","example":"No summary found for token: JA-Z9PKq0rdUjjOzbzJkq5x"}},"example":{"message":"No summary found for token: JA-Z9PKq0rdUjjOzbzJkq5x"}}}}]}}}},"429":{"x-summary":"Rate Limit Exceeded","description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/paths/~1ai-analysis/post/responses/429/content/application~1json/schema"}}}}}}},"/bank-accounts/{account_identifier_or_token}":{"get":{"tags":["Bank Accounts"],"summary":"Get a single bank account, with historical and entity data, by unique token or identifier.","description":"Retrieves a single bank account uniquely defined by a bank account token or external account identifier. Bank account tokens are alphanumeric characters that start with a prefix \"A-\". External account identifiers are strings provided by services or clients.","parameters":[{"in":"path","name":"account_identifier_or_token","schema":{"type":"string"},"required":true,"description":"Token of bank account to get details for."},{"in":"query","name":"page","schema":{"type":"number","example":2},"required":false,"description":"The page of history results to return. Default is 1."},{"in":"query","name":"per_page","schema":{"type":"number","example":1000},"required":false,"description":"How many history results per page to return. Default/maximum is 1000."}],"responses":{"200":{"x-summary":"OK","description":"Returns the bank account matching bank account token.","content":{"application/json":{"schema":{"type":"object","allOf":[{"properties":{"account_token":{"type":"string","example":"A-WO6WloK6odpcoxJkTKAt"}}},{"properties":{"timestamp":{"type":"string","format":"date-time","description":"ISO 8601 timestamp of when the event occurred.","example":"2024-06-01T12:00:00.000Z"},"external_account_id":{"type":"string","description":"Your system's unique identifier for the bank account.","example":"acct-0a9b1c2d3e4f5a6b"},"external_entity_id":{"type":"string","description":"Unique identifier of one of the Entities associated with the Account.\n\nNot strictly required if the event is not being monitored, but recommended to include for future proofing your integration. This field has no impact on which Entities are attached to the Account, although it should match at least one of the Entities that the Account belongs to.\n\nClick [here](https://developer.alloy.com/public/docs/api-request#source-workflow-impact-on-entity-fields) for more information.\n"},"entity_token":{"type":"string","description":"Alloy-issued token of the entity associated with this account.","example":"P-R21gUOQ8rwCvmx8tIscf","nullable":true},"account_class":{"type":"string","enum":["credit","deposit","brokerage","loan"],"description":"The type of account. One of: credit, deposit (checking or savings), brokerage, loan.","example":"deposit","nullable":true},"account_name":{"type":"string","description":"Descriptive name for the account.","example":"My Checking Account","nullable":true},"account_number":{"type":"string","description":"Account number, as it appears on statements or checks.","example":"123456789"},"routing_number":{"type":"string","description":"The ABA routing number for the bank account.","example":"021000021","nullable":true},"opening_date":{"type":"string","format":"date-time","description":"Date the account was opened.","example":"2022-01-15T00:00:00.000Z","nullable":true},"maturity_date":{"type":"string","format":"date-time","description":"Date the account matures (for term-based accounts such as CDs or loans).","example":"2027-01-15T00:00:00.000Z","nullable":true},"closing_date":{"type":"string","format":"date-time","description":"Date the account was or will be closed.","example":"2025-06-01T00:00:00.000Z","nullable":true},"cif_number":{"type":"string","description":"Customer Information File (CIF) number linking this account to a customer record in your core banking system.","example":"CIF-00123456","nullable":true},"card_network":{"type":"string","description":"Payment card network associated with the account (e.g. Visa, Mastercard).","example":"Visa","nullable":true},"country_code":{"type":"string","description":"2-letter country code for the account.","example":"US","nullable":true},"currency":{"type":"string","description":"Currency of the account (e.g. USD).","example":"USD","nullable":true},"product_code":{"type":"string","description":"Internal product code identifying the account product type in your system.","example":"CHK-PREMIER","nullable":true},"product_name":{"type":"string","description":"Human-readable name of the account product.","example":"Premier Checking","nullable":true},"status":{"type":"string","description":"Current status of the account as defined in your system.","example":"active","nullable":true},"status_detail":{"type":"string","description":"Free-form companion to the status field. Commonly used to communicate fraud labels on closed or restricted accounts (e.g. Fraud, potentialFraud, confirmedFraud). Any custom value is accepted.","example":"Fraud","nullable":true},"credit_limit":{"type":"number","description":"Credit limit of the account, in cents.","example":500000,"nullable":true},"account_balance":{"type":"number","description":"Current balance of the account, in cents.","example":12345,"nullable":true},"account_type_status":{"type":"string","enum":["Written Off","Active","Refinanced","Past Due","Paid Off","Cancelled"],"description":"Lifecycle status of the account from a credit or loan servicing perspective.","example":"Active","nullable":true},"status_fraud":{"type":"string","enum":["fraud","not fraud"],"description":"Indicates whether this account has been flagged as fraudulent. Set to fraud when the account is confirmed or suspected fraudulent, not fraud otherwise.","example":"not fraud","nullable":true},"entity_group_token":{"type":"string","description":"Alloy-issued token for the entity group associated with this account. When present, at least one entry in entities is required.","example":"EG-Xk3mR8pLqN2wYvT1cZsA","nullable":true},"external_entity_group_id":{"type":"string","description":"Your system's identifier for the entity group associated with this account. When present, at least one entry in entities is required.","example":"group-acct-0012","nullable":true},"entities":{"type":"array","items":{"type":"object","properties":{"account_holder_type":{"type":"string","enum":["primary","secondary","power_of_attorney","authorized_signer","authorized_user","beneficiary","joint_owner","custodian","guardian","trustee"]},"external_entity_id":{"type":"string"},"entity_token":{"type":"string"}},"anyOf":[{"title":"Linked by External ID","required":["external_entity_id"]},{"title":"Linked by Entity Token","required":["entity_token"]}]}}}},{"properties":{"history":{"type":"array","items":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"status":{"type":"string"},"status_detail":{"type":"string"},"credit_limit":{"type":"number"},"account_balance":{"type":"number"},"status_fraud":{"type":"string","enum":["fraud","not fraud"]}}}}}},{"properties":{"entity_groups":{"type":"array","items":{"type":"object","properties":{"entity_group_token":{"type":"string"},"entity_group_name":{"type":"string"},"entity_group_type":{"type":"string","enum":["business","joint_account","membership","merchant"]}}}}}}]}}}},"404":{"x-summary":"Resource not found.","description":"Unable to find the bank account token."}}}},"/batches/{batch_token}":{"get":{"tags":["Batches"],"summary":"Get Information Related to a Batch","parameters":[{"in":"path","name":"batch_token","schema":{"type":"string"},"required":true,"description":"Token of batch to retrieve"}],"responses":{"200":{"x-summary":"OK","description":"Batch","content":{"application/json":{"schema":{"type":"object","properties":{"_links":{"type":"object","properties":{"self":{"type":"object","properties":{"href":{"type":"string"}}},"evaluations":{"type":"object","$ref":"#/paths/~1batches~1%7Bbatch_token%7D/get/responses/200/content/application~1json/schema/properties/_links/properties/self"}}},"batch_token":{"type":"string"},"batch_status":{"type":"string"},"created_at":{"type":"number"},"completed_at":{"type":"number"},"summary":{"type":"object","properties":{"total_records":{"type":"number"},"evaluation_status":{"type":"object","properties":{"complete":{"type":"number"},"failed":{"type":"number"},"waiting":{"type":"number"},"webhook_pending":{"type":"number"},"other":{"type":"number"},"none":{"type":"number"}}},"evaluation_result":{"type":"object","properties":{"partial":{"type":"number"},"success":{"type":"number"},"none":{"type":"number"}}},"row_status":{"type":"object","properties":{"pending":{"type":"number"},"complete":{"type":"number"},"failed":{"type":"number"},"timed_out":{"type":"number"}}}}}}}}}}}}},"/cases":{"get":{"deprecated":true,"tags":["Cases"],"summary":"Get a list of all possible cases created using Alloy Case Management.","description":"<Callout type=\"warning\" title=\"Deprecated Warning\">\n  This endpoint is deprecated in favor of using Investigations.\n</Callout>\n\nRetrieves the list of all cases, for the provided filter parameters\n","responses":{"200":{"x-summary":"OK","description":"Case","content":{"application/json":{"schema":{"type":"array","items":{"properties":{"status_code":{"type":"number","description":"The standard HTTP status code for the request"},"error":{"type":"string","description":"A nullable string, indicated what went wrong for a failed request"},"page":{"type":"number","description":"The page itself, for the provided query"},"pages":{"type":"number","description":"The number of overall pages, for the provided filter parameters"},"per_page":{"type":"number","description":"The max number of items per pages, for the provided query"},"total":{"type":"number","description":"The total number of cases, for the provided filter parameters"},"_embedded":{"type":"object","description":"A container for the cases themselves, and their related business objects","properties":{"case_token":{"type":"string","description":"A unique identifier for the case itself, generated by Alloy's internal system"},"entity_token":{"type":"string","description":"A unique identifier for the entity itself, generated by Alloy's internal system. Currently, cases can only have one entity related to it"},"status":{"type":"string","description":"The current status of the case. This is nullable, as some cases may not have an initial status"},"closed":{"type":"boolean","description":"This represents if the case is open or not"},"sandbox":{"type":"boolean","description":"This represents if the case is a \"real\" case, or if has been used as a test. Similar to the \"environment\" on evaluations"},"unread":{"type":"boolean","description":"This represents if the case has been read by a user, since it's last update"},"created_at":{"type":"number","description":"A Unix timestamp for when the case was created"},"updated_at":{"type":"number","description":"A Unix timestamp for when the case was last updated"},"closed_at":{"type":"number","description":"A Unix timestamp for when the case was closed. This is null if the case is still open"},"assigned_agent_email":{"type":"string","description":"If the case is currently assigned, this is the email of that individual"},"assigned_agent_name":{"type":"string","description":"If the case is currently assigned, this is the full name of that individual"},"program_name":{"type":"string"},"alerts":{"type":"array","description":"The tags related to the case. ALL of these tags MUST be case generating, at the time they were linked to the case. All of these tags must have the same type","items":{"type":"string"}},"customer_tag_type_name":{"type":"string","description":"This is essentially the \"Case Type.\" All tags associated to a case, must have the same type as this value tied to the case"},"customer_tag_type_description":{"type":"string","description":"This is an extended description for the type itself"},"is_escalated":{"type":"boolean","description":"An indicator for if the case was escalated to a different assignee. This is cleared out, upon a different assignee being chosen"},"is_manual":{"type":"boolean","description":"Represents if the case was generated by Alloy's internal system, or some kind of manual interaction"},"created_by_agent_email":{"type":"string","description":"If the case was manually generated, this is the full name of who took that action"},"created_by_agent_name":{"type":"string","description":"If the case was manually generated, this is the email of who took that action"},"_embedded":{"type":"object","properties":{"entity":{"type":"object","description":"Relevant entity data, for the entity tied to this case","properties":{"name":{"type":"string"},"entity_token":{"type":"string"},"external_entity_id":{"type":"string"},"type":{"type":"string"},"_links":{"type":"object","properties":{"self":{"$ref":"#/paths/~1cases~1%7Bcase_token%7D/get/responses/200/content/application~1json/schema/properties/_links/properties/self"}}}}}}},"_links":{"type":"object","properties":{"self":{"properties":{"href":{"type":"string"}}},"evidences":{"$ref":"#/paths/~1cases~1%7Bcase_token%7D/get/responses/200/content/application~1json/schema/properties/_links/properties/self"},"works":{"$ref":"#/paths/~1cases~1%7Bcase_token%7D/get/responses/200/content/application~1json/schema/properties/_links/properties/self"}}}}}}}},"example":{"status_code":200,"error":null,"page":1,"pages":3,"per_page":20,"_embedded":[{"case_token":"C-12345","entity_token":"P-12234","status":"Under Review","closed":false,"sandbox":false,"unread":false,"created_at":1691099355351,"updated_at":1691099355351,"closed_at":null,"assigned_agent_email":"patrick@alloy.com","assigned_agent_name":"Patrick Hickey","program_name":null,"alerts":["SSN Mismatch","Phone Mismatch"],"customer_tag_type_name":"PII Mismatch","customer_tag_type_description":null,"is_escalated":false,"is_manual":false,"created_by_agent_email":null,"created_by_agent_name":null,"_embedded":{"entity":{"name":"Christina Krysti","entity_token":"P-12234","external_entity_id":"3406881_christina_krysti","type":"person"}}}]}}}}}}},"/cases/{case_token}":{"get":{"deprecated":true,"tags":["Cases"],"summary":"Get a case by a uniquely defined case token","description":"<Callout type=\"warning\" title=\"Deprecated Warning\">\n  This endpoint is deprecated in favor of using Investigations.\n</Callout>\n\nRetrieves a single case uniquely defined by a case token. Case tokens are alphanumeric characters that start with a prefix \"C-\".\n","parameters":[{"in":"path","name":"case_token","schema":{"type":"string"},"required":true,"description":"Token of case to get."}],"responses":{"200":{"x-summary":"OK","description":"Case","content":{"application/json":{"schema":{"type":"object","$ref":"#/paths/~1cases/get/responses/200/content/application~1json/schema/items/properties/_embedded"}}}}}}},"/cases/{case_token}/evidences":{"get":{"deprecated":true,"tags":["Cases"],"summary":"Get case evidences by case token","description":"<Callout type=\"warning\" title=\"Deprecated Warning\">\n  This endpoint is deprecated in favor of using Investigations.\n</Callout>\n\nRetrieves a list of case evidences uniquely defined by a case token. Case tokens are alphanumeric characters that start with a prefix \"C-\".\n","parameters":[{"in":"path","name":"case_token","schema":{"type":"string"},"required":true,"description":"Token of case to get evidence for."}],"responses":{"200":{"x-summary":"OK","description":"CaseEvidence","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"number"},"error":{"type":"string"},"_embedded":{"properties":{"evidences":{"type":"array","items":{"properties":{"created_at":{"type":"number","description":"A Unix timestamp, representing when the evidence was created in Alloy's internal system"},"occurred_at":{"type":"number","description":"A Unix timestamp, representing when the evidence occurred. For example, this could be a transaction timestamp."},"transaction_id":{"type":"string","description":"A nullable string, representing the identifier for transaction linked to a case"},"evaluation_token":{"type":"string","description":"A nullable string, representing the evaluation token linked to an evidence"},"is_manual":{"type":"boolean","description":"Indication of if the evidence was added manually by a user"},"is_portfolio_eval":{"type":"boolean"},"portfolio_evaluation_token":{"type":"string","description":"A nullable string, representing the portfolio evaluation token linked to an evidence"},"alerts":{"type":"array","description":"The alert(s) that were added as part of this evidence","items":{"type":"string"}},"_embedded":{"type":"object","properties":{"transaction":{"properties":{"transaction_id":{"type":"number"},"amount":{"type":"number"},"currency_code":{"type":"string"}}}}},"_links":{"properties":{"case":{"$ref":"#/paths/~1cases~1%7Bcase_token%7D/get/responses/200/content/application~1json/schema/properties/_links/properties/self"},"self":{"$ref":"#/paths/~1cases~1%7Bcase_token%7D/get/responses/200/content/application~1json/schema/properties/_links/properties/self"}}}}}}}}}}}}}}},"post":{"deprecated":true,"tags":["Cases"],"summary":"Create a case evidence","description":"Create a new manual tag and/or line item associated to an existing case","parameters":[{"in":"path","name":"case_token","schema":{"type":"string"},"required":true,"description":"Token of case to create an evidence for."}],"responses":{"201":{"x-summary":"OK","description":"CaseEvidence","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"}},"example":{"error":null,"message":"Manual case evidence insertions were successful."}}}}},"206":{"x-summary":"OK","description":"CaseEvidence","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"}},"example":{"error":null,"message":"Manual case evidence insertions were partially successful."}}}}}}}},"/cases/{case_token}/works":{"get":{"deprecated":true,"tags":["Cases"],"summary":"Get case works for a case","description":"<Callout type=\"warning\" title=\"Deprecated Warning\">\n  This endpoint is deprecated in favor of using Investigations.\n</Callout>\n\nRetrieves a list of case works defined for a given case by a case token.\nCase work is any action an agent takes on a case.\nSome examples of types of work are `closure` (close a case), `status` (change case status), `assignment_created` (assigning an agent), or `note` (leave a note on a case).\nAll type of case work can have a note.\n","parameters":[{"in":"path","name":"case_token","schema":{"type":"string"},"required":true,"description":"Token of case to get works for."}],"responses":{"200":{"x-summary":"OK","description":"CaseEvidence","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"number","description":"The standard HTTP status code for the request"},"error":{"type":"string","description":"A nullable string, indicating what went wrong for a failed request"},"_embedded":{"type":"object","properties":{"works":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","description":"The specific type that an auditable action is","enum":["status","closure","note","read","assignment_created","assignment_removed","manual_evidence_added","case_escalation_created","case_escalation_removed"]},"note":{"type":"string","description":"An optional, user generated note describing why they took an action"},"status":{"type":"string","description":"The status that the case was changed to"},"closed":{"type":"boolean","description":"If the case was closed on this action, its value will be true"},"reasons":{"type":"array","description":"The reasons for taking a certain action","items":{"type":"string"}},"assigned_agent":{"type":"string","description":"The agent assigned during this action"},"tag_name":{"type":"string","description":"The tag that was manually added during this action"},"created_at":{"type":"number","description":"When this action was taken"},"_embedded":{"type":"object","properties":{"created_by":{"type":"object","description":"Represents who took this manual action","properties":{"name":{"type":"string"},"email":{"type":"string"}}}}}}}}}},"_links":{"type":"object","properties":{"self":{"$ref":"#/paths/~1cases~1%7Bcase_token%7D/get/responses/200/content/application~1json/schema/properties/_links/properties/self"},"case":{"$ref":"#/paths/~1cases~1%7Bcase_token%7D/get/responses/200/content/application~1json/schema/properties/_links/properties/self"}}}}},"example":{"case_token":"C-12345","status_code":200,"error":null,"_embedded":[{"type":"status","note":"Investigating phone mismatch","status":"Under Review","closed":null,"reasons":[],"assigned_agent":null,"tag_name":null,"created_at":1691099355351},{"type":"manual_evidence_added","note":"Further investigation required","status":null,"closed":null,"reasons":[],"assigned_agent":null,"tag_name":"Phone Mismatch","created_at":1690923036791}]}}}}}},"post":{"deprecated":true,"tags":["Cases"],"summary":"Create a case work (single)","description":"Enables an agent to take action on a single case at a time. There are nine types of actions that can be taken on an individual level: `assignment_created` (assigning a user to the cases), `assignment_removed` (unassigning a user to the cases), `status` (changing the statuses), `closure` (closing the cases), `note` (adding a note to a case), `read` (viewing a case after an update) `manual_evidence_added` (when a tag or line item is manually added to a case), `case_escalation_created` (a case was re-assigned and escalated), and finally `case_escalation_removed` (a case escalation was removed).\n","parameters":[{"in":"path","name":"case_token","schema":{"type":"string"},"required":true,"description":"Token of case to get works for."}],"responses":{"201":{"x-summary":"OK","description":"Case","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/cases/multi/works":{"post":{"deprecated":true,"tags":["Cases"],"summary":"Create a case work (multi)","description":"<Callout type=\"warning\" title=\"Deprecated Warning\">\n  This endpoint is deprecated in favor of using Investigations.\n</Callout>\n\nEnables an agent to take action on multiple cases at once. There are four types of actions that can be taken on a bulk level: `assignment_created` (assigning a user to the cases), `assignment_removed` (unassigning a user to the cases), `status` (changing the statuses), and `closure` (closing the cases).\n","responses":{"201":{"x-summary":"OK","description":"Case","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"updated-cases":{"type":"array","description":"An array of case tokens that were successfully updated","items":{"type":"string"}}},"example":{"message":"All cases updated!","updated-cases":["C-123","C-456"]}}}}}}}},"/cases/{case_token}/evidences/{evaluation_token}/alerts":{"get":{"deprecated":true,"tags":["Cases"],"summary":"Show dataset related to a case-generating tag","description":"<Callout type=\"warning\" title=\"Deprecated Warning\">\n  This endpoint is deprecated in favor of using Investigations.\n</Callout>\n\nWhen activity results in case creation through an evaluation, this will return activity data that meets the tag criteria. This can include transaction data, PII updates, account data, sanctions screening data, or even more.\n","parameters":[{"in":"path","name":"case_token","schema":{"type":"string"},"required":true,"description":"Token of case to fetch dataset for."},{"in":"path","name":"evaluation_token","schema":{"type":"string"},"required":true,"description":"Token of the evaluation associated to the case to fetch dataset for."}],"responses":{"200":{"x-summary":"OK","description":"Case","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/custom-lists":{"post":{"tags":["Custom Lists"],"summary":"Create a New Custom List","description":"Create a new custom list with input metadata","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Name of the custom list"},"description":{"type":"string","description":"Description of the custom list"}}}}}},"responses":{"201":{"description":"Successfully created a custom list","content":{"application/json":{"schema":{"type":"object","properties":{"custom_list_token":{"type":"string"},"created_at":{"type":"string","format":"date-time"}}}}}},"400":{"description":"Bad request - Missing Required Fields"},"403":{"description":"Forbidden - Insufficient Permissions"},"409":{"description":"Conflict - List Name Already Exists"}}},"get":{"tags":["Custom Lists"],"summary":"Get all Custom Lists","description":"Returns the set of all Custom Lists created per customer","responses":{"200":{"description":"A set of all Custom Lists","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"custom_list_token":{"type":"string","pattern":"^CI-[\\dA-Za-z]{20}$"},"name":{"type":"string"},"description":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"active_version":{"type":"string","nullable":true,"description":"Active version of the list"},"active_columns":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"contains_pii":{"type":"boolean"},"sort_order":{"type":"integer"}}}},"total_active_entries":{"type":"integer","nullable":true},"total_versions":{"type":"integer"}}}},"example":[{"custom_list_token":"CI-jCAQRMrWipKyP9VLPuuH","name":"Allow List","description":"My allow list","created_at":"2025-08-28T17:26:39.690Z","active_version":"1.5","total_active_entries":10000,"active_columns":["first_name","last_name"],"total_versions":13},{"custom_list_token":"CI-nkzr3ZvedYyr3uz582lC","name":"Deny List","description":"My deny list","created_at":"2025-08-26T20:18:12.870Z","active_version":"4.3","total_active_entries":5000,"active_columns":["a","b","c"],"total_versions":13},{"custom_list_token":"CI-CDJhNfFruW3WNCDy5SPB","name":"My Custom List","description":"My custom list","created_at":"2025-08-18T15:37:17.736Z","active_version":"7.7","total_active_entries":2000,"active_columns":["business_name","business_address"],"total_versions":22}]}}}}}},"/custom-lists/{customListToken}":{"parameters":[{"in":"path","name":"customListToken","schema":{"type":"string","pattern":"^CI-[\\dA-Za-z]{20}$"},"required":true,"description":"Custom List Token of the list"}],"patch":{"tags":["Custom Lists"],"summary":"Update Custom List Metadata","description":"Update the name or description of a custom list","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"New name for the custom list"},"description":{"type":"string","description":"New description for the custom list"}}}}}},"responses":{"200":{"description":"Successfully updated Custom List Metadata","content":{"application/json":{"schema":{"type":"object","properties":{"custom_list_token":{"type":"string"},"timestamp":{"type":"number"},"status_code":{"type":"number"},"error":{"type":"object","nullable":true}}}}}},"400":{"description":"Bad request - Invalid Input or Missing Required Fields"},"403":{"description":"Forbidden - Insufficient Permissions"},"404":{"description":"Custom List Not Found"},"409":{"description":"Conflict - List Name Already Exists"}}},"get":{"tags":["Custom Lists"],"summary":"Get Custom List Versions","description":"Return all versions of the specified custom list","responses":{"200":{"description":"Custom list versions","content":{"application/json":{"schema":{"type":"object","properties":{"custom_list_token":{"type":"string","pattern":"^CI-[\\dA-Za-z]{20}$"},"name":{"type":"string"},"description":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"active_version":{"type":"string"},"last_updated_major_at":{"type":"string","format":"date-time"},"last_updated_major_by":{"type":"string"},"last_updated_minor_at":{"type":"string","format":"date-time"},"last_updated_minor_by":{"type":"string"},"versions":{"type":"array","items":{"type":"object","properties":{"version":{"type":"string"},"major_version":{"type":"integer"},"minor_version":{"type":"integer"},"changelog":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"notes":{"type":"string","nullable":true},"total_entries":{"type":"integer"},"columns":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"contains_pii":{"type":"boolean"},"sort_order":{"type":"integer","nullable":true}}}}}}},"workflows":{"type":"array","items":{"type":"object","properties":{"workflow_name":{"type":"string"},"workflow_version":{"type":"integer"},"workflow_token":{"type":"string"},"list_versions":{"type":"array","items":{"type":"string"}}}}}}},"example":{"custom_list_token":"CI-VS4yVbnvfaWm4K5vY2bV","name":"My Custom List","description":"My custom list","created_at":"2025-08-12T15:44:19.509Z","active_version":"1.2","last_updated_major_at":"2025-08-15T15:13:36.433Z","last_updated_major_by":"API","last_updated_minor_at":"2025-08-13T16:32:49.600Z","last_updated_minor_by":"API","versions":[{"version":"1.2","major_version":1,"minor_version":2,"changelog":null,"created_at":"2025-08-13T16:32:49.600Z","created_by":"API","notes":null,"total_entries":2000,"columns":[{"name":"email","contains_pii":false,"sort_order":null},{"name":"name_first","contains_pii":false,"sort_order":null},{"name":"name_last","contains_pii":false,"sort_order":null}]},{"version":"1.1","major_version":1,"minor_version":1,"changelog":null,"created_at":"2025-08-12T15:47:58.347Z","created_by":"API","notes":null,"total_entries":2000,"columns":[{"name":"email","contains_pii":false,"sort_order":null},{"name":"name_first","contains_pii":false,"sort_order":null},{"name":"name_last","contains_pii":false,"sort_order":null}]},{"version":"1.0","major_version":1,"minor_version":0,"changelog":null,"created_at":"2025-08-12T15:45:21.116Z","created_by":"API","notes":null,"total_entries":2500,"columns":[{"name":"email","contains_pii":false,"sort_order":null},{"name":"name_first","contains_pii":false,"sort_order":null},{"name":"name_last","contains_pii":false,"sort_order":null},{"name":"signup_date","contains_pii":false,"sort_order":null}]}],"workflows":[{"workflow_name":"Onboarding Workflow","workflow_version":9,"workflow_token":"1GHlF7pbcEXy31PEUQDDqBP5kQhJyVqo","list_versions":["1.2"]}]}}}},"400":{"description":"Bad request - Invalid Custom List Token"},"403":{"description":"Forbidden - Insufficient Permissions"},"404":{"description":"Custom List Not Found"}}}},"/custom-lists/{customListToken}/versions":{"parameters":[{"in":"path","name":"customListToken","schema":{"type":"string","pattern":"^CI-[\\dA-Za-z]{20}$"},"required":true,"description":"Custom List Token of the list"}],"post":{"tags":["Custom Lists"],"summary":"Create a new Custom List Version","description":"<dl> <dt> To create a new <b>major version</b> of a list: </dt> <dd>- Define or update columns and provide entries.</dd> <dt> To create a new <b>minor version</b> of a list: </dt> <dd>- Add entries to an existing version.</dd> <dd>- Delete entries from an existing version.</dd> <dd>- Modify entries in an existing version.</dd> <dd>- Replace all entries in an existing version.</dd> <dd>- Restore an existing version.</dd> </dl>","requestBody":{"description":"There are 6 possible request bodies for creating a new version of a list:","required":true,"content":{"application/json":{"schema":{"oneOf":[{"title":"Define or Update Columns","type":"object","required":["columns","data"],"properties":{"columns":{"type":"array","description":"Column definitions for the custom list. When updating the set of columns, a new major version will be created.","items":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Name of the column"},"sort_order":{"type":"integer","description":"Sort order for the column (optional)"},"contains_pii":{"type":"boolean","description":"Whether the column contains PII. Defaults to false if not provided."}}}},"data":{"type":"array","description":"Array of data entries to start the new major list version.","items":{"type":"object","additionalProperties":true}},"notes":{"type":"string","description":"Optional notes about this version"},"changelog":{"type":"string","description":"Optional changelog for this version"}}},{"title":"Add to List","type":"object","required":["base_version","added"],"properties":{"base_version":{"type":"object","required":["major_version","minor_version"],"description":"Version to base new minor version on. Provide 'major_version' AND 'minor_version' to reference the existing version to add entries to. This will create a new minor version.","properties":{"major_version":{"type":"integer"},"minor_version":{"type":"integer"}}},"added":{"type":"array","description":"Array of data entries to append to the list. Cannot be combined with 'deleted' or 'modified'.","items":{"type":"object","additionalProperties":true}},"notes":{"type":"string","description":"Optional notes about this version"},"changelog":{"type":"string","description":"Optional changelog for this version"}}},{"title":"Delete from List","type":"object","required":["base_version","deleted"],"properties":{"base_version":{"type":"object","required":["major_version","minor_version"],"description":"Version to base new minor version on. Provide 'major_version' AND 'minor_version' to reference the existing version to delete entries from. This will create a new minor version.","properties":{"major_version":{"type":"integer"},"minor_version":{"type":"integer"}}},"deleted":{"type":"array","description":"Array of 'list_row_id' values identifying entries to remove from the list. Cannot be combined with 'added' or 'modified'. The base version must have a 'list_row_id' column, and all provided IDs must exist in the base version.","items":{"type":"string"}},"notes":{"type":"string","description":"Optional notes about this version"},"changelog":{"type":"string","description":"Optional changelog for this version"}}},{"title":"Modify List Entries","type":"object","required":["base_version","modified"],"properties":{"base_version":{"type":"object","required":["major_version","minor_version"],"description":"Version to base new minor version on. Provide 'major_version' AND 'minor_version' to reference the existing version to modify entries in. This will create a new minor version.","properties":{"major_version":{"type":"integer"},"minor_version":{"type":"integer"}}},"modified":{"type":"array","description":"Array of replacement entries. Each entry must include a 'list_row_id' matching an existing row in the base version; the entire row is replaced with the provided object. Cannot be combined with 'added' or 'deleted'. All provided 'list_row_id' values must exist in the base version.","items":{"type":"object","required":["list_row_id"],"properties":{"list_row_id":{"type":"string","description":"ID of the row to replace."}},"additionalProperties":true}},"notes":{"type":"string","description":"Optional notes about this version"},"changelog":{"type":"string","description":"Optional changelog for this version"}}},{"title":"Replace List","type":"object","required":["base_version","data"],"properties":{"base_version":{"type":"object","required":["major_version"],"description":"Version to base new minor version on. Provide 'major_version' to reference the existing major version to replace all entries. This will create a new minor version.","properties":{"major_version":{"type":"integer"},"minor_version":{"type":"integer"}}},"data":{"type":"array","description":"Array of data entries to replace all existing entries in the list version.","items":{"type":"object","additionalProperties":true}},"notes":{"type":"string","description":"Optional notes about this version"},"changelog":{"type":"string","description":"Optional changelog for this version"}}},{"title":"Restore as New","type":"object","required":["base_version"],"properties":{"base_version":{"type":"object","required":["major_version","minor_version"],"description":"Version to restore as new. Provide 'major_version' AND 'minor_version' to reference the existing version to restore as new. This will create a new minor version.","properties":{"major_version":{"type":"integer"},"minor_version":{"type":"integer"}}},"notes":{"type":"string","description":"Optional notes about this version"}}}]}}}},"responses":{"201":{"description":"Successfully created custom list version","content":{"application/json":{"schema":{"type":"object","properties":{"custom_list_token":{"type":"string"},"version":{"type":"string"}}}}}},"400":{"description":"Bad request - Invalid Input Data"},"403":{"description":"Forbidden - Insufficient Permissions"},"404":{"description":"Custom List Not Found"}}}},"/custom-lists/{customListToken}/append":{"parameters":[{"in":"path","name":"customListToken","schema":{"type":"string","pattern":"^CI-[\\dA-Za-z]{20}$"},"required":true,"description":"Custom List Token of the list"}],"post":{"tags":["Custom Lists"],"summary":"Append Entries to a Custom List Version","description":"Append entries to the latest minor version of a major version <b>in place</b>, without creating a new version. The entries are added to the existing version and the version string is unchanged. This differs from <code>POST /custom-lists/{customListToken}/versions</code> with an <code>added</code> body, which creates a new minor version. Appends always target the latest minor version of the specified major version.","requestBody":{"required":true,"content":{"application/json":{"schema":{"title":"Append In Place","type":"object","required":["base_version","added"],"properties":{"base_version":{"type":"object","required":["major_version"],"description":"The major version to append entries to. Entries are always appended to the latest minor version of this major version, in place, without creating a new version. Optionally provide 'minor_version' to assert the target; it must match the latest minor version of the major version or the request is rejected.","properties":{"major_version":{"type":"integer"},"minor_version":{"type":"integer"}}},"added":{"type":"array","description":"Array of data entries to append to the latest minor version. Must contain at least one entry.","minItems":1,"items":{"type":"object","additionalProperties":true}}}}}}},"responses":{"200":{"description":"Successfully appended entries to the custom list version","content":{"application/json":{"schema":{"type":"object","properties":{"custom_list_token":{"type":"string","pattern":"^CI-[\\dA-Za-z]{20}$"},"version":{"type":"string","description":"The version string that entries were appended to (unchanged)."}}},"example":{"custom_list_token":"CI-VS4yVbnvfaWm4K5vY2bV","version":"1.0"}}}},"400":{"description":"Bad request - Invalid Input Data, or the target version is not the latest minor version of the major version"},"403":{"description":"Forbidden - Insufficient Permissions"},"404":{"description":"Custom List or Major Version Not Found"},"409":{"description":"Conflict - An append is already in progress for this version"}}}},"/custom-lists/{customListToken}/versions/{version}":{"parameters":[{"in":"path","name":"customListToken","schema":{"type":"string","pattern":"^CI-[\\dA-Za-z]{20}$"},"required":true,"description":"Token of the custom list"},{"in":"path","name":"version","schema":{"type":"string"},"required":true,"description":"Version of the custom list"}],"get":{"tags":["Custom Lists"],"summary":"Get a Specific Custom List Version","description":"Return the data and metadata for a specific version of a custom list","responses":{"200":{"description":"Custom List Version Data","content":{"application/json":{"schema":{"type":"object","properties":{"custom_list_token":{"type":"string","pattern":"^CI-[\\dA-Za-z]{20}$"},"name":{"type":"string"},"description":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"active_version":{"type":"string"},"version":{"type":"object","properties":{"version":{"type":"string"},"major_version":{"type":"integer"},"minor_version":{"type":"integer"},"changelog":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"notes":{"type":"string","nullable":true},"total_entries":{"type":"integer"},"columns":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"contains_pii":{"type":"boolean"},"sort_order":{"type":"integer","nullable":true}}}},"data":{"type":"array","items":{"type":"object","additionalProperties":true}}}}}},"example":{"custom_list_token":"CI-lTjwQPWIKv89cQiEJEf1","name":"My Custom List","description":"My custom list","created_at":"2025-08-13T18:45:40.698Z","active_version":"1.0","version":{"version":"1.0","major_version":1,"minor_version":0,"changelog":null,"created_at":"2025-08-13T18:55:32.615Z","created_by":"API","notes":null,"total_entries":5,"columns":[{"name":"name_first","contains_pii":false,"sort_order":null},{"name":"name_last","contains_pii":false,"sort_order":null}],"data":[{"name_first":"Jane","name_last":"Doe"},{"name_first":"John","name_last":"Smith"},{"name_first":"James","name_last":"Bond"},{"name_first":"Ash","name_last":"Ketchum"}]}}}}},"400":{"description":"Bad request - Invalid Custom List Token or Version"},"403":{"description":"Forbidden - Insufficient Permissions"},"404":{"description":"Custom List or Version Not Found"}}}},"/custom-lists/{customListToken}/activate/{major_version}":{"parameters":[{"in":"path","name":"customListToken","schema":{"type":"string","pattern":"^CI-[\\dA-Za-z]{20}$"},"required":true,"description":"Token of the custom list to activate"},{"in":"path","name":"major_version","schema":{"type":"integer"},"required":true,"description":"Major version number to activate"}],"post":{"tags":["Custom Lists"],"summary":"Activate a Custom List Version","description":"Activate a specific major version of a custom list. The actual list version used in a realtime evaluation will be the latest minor version for the major version.","responses":{"200":{"description":"Successfully activated Custom List Major Version","content":{"application/json":{"schema":{"type":"object","properties":{"custom_list_token":{"type":"string"},"active_major_version":{"type":"number"}}}}}},"400":{"description":"Bad request - Invalid Custom List Token or Version"},"403":{"description":"Forbidden - Insufficient Permissions"},"404":{"description":"Custom List or Version Not Found"}}}},"/documents":{"post":{"tags":["Documents"],"summary":"Describe a Document Before an Entity is Created","requestBody":{"content":{"application/json":{"schema":{"required":["name","extension","type"],"properties":{"name":{"type":"string"},"extension":{"type":"string"},"type":{"type":"string","enum":["contract","license","passport","utility","other","internal","identification_card","residence_permit","canada_provincial_id","indigenous_card","paystub","bank_statement","w2",1099,1120,1065,"t1","t4","w9","deposited_check","voided_check","social_security_card","h1b","passport_card","credit_report","iso_app","brokerage_statement","lease","document","ucc1","incorporation_certificate","good_standing_certificate"]},"note":{"type":"string"},"note_author_agent_email":{"type":"string"}},"example":{"name":"license_photo","extension":"jpg","type":"license","note":"This is a license photo","note_author_agent_email":"cool_agent@fakedomain.net"}}}}},"responses":{"200":{"x-summary":"OK","description":"Document","content":{"application/json":{"schema":{"type":"object","$ref":"#/paths/~1documents~1%7Bdocument_token%7D/put/responses/200/content/application~1json/schema/items"}}}}}}},"/documents/{document_token}":{"parameters":[{"in":"path","name":"document_token","schema":{"type":"string"},"required":true,"description":"Token associated with document."}],"put":{"tags":["Documents"],"summary":"Submit a Document File Before an Entity is Created","description":"Now that the metadata for the file has been specified, you just need to stream the file to the location we’ve allocated for it. The response should be the same as for the preceding `POST` request endpoint except `uploaded` will be true.","requestBody":{"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"responses":{"200":{"x-summary":"OK","description":"Document","content":{"application/json":{"schema":{"type":"array","items":{"properties":{"document_token":{"type":"string"},"type":{"type":"string","enum":["contract","license","passport","utility","other","internal","identification_card","residence_permit","canada_provincial_id","indigenous_card","paystub","bank_statement","w2",1099,1120,1065,"t1","t4","w9","deposited_check","voided_check","social_security_card","h1b","passport_card","credit_report","iso_app","brokerage_statement","lease","document","ucc1","incorporation_certificate","good_standing_certificate"]},"name":{"type":"string"},"extension":{"type":"string"},"uploaded":{"type":"boolean"},"timestamp":{"type":"number"},"approved":{"type":"string"},"approval_agent_email":{"type":"string"},"approval_timestamp":{"type":"number"},"notes":{"type":"array","items":{"properties":{"note":{"type":"string"},"note_author_agent_email":{"type":"string"},"created_at":{"type":"number"},"updated_at":{"type":"number"}}}}}}}}}}}}},"/entities/{entity_token}/documents":{"parameters":[{"in":"path","name":"entity_token","schema":{"type":"string"},"required":true,"description":"Token of entity for associated documents."}],"post":{"tags":["Documents"],"summary":"Describe a Document Before Uploading","description":"The document upload API is a two-step process. First, the metadata for the document is specified, and the API returns a file identifier so the file can be streamed directly to the next endpoint. You’ll need to look for the document_token returned in the response because that is necessary to pass to the next endpoint for streaming the file.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/paths/~1documents/post/requestBody/content/application~1json/schema"}}}},"responses":{"200":{"x-summary":"OK","description":"Document","content":{"application/json":{"schema":{"type":"object","$ref":"#/paths/~1documents~1%7Bdocument_token%7D/put/responses/200/content/application~1json/schema/items"}}}}}},"get":{"tags":["Documents"],"summary":"Get a List of All Documents for an Entity","description":"All documents for an entity can be queried using this endpoint. All metadata for the documents is available, but the documents themselves must be downloaded individually.","responses":{"200":{"x-summary":"OK","description":"Document","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/paths/~1documents~1%7Bdocument_token%7D/put/responses/200/content/application~1json/schema/items"}}}}}}}},"/entities/{entity_token}/documents/{document_token}":{"parameters":[{"in":"path","name":"document_token","schema":{"type":"string"},"required":true,"description":"Token associated with document."},{"in":"path","name":"entity_token","schema":{"type":"string"},"required":true,"description":"Token of entity for associated documents."}],"put":{"tags":["Documents"],"summary":"Submit a Document File for an Entity","description":"Now that the metadata for the file has been specified, you just need to stream the file to the location we’ve allocated for it. The response should be the same as for the preceding `POST` request endpoint except `uploaded` will be true.","requestBody":{"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"responses":{"200":{"x-summary":"OK","description":"Document","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/paths/~1documents~1%7Bdocument_token%7D/put/responses/200/content/application~1json/schema/items"}}}}}}},"patch":{"tags":["Documents"],"summary":"Update Document Metadata","description":"If you want to mark a document as “approved” or “denied” (if you have a document review process), or just change the name or type of a document, you can do so with the PATCH endpoint.","requestBody":{"content":{"application/json":{"schema":{"required":["approved","type","approval_agent_email","name"],"properties":{"approved":{"type":"boolean"},"type":{"type":"string"},"approval_agent_email":{"type":"string"},"name":{"type":"string"}}}}}},"responses":{"200":{"x-summary":"OK","description":"Document","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/paths/~1documents~1%7Bdocument_token%7D/put/responses/200/content/application~1json/schema/items"}}}}}}},"get":{"tags":["Documents"],"summary":"Download a Document","description":"This endpoint will return a file stream of the requested document.","responses":{"200":{"x-summary":"OK","description":"Document","content":{"image/*":{"schema":{"type":"string","format":"binary"}}}}}}},"/entities/{entity_token}/documents/{document_token}/notes":{"parameters":[{"in":"path","name":"document_token","schema":{"type":"string"},"required":true,"description":"Token associated with document."},{"in":"path","name":"entity_token","schema":{"type":"string"},"required":true,"description":"Token of entity for associated documents."}],"post":{"tags":["Documents"],"summary":"Add Notes to a Document","description":"You can add an unlimited amount of notes to a document to keep track of whatever information is needed. All you need is to pass the note along with the email of the author of the note (must be a user associated with your customer account) to this API endpoint.","requestBody":{"content":{"application/json":{"schema":{"required":["note","note_author_agent_email"],"properties":{"note":{"type":"string"},"note_author_agent_email":{"type":"string"}}}}}},"responses":{"200":{"x-summary":"OK","description":"Document","content":{"application/json":{"schema":{"type":"object","$ref":"#/paths/~1documents/post/responses/200/content/application~1json/schema/properties/notes/items"}}}}}}},"/entities/{entity_token}":{"parameters":[{"in":"path","name":"entity_token","schema":{"type":"string"},"required":true,"description":"Token associated with entity."}],"get":{"tags":["Entities"],"summary":"Get Information Related to an Entity","responses":{"200":{"x-summary":"OK","description":"Entity","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"entity_token":{"type":"string"},"archived":{"type":"boolean"},"created":{"type":"number"},"evaluations":{"type":"array","items":{"$ref":"#/paths/~1groups~1%7Bentity_token%7D/get/responses/200/content/application~1json/schema/properties/evaluations/items"}},"documents":{"type":"array","items":{"$ref":"#/paths/~1groups~1%7Bentity_token%7D/get/responses/200/content/application~1json/schema/properties/documents/items"}},"reviews":{"type":"array","items":{"$ref":"#/paths/~1groups~1%7Bentity_token%7D/get/responses/200/content/application~1json/schema/properties/reviews/items"}},"notes":{"type":"array","items":{"properties":{"text":{"type":"string","description":"The contents of the note"},"created_at":{"type":"string","format":"date-time","description":"When the note was created"},"updated_at":{"type":"string","format":"date-time","description":"When the note was updated"},"email":{"type":"string","description":"The email address of the author of the note"},"name":{"type":"string","description":"The name of the author of the note"}}}}}}}}}}}},"/entities/{entity_token}/evaluations/{evaluation_token}":{"parameters":[{"in":"path","name":"entity_token","schema":{"type":"string"},"required":true,"description":"Token associated with entity."},{"in":"path","name":"evaluation_token","schema":{"type":"string"},"required":true,"description":"Token associated with evaluation."}],"get":{"tags":["Entities"],"summary":"Get An Evaluation","description":"If you want to look up the result of a previously-run evaluation, you can use the API to get the exact same response that was returned from POST /evaluations originally. Here is the endpoint for getting that information.","responses":{"200":{"x-summary":"OK","description":"Entity","content":{"application/json":{"schema":{"type":"object","$ref":"#/paths/~1evaluations/post/responses/201/content/application~1json/schema"}}}}}}},"/entities/{entity_token}/notes":{"parameters":[{"in":"path","name":"entity_token","schema":{"type":"string"},"required":true,"description":"Token associated with entity."}],"post":{"tags":["Entities"],"summary":"Add a Note for an Entity","description":"Adds a note to an existing entity.","requestBody":{"content":{"application/json":{"schema":{"required":["note","note_author_agent_email"],"properties":{"note":{"type":"string"},"note_author_agent_email":{"type":"string"}}}}}},"responses":{"200":{"x-summary":"OK","description":"Entity","content":{"application/json":{"schema":{"type":"object","properties":{"entity_token":{"type":"string"},"external_entity_id":{"type":"string"},"note":{"type":"string"},"note_author_agent_email":{"type":"string"},"created_at":{"type":"number"},"updated_at":{"type":"number"}}}}}}}}},"/entities/persons":{"post":{"tags":["Entities"],"summary":"Create a person entity","description":"Creates a person entity","requestBody":{"content":{"application/json":{"schema":{"properties":{"external_entity_id":{"type":"string"},"gender":{"type":"string"},"birth_date":{"type":"string"},"name_first":{"type":"string"},"name_middle":{"type":"string"},"name_last":{"type":"string"},"document_ssn":{"type":"string"},"document_id_card":{"type":"string"},"document_license":{"type":"string"},"document_passport":{"type":"string"},"addresses":{"type":"array","items":{"type":"object"}},"emails":{"type":"array","items":{"type":"object","properties":{"email_address":{"type":"string"}}}},"phones":{"type":"array","items":{"type":"object","properties":{"phone_number":{"type":"string"}}}},"pii_status":{"type":"string","enum":["successful","failed","pending"]}},"example":{"external_entity_id":"person-entity","gender":"male","birth_date":"1998-02-03","name_first":"John","name_last":"Doe","document_ssn":"123456789","document_id_card":null,"document_license":null,"document_passport":null,"addresses":[{"address_line_1":"41 E. 11th","address_city":"New York","address_state":"NY","address_postal_code":"10003","address_country_code":"US","type":"primary"}],"emails":[{"email_address":"john@alloy.com"}],"phones":[{"phone_number":"555-000-1234"}],"pii_status":"successful"}}}}},"responses":{"201":{"x-summary":"OK","description":"Entity","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"string"},"entity_token":{"type":"string"},"external_entity_id":{"type":"string"},"created_at":{"type":"number"},"person_details_updated_at":{"type":"number","description":"When the entity was most recently updated"},"gender":{"type":"string"},"birth_date":{"type":"string"},"name_first":{"type":"string"},"name_middle":{"type":"string"},"name_last":{"type":"string"},"document_ssn":{"type":"string"},"document_id_card":{"type":"string"},"document_license":{"type":"string"},"document_passport":{"type":"string"},"addresses":{"type":"array","items":{"type":"object"}},"emails":{"type":"array","items":{"type":"object","properties":{"email_address":{"type":"string"}}}},"phones":{"type":"array","items":{"type":"object","properties":{"phone_number":{"type":"string"},"type":{"type":"string","example":"home"}}}},"entity_groups":{"type":"array","items":{"type":"object","properties":{"external_entity_group_ids":{"type":"array","items":{"type":"string"}},"entity_group_token":{"type":"string"},"entity_group_name":{"type":"string"},"entity_group_type":{"type":"string","enum":["business","joint_account","membership","merchant"]},"roles":{"type":"array","items":{"type":"string","enum":["primary","shareholder","secondary","beneficiary","beneficial_owner","control_prong","director","authorized_signer","principal_owner","coborrower","joint","guarantor"]}},"ownership_percentage":{"type":"string"},"title":{"type":"string","example":"CEO"},"entity_group_relationship_status":{"type":"string","example":"successful"},"relationship_created_at":{"type":"string","example":"2025-12-08T14:01:00.000Z"},"entity_group_created_at":{"type":"string","example":"2025-12-10T16:19:56.000Z"}}}},"type":{"type":"string","example":"person"},"_embedded":{"type":"object","properties":{"notes":{"type":"array","items":{"$ref":"#/paths/~1entities~1%7Bentity_token%7D/get/responses/200/content/application~1json/schema/properties/notes/items"}},"document_ssns":{"type":"array","items":{"type":"object","properties":{"document_ssn":{"type":"string","description":"The plaintext value of the entity's SSN."},"evaluation_token":{"type":"string","description":"The evaluation in which the SSN was added to the entity"},"created_at":{"type":"number","description":"When the SSN was added to the entity"}}}},"external_entity_ids":{"type":"array","items":{"type":"object","properties":{"external_entity_id":{"type":"string"},"external_entity_id_type":{"type":"string"}}}},"birth_dates":{"type":"array","items":{"type":"object","properties":{"birth_date":{"type":"string","description":"The plaintext value of the entity's date of birth","format":"date"},"evaluation_token":{"type":"string","description":"The evaluation in which the date of birth was added to the entity"},"created_at":{"type":"number","description":"When the date of birth was added to the entity"}}}}}},"_links":{"type":"object","properties":{"self":{"type":"object","properties":{"href":{"type":"string","description":"A link back to this entity"}}}}}},"example":{"entity_token":"P-urpS2U0hekJZW9UHMwAK","external_entity_id":"1234abcd","created_at":1652195922608,"gender":"male","birth_date":"1999-12-31","name_first":"John","name_last":"Doe","document_ssn":"123456789","document_id_card":null,"document_license":null,"document_passport":null,"addresses":[{"address_line_1":"41 E. 11th","address_city":"New York","address_state":"NY","address_postal_code":"10003","address_country_code":"US","type":"primary"}],"emails":[{"email_address":"john@alloy.com"}],"phones":[{"phone_number":"555-000-1234"}],"entity_groups":[{"external_entity_group_ids":["81999dc0-20de-4953-b0b2-2b2f5809c87d"],"entity_group_token":"EG-nqnHfUO9NtkazKzVWVqR","entity_group_name":"Jane's Biscuit Company","entity_group_type":"business","roles":["director","beneficial_owner"],"ownership_percentage":"20","title":"Director of Sales","entity_group_relationship_status":"successful","relationship_created_at":"2025-12-18T14:01:00.000Z","entity_group_created_at":"2025-12-16T14:53:10.538Z"}],"_embedded":{"document_ssns":[{"document_ssn":"123456789","evaluation_token":"L-x8Odl62GlJF93KDEml1d","created_at":1652367121580}],"birth_dates":[{"birth_date":"1999-12-31","evaluation_token":"L-CjsOLGbHtGhNEMd97XN1","created_at":1698681900932}],"external_entity_ids":[{"external_entity_id":"1234abcd","external_entity_id_type":null}],"notes":[{"text":"This is a note","created_at":1698681900932,"updated_at":1698681900932,"email":"janedoe@alloy.com","name":"Jane Doe"}]},"_links":{"self":{"href":"/v1/entities/persons/P-urpS2U0hekJZW9UHMwAK"}}}}}}},"400":{"description":"Missing required fields","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"string"},"error":{"type":"object"},"timestamp":{"type":"string"},"evaluation_token":{"type":"string"},"entity_token":{"type":"string"},"application_token":{"type":"string"},"application_version_id":{"type":"string"}},"example":{"status_code":400,"error":{"minor_code":4002,"type":"Request Body Validation Failure","message":"Your request body contained invalid field(s)","details":{"message":"\"value\" must contain at least one of [name_first, name_last]","path":"value","type":"object.missing","context":{"peers":["name_first","name_last"],"peersWithLabels":["name_first","name_last"],"key":"value"}},"error_token":"u82hfowjwl"},"timestamp":1652205025227,"evaluation_token":null,"entity_token":null,"application_token":"2ohfhwqoq2nm","application_version_id":null}}}}}}}},"/entities/persons/{entity_token}":{"parameters":[{"in":"path","name":"entity_token","schema":{"type":"string"},"required":true,"description":"Person token associated with entity."}],"get":{"tags":["Entities"],"summary":"Get a person entity","description":"Retrieves information associated with specified person entity token \n\nThis endpoint supports the Alloy Entity token or your `external_entity_id`.\n","responses":{"200":{"x-summary":"OK","description":"Entity","content":{"application/json":{"schema":{"type":"object","$ref":"#/paths/~1entities~1persons/post/responses/201/content/application~1json/schema"}}}},"400":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"string"},"error":{"type":"object"},"timestamp":{"type":"string"},"evaluation_token":{"type":"string"},"entity_token":{"type":"string"},"application_token":{"type":"string"},"application_version_id":{"type":"string"}},"example":{"status_code":400,"error":{"minor_code":4013,"type":"Authorization Error","message":"You are not authorized to operate on the specified object or it does not exist.","details":{"entity_token_or_external_id":"provided-token"},"error_token":"u82hfowjwl"},"timestamp":1652205025227,"evaluation_token":null,"entity_token":null,"application_token":"2ohfhwqoq2nm","application_version_id":null}}}}}}},"patch":{"tags":["Entities"],"summary":"Update a person entity","description":"Using a person entity token, update entity with provided information","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/paths/~1entities~1persons/post/requestBody/content/application~1json/schema"},{"properties":{"external_entity_ids":{"type":"array","description":"List of external entity ids to add to the entity. If the entity does not currently have an external entity id, the first item of the array becomes the primary external entity id. Otherwise, the current primary external entity id remains primary unless an item in the array is explicitly designated as primary by using the item's `designation` property. Only one item may be designated as `primary`, and duplicate `external_entity_id` values are not allowed.","items":{"type":"object","required":["external_entity_id"],"properties":{"external_entity_id":{"type":"string","maxLength":65535},"external_entity_id_type":{"type":"string","example":"cif","description":"Optional. A label for categorizing external entity ids. The universal type `cif` is available to all customers. Additional custom types may be configured per-customer."},"designation":{"type":"string","enum":["primary"],"description":"Optional. Set this as `primary` in order to designate the external entity id as primary."}}}}}}]}}}},"responses":{"200":{"x-summary":"OK","description":"Entity","content":{"application/json":{"schema":{"type":"object","$ref":"#/paths/~1entities~1persons/post/responses/201/content/application~1json/schema"}}}}}}},"/entities/businesses":{"post":{"tags":["Entities"],"summary":"Create a business entity","description":"Creates a business entity","requestBody":{"content":{"application/json":{"schema":{"properties":{"external_entity_id":{"type":"string"},"business_name":{"type":"string"},"business_alternate_name":{"type":"string"},"business_registry_id":{"type":"string"},"business_federal_ein":{"type":"string"},"addresses":{"type":"array","items":{"type":"object"}},"emails":{"type":"array","items":{"type":"object","properties":{"email_address":{"type":"string"}}}},"phones":{"type":"array","items":{"type":"object","properties":{"phone_number":{"type":"string"}}}},"pii_status":{"type":"string","enum":["successful","failed","pending"]}},"example":{"external_entity_id":"087ac67e-17ab-4529-8d1a-a8b2214d305f","business_name":"Alloy","business_alternate_name":"DBA First Mile Group","business_registry_id":"123456789","business_federal_ein":"987654321","addresses":[{"address_line_1":"41 E. 11th","address_city":"New York","address_state":"NY","address_postal_code":"10003","address_country_code":"US","type":"business_primary"}],"emails":[{"email_address":"safeandseamless@alloy.com"}],"phones":[{"phone_number":"555-000-1234"}],"pii_status":"successful"}}}}},"responses":{"201":{"x-summary":"OK","description":"Entity","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"string"},"entity_token":{"type":"string"},"external_entity_id":{"type":"string"},"created_at":{"type":"number"},"business_name":{"type":"string"},"business_alternate_name":{"type":"string"},"business_registry_id":{"type":"string"},"business_federal_ein":{"type":"string"},"addresses":{"type":"array","items":{"type":"object"}},"emails":{"type":"array","items":{"type":"object","properties":{"email_address":{"type":"string"}}}},"phones":{"type":"array","items":{"type":"object","properties":{"phone_number":{"type":"string"}}}},"entity_groups":{"type":"array","items":{"$ref":"#/paths/~1entities~1persons/post/responses/201/content/application~1json/schema/properties/entity_groups/items"}},"type":{"type":"string","example":"business"},"_embedded":{"type":"object","properties":{"notes":{"type":"array","items":{"$ref":"#/paths/~1entities~1%7Bentity_token%7D/get/responses/200/content/application~1json/schema/properties/notes/items"}},"external_entity_ids":{"type":"array","items":{"$ref":"#/paths/~1entities~1persons/post/responses/201/content/application~1json/schema/properties/_embedded/properties/external_entity_ids/items"}}}},"_links":{"$ref":"#/paths/~1entities~1persons/post/responses/201/content/application~1json/schema/properties/_links"}},"example":{"entity_token":"B-aCF4FAkGKiTIZJFhproR","external_entity_id":"087ac67e-17ab-4529-8d1a-a8b2214d305f","created_at":1652195922608,"business_name":"Alloy","business_alternate_name":"DBA First Mile Group","business_registry_id":"123456789","business_federal_ein":"987654321","addresses":[{"address_line_1":"41 E. 11th","address_city":"New York","address_state":"NY","address_postal_code":"10003","address_country_code":"US","type":"business_primary"}],"emails":[{"email_address":"safeandseamless@alloy.com"}],"phones":[{"phone_number":"5550001234"}],"entity_groups":[{"external_entity_group_ids":["81999dc0-20de-4953-b0b2-2b2f5809c87d"],"entity_group_token":"EG-nqnHfUO9NtkazKzVWVqR","entity_group_name":"Jane's Biscuit Company","entity_group_type":"business","roles":["primary"],"ownership_percentage":null,"title":null,"entity_group_relationship_status":"successful","relationship_created_at":"2025-12-16T14:53:10.538Z","entity_group_created_at":"2025-12-16T14:53:10.538Z"}],"_embedded":{},"_links":{"self":{"href":"/v1/entities/businesses/B-aCF4FAkGKiTIZJFhproR"}}}}}}},"400":{"description":"Missing required fields","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"string"},"error":{"type":"object"},"timestamp":{"type":"string"},"evaluation_token":{"type":"string"},"entity_token":{"type":"string"},"application_token":{"type":"string"},"application_version_id":{"type":"string"}},"example":{"status_code":400,"error":{"minor_code":4002,"type":"Request Body Validation Failure","message":"Your request body contained invalid field(s)","details":{"message":"\"business_name\" is required","path":"business_name","type":"any.required","context":{"key":"business_name"}},"error_token":"u82hfowjwl"},"timestamp":1652205025227,"evaluation_token":null,"entity_token":null,"application_token":"2ohfhwqoq2nm","application_version_id":null}}}}}}}},"/entities/businesses/{entity_token}":{"parameters":[{"in":"path","name":"entity_token","schema":{"type":"string"},"required":true,"description":"Business token associated with entity."}],"get":{"tags":["Entities"],"summary":"Get a business entity","description":"Retrieves information associated with specified business entity token","responses":{"200":{"x-summary":"OK","description":"Entity","content":{"application/json":{"schema":{"type":"object","$ref":"#/paths/~1entities~1businesses/post/responses/201/content/application~1json/schema"}}}},"400":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"string"},"error":{"type":"object"},"timestamp":{"type":"string"},"evaluation_token":{"type":"string"},"entity_token":{"type":"string"},"application_token":{"type":"string"},"application_version_id":{"type":"string"}},"example":{"status_code":400,"error":{"minor_code":4013,"type":"Authorization Error","message":"You are not authorized to operate on the specified object or it does not exist.","details":{"entity_token_or_external_id":"provided-token"},"error_token":"u82hfowjwl"},"timestamp":1652205025227,"evaluation_token":null,"entity_token":null,"application_token":"2ohfhwqoq2nm","application_version_id":null}}}}}}},"patch":{"tags":["Entities"],"summary":"Update a business entity","description":"Using a business entity token, update entity with provided information","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/paths/~1entities~1businesses/post/requestBody/content/application~1json/schema"},{"$ref":"#/paths/~1entities~1persons~1%7Bentity_token%7D/patch/requestBody/content/application~1json/schema/allOf/1"}]}}}},"responses":{"200":{"x-summary":"OK","description":"Entity","content":{"application/json":{"schema":{"type":"object","$ref":"#/paths/~1entities~1businesses/post/responses/201/content/application~1json/schema"}}}}}}},"/entities/merge":{"post":{"tags":["Entities"],"summary":"Merge two entities","description":"Merge the properties of the secondary entity into the primary entity. Required - one of (primary_entity_token / primary_external_entity_id) and one of (secondary_entity_token and secondary_external_entity_id).","requestBody":{"content":{"application/json":{"schema":{"properties":{"primary_entity_token":{"type":"string","description":"Required if `primary_external_entity_id` is not supplied"},"primary_external_entity_id":{"type":"string","description":"Required if `primary_entity_token` is not supplied"},"secondary_entity_token":{"type":"string","description":"Required if `secondary_external_entity_id` is not supplied"},"secondary_external_entity_id":{"type":"string","description":"Required if `secondary_entity_token` is not supplied"}}}}}},"responses":{"201":{"x-summary":"OK","description":"OK"}}}},"/entity-groups/{entity_token_or_external_id}":{"parameters":[{"in":"path","name":"entity_token_or_external_id","schema":{"type":"string"},"required":true,"description":"Token or external identifier associated with the Entity Group.","example":"EG-80vO8Cy0fMD1vJfZjbEB"}],"get":{"tags":["Entity Groups"],"summary":"Get information about an Entity Group","description":"Using an Entity Group's token or external identifier, get information about the Entity Group and its relationships","responses":{"200":{"x-summary":"Success","description":"Success","content":{"application/json":{"schema":{"properties":{"entity_group_token":{"type":"string"},"entity_group_name":{"type":"string"},"entity_group_type":{"type":"string","enum":["business","joint_account","membership","merchant"]},"created_at":{"type":"string","example":"2025-12-10T16:19:56.000Z"},"archived_at":{"type":"string","example":"2025-12-11T16:19:56.000Z"},"entity_group_external_identifiers":{"type":"array","items":{"type":"string"}},"entity_group_relationships":{"type":"array","items":{"type":"object","properties":{"entity_token":{"type":"string"},"name":{"type":"string"},"type":{"type":"string","enum":["person","business"]},"ownership_percentage":{"type":"string"},"title":{"type":"string","example":"CEO"},"relationship_created_at":{"type":"string","example":"2025-12-08T14:01:00.000Z"},"roles":{"type":"array","items":{"type":"string","enum":["primary","shareholder","secondary","beneficiary","beneficial_owner","control_prong","director","authorized_signer","principal_owner","coborrower","joint","guarantor"]}},"bank_accounts":{"type":"array","items":{"type":"object","properties":{"bank_account_token":{"type":"string"},"external_account_id":{"type":"string"},"account_holder_type":{"type":"string","enum":["primary","secondary","power_of_attorney","authorized_signer","authorized_user","beneficiary","joint_owner","custodian","guardian","trustee"]}}}}}}}},"example":{"entity_group_token":"EG-wnUeDsz7dvC4sbXM9VtA","entity_group_external_identifiers":["087ac67e-17ab-4529-8d1a-a8b2214d305f"],"entity_group_name":"Jane's Biscuit Co.","entity_group_type":"business","created_at":"2025-12-17T22:09:00.684Z","archived_at":"null,","entity_group_relationships":[{"entity_token":"B-v3aBv8wydmqs1h6wTgMI","name":"Jane's Biscuit Co.","type":"business","roles":["primary"],"title":null,"ownership_percentage":null,"relationship_created_at":"2025-12-17T22:09:00.684Z","bank_accounts":[]},{"entity_token":"P-lRE0vrgm2840nxlFgzf0","name":"Jane Doe","type":"person","roles":["director","shareholder"],"title":"Director of Sales","ownership_percentage":"80","relationship_created_at":"2025-12-17T22:09:00.684Z","bank_accounts":[{"bank_account_token":"A-3BHSHBnt6E1QpPfkk7xR","external_account_id":"9348234-127391823-283489","account_holder_type":"authorized_user"}]}]}}}}}}}},"/entity-feedback":{"post":{"tags":["Entity Feedback"],"summary":"Append entity feedback","description":"Insert a list of entity feedback while leaving the rest of the existing entity feedback intact","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"entity_token":{"type":"string"},"external_entity_identifier":{"type":"string"},"evaluation_token":{"type":"string"},"feedback_case_status":{"type":"string","description":"Allowed values are (`\"open\"`, `\"closed\"`, `\"escalated\"`, `\"pending_review\"`)"},"feedback_case_reason":{"type":"string","description":"Allowed values are (`\"aml\"`, `\"confirm_fraud\"`, `\"suspected_fraud\"`, `\"no_issue\"`, `\"other\"`)"},"feedback_fraud_type":{"type":"string","description":"Allowed values are (`\"ato\"`, `\"first_party\"`, `\"second_party\"`, `\"synthetic\"`, `\"check_fraud_deposit\"`, `\"check_fraud_inclearing\"`, `\"check_fraud_cashed\"`, `\"payment_fraud_wire\"`, `\"payment_fraud_ach\"`, `\"payment_fraud_p2p\"`, `\"scam\"`, `\"mule\"`, `\"identity_theft\"`, `\"other\"`)"},"feedback_fraud_channel":{"type":"string","description":"Allowed values are (`\"branch\"`, `\"atm\"`, `\"online\"`, `\"mobile\"`)"},"feedback_entity_status":{"type":"string","description":"Allowed values are (`\"suspect\"`, `\"victim\"`, `\"witness\"`, `\"other\"`)"},"loss_amount":{"type":"number","format":"double","description":"Positive integer"},"exposure_amount":{"type":"number","format":"double","description":"Positive integer"}},"example":{"entity_token":"I-DyXtV1DTODmhZZjhiGG","feedback_case_status":"closed","feedback_case_reason":"confirm_fraud","feedback_fraud_type":"first_party","feedback_fraud_channel":"mobile","feedback_entity_status":"victim","loss_amount":500,"exposure_amount":500}}}}}},"responses":{"200":{"description":"Successfully inserted entity feedback","content":{"application/json":{"schema":{"$ref":"#/paths/~1entity-feedback/get/responses/200/content/application~1json/schema"},"example":{"$ref":"#/paths/~1entity-feedback/get/responses/200/content/application~1json/example"}}}}}},"get":{"tags":["Entity Feedback"],"summary":"Get entity feedback","description":"Get a list of entity feedback","responses":{"200":{"description":"Successfully inserted entity feedback","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"number"},"error":{"type":"object"},"timestamp":{"type":"integer"},"name":{"type":"string"},"data":{"type":"object"}}},"example":{"status_code":201,"error":null,"timestamp":1557675468774,"name":"EntityFeedback","data":{"inserted_entity_feedback":[{"created_at":"2024-01-31T21:27:46.864Z","entity_feedback_id":34,"entity_id":2515720,"exposure_amount":500,"feedback_case_reason_id":2,"feedback_case_status_id":null,"feedback_entity_status_id":null,"feedback_fraud_channel_id":null,"feedback_fraud_type_id":null,"loss_amount":500}],"invalid_entity_feedback":[]}}}}}}}},"/evaluations":{"post":{"summary":"Runs an evaluation","description":"Given a workflow specified by the header, the API will run an evaluation with the provided payload. Alloy's API is dynamic, and thus the input parameters vary depending on which services are run and how the workflow is configured.\n","tags":["Evaluations"],"parameters":[{"in":"header","name":"Authorization","schema":{"type":"string","description":"Basic authorization header per the OAuth Client Authorization Header standard.\n\nThe format is `Basic <auth_string>`, where `<auth_string>` is the base64 encoding of the string `token:secret` (check [Authentication Guide](https://developer.alloy.com/public/docs/authentication-guide) for details).\n"}},{"in":"header","name":"alloy-workflow-token","schema":{"type":"string","description":"If you have migrated to the new API Key Settings page and are using account-level API keys for authentication, this header is required to specify which workflow to use for the evaluation.\n\nIf you have not migrated yet, this header is optional, as the workflow will be determined by the Authorization header using workflow_token.\n"}},{"in":"header","name":"alloy-entity-token","schema":{"type":"string","description":"If running an additional evaluation for an existing entity - the existing entity token can be provided to connect the new evaluation to the entity.\n"}},{"in":"header","name":"alloy-external-entity-id","schema":{"type":"string","description":"A string to identify the entity created by the evaluation in your system.\n"}},{"in":"header","name":"alloy-parent-entity-token","schema":{"type":"string","description":"A token of an entity to be used as a parent entity.\n"}},{"in":"header","name":"alloy-entity-type","schema":{"description":"For transactions workflows, specifies whether the entity associated with\nthe evaluation is a `business` or `person` entity. Defaults to `person`.\n","type":"string","enum":["business","person"]}},{"in":"header","name":"alloy-hydrate-counterparty-data","schema":{"type":"boolean","description":"Optional boolean value, required to be true for using counterparty sanction screening in a transaction workflow.\n"}},{"in":"header","name":"alloy-hydrate-entity-data","schema":{"type":"boolean","description":"Optional boolean value, required to be true for using source entity sanction screening in a transaction workflow.\n"}},{"$ref":"#/paths/~1events~1/parameters/0"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"title":"Evaluation Body","$ref":"#/paths/~1evaluations~1%7Bevaluation_token%7D/patch/requestBody/content/application~1json/schema"},{"title":"Transaction Evaluation Body","allOf":[{"type":"object","allOf":[{"$ref":"#/paths/~1transactions~1%7Btransaction_id%7D/patch/requestBody/content/application~1json/schema/allOf/0"}],"required":["transaction_id","transaction_date","amount","source","destination","currency"]}]}]}}}},"x-samples-languages":["shell"],"responses":{"200":{"description":"Evaluation missing required inputs","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"string"},"error":{"type":"object"},"timestamp":{"type":"number"},"evaluation_token":{"type":"string"},"entity_token":{"type":"string"},"application_token":{"type":"string"},"application_version_id":{"type":"number"},"required":{"type":"array","description":"The required fields for this workflow","items":{"type":"object","properties":{"key":{"type":"string","example":"name_first"},"type":{"type":"string","example":"string"},"description":{"type":"string","example":"First name"},"regex":{"type":"string","example":"^[^d]*$"},"properties":{"type":"object"}}}},"optional":{"type":"array","description":"The optional fields for this workflow","items":{"type":"object","properties":{"key":{"type":"string","example":"email_address"},"type":{"type":"string","example":"string"},"description":{"type":"string","example":"Email address"},"regex":{"type":"string","example":""},"properties":{"type":"object"}}}}}}}}},"201":{"description":"Evaluation created","content":{"application/json":{"schema":{"properties":{"status_code":{"type":"string"},"error":{"type":"object"},"timestamp":{"type":"number"},"evaluation_token":{"type":"string"},"entity_token":{"type":"string"},"application_token":{"type":"string"},"application_version_id":{"type":"number"},"summary":{"type":"object","properties":{"result":{"type":"string"},"score":{"type":"number"},"tags":{"type":"array"},"outcome_reasons":{"type":"array"},"outcome":{"type":"string"},"services":{"type":"object","description":"A map of service names to their execution statuses. Keys are dynamic and represent services in the Workflow.","additionalProperties":{"type":"string","enum":["executed","not_executed","cached","failed"]}},"custom_fields":{"type":"object","description":"A map of custom field names to their values. Keys are dynamic and represent input attributes defined in the Workflow."},"models":{"type":"object","description":"A map of output attribute names to their values. Keys are dynamic and represent output attributes defined in the Workflow."}}},"supplied":{"type":"object"},"formatted":{"type":"object"},"matching":{"type":"object"},"diligence":{"type":"object"},"related_data":{"type":"object"},"raw_responses":{"type":"object"},"formatted_responses":{"type":"object"},"audit_archive":{"type":"object"},"warnings":{"type":"object","description":"Warnings about the evaluation, such as missing data that resulted in a partial response.","properties":{"blocked_actions":{"type":"array","description":"A list of actions (tags, services) that were blocked during the evaluation due to missing data or other issues.","items":{"type":"object","properties":{"blocked":{"type":"object","properties":{"action_name":{"type":"string","description":"The name of the action that was blocked."},"action_type":{"type":"string","description":"The type of the action that was blocked."}}},"blocking":{"type":"object","properties":{"action_name":{"type":"string","description":"The name of the service that caused the block."},"attribute_name":{"type":"string","description":"The specific attribute that caused the block."}}}}}}}}}}}}}}}},"/parameters":{"get":{"summary":"Returns a list of required and optional inputs","description":"Given a workflow specified by the header, the API returns a list of required and optional inputs for running an evaluation through the designated workflow. Alloy's API is dynamic, and thus the input parameters vary depending on which services are run and how the workflow is configured. Hitting the `GET /parameters` endpoint will show exactly what your initial `POST /evaluations` request to the Alloy API should look like. All attributes will either be always required, conditionally required, or optional. For instance, in the example here, you either have to pass `document_ssn` OR both `document_license` and `document_license_state`. Note that this response body is just an example, and the exact parameters of your workflow version will vary.\n","tags":["Evaluations"],"parameters":[{"in":"header","name":"Authorization","schema":{"type":"string","description":"Basic authorization header per the OAuth Client Authorization Header standard.\n\nThe format is `Basic <auth_string>`, where `<auth_string>` is the base64 encoding of the string `token:secret` (check [Authentication Guide](https://developer.alloy.com/public/docs/authentication-guide) for details).\n"}},{"in":"header","name":"alloy-workflow-token","schema":{"type":"string","description":"If you have migrated to the new API Key Settings page and are using account-level API keys for authentication, this header is required to specify which workflow to use for the evaluation.\n\nIf you have not migrated yet, this header is optional, as the workflow will be determined by the Authorization header using workflow_token.\n"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"required":{"type":"array","description":"The required fields for this workflow","items":{"type":"object","properties":{"key":{"type":"string","example":"name_first"},"type":{"type":"string","example":"string"},"description":{"type":"string","example":"First name"},"regex":{"type":"string","example":"^[^d]*$"},"properties":{"type":"object"}}}},"optional":{"type":"array","description":"The optional fields for this workflow","items":{"type":"object","properties":{"key":{"type":"string","example":"email_address"},"type":{"type":"string","example":"string"},"description":{"type":"string","example":"Email address"},"regex":{"type":"string","example":""},"properties":{"type":"object"}}}},"or":{"type":"array","description":"Fields that may be required for this workflow","items":{"type":"object","properties":{"required":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","example":"document_license"},"type":{"type":"string","example":"string"},"description":{"type":"string","example":"US issued drivers license number"},"regex":{"type":"string","example":""},"properties":{"type":"object"}}}}}}}}}}}}}}},"/evaluations/{evaluation_token}":{"parameters":[{"in":"path","name":"evaluation_token","schema":{"type":"string"},"required":true,"description":"Token associated with evaluation.","example":"L-5zKNd6TaKRoUILGAFTD6"}],"get":{"tags":["Evaluations"],"summary":"View Evaluation","responses":{"201":{"x-summary":"OK","description":"Evaluation","content":{"application/json":{"schema":{"type":"object","$ref":"#/paths/~1evaluations/post/responses/201/content/application~1json/schema"}}}}}},"patch":{"summary":"Updates an evaluation","description":"Updates an existing unresolved evaluation (waiting on required inputs), data supplied in the request body will be merged with data supplied from the initial `POST` request.\nNote that `null` values supplied for fields in the request body are treated as \"do not change\" and no updates will happen with those fields.\n","tags":["Evaluations"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Evaluation missing required inputs","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"string"},"error":{"type":"object"},"timestamp":{"type":"number"},"evaluation_token":{"type":"string"},"entity_token":{"type":"string"},"application_token":{"type":"string"},"application_version_id":{"type":"number"},"required":{"type":"array","description":"The required fields for this workflow","items":{"type":"object","properties":{"key":{"type":"string","example":"name_first"},"type":{"type":"string","example":"string"},"description":{"type":"string","example":"First name"},"regex":{"type":"string","example":"^[^d]*$"},"properties":{"type":"object"}}}},"optional":{"type":"array","description":"The optional fields for this workflow","items":{"type":"object","properties":{"key":{"type":"string","example":"email_address"},"type":{"type":"string","example":"string"},"description":{"type":"string","example":"Email address"},"regex":{"type":"string","example":""},"properties":{"type":"object"}}}}}}}}},"201":{"description":"Evaluation updated","content":{"application/json":{"schema":{"$ref":"#/paths/~1evaluations/post/responses/201/content/application~1json/schema"}}}}}}},"/evaluations/{evaluation_token}/auditAccess":{"parameters":[{"in":"path","name":"evaluation_token","schema":{"type":"string"},"required":true,"description":"Token associated with evaluation.","example":"L-5zKNd6TaKRoUILGAFTD6"}],"patch":{"summary":"Update Partial Audit Access for Evaluation","description":"Updates the partial audit access permissions for an evaluation. This endpoint allows child customers in an Embedded Finance setup to grant partial audit access to parent organizations.\n\nPartial audit access enables parent organizations to view specific evaluations without having full access to all data in the child account. This is useful for compliance, monitoring, and oversight purposes while maintaining appropriate data boundaries between organizations.\n\n**Important Notes:**\n- This endpoint can only be called by child customers in an Embedded Finance relationship.\n- Only parent organizations with `partial_audit` access type can be granted access via this endpoint.\n- The request must include the `alloy-audit-account-slugs` header with comma-separated organization slugs.\n- Access is managed at the evaluation, entity, and related resource (e.g., bank accounts) level.\n- Previously granted access can be revoked by omitting the organization slug from subsequent requests.\n","tags":["Evaluations"],"parameters":[{"in":"header","name":"alloy-audit-account-slugs","schema":{"type":"string"},"required":true,"description":"Comma-separated list of parent organization slugs to grant partial audit access. Only organizations with `partial_audit` access type in the Embedded Finance relationship can be included. To revoke access, omit the organization slug from this header in subsequent requests.\n","example":"parent-org-1,parent-org-2"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"identifiers":{"type":"object","description":"Identifiers object (can be empty for this endpoint)","example":{}}}}}}},"responses":{"200":{"description":"Audit access successfully updated","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"integer","example":200},"error":{"nullable":true,"example":null},"timestamp":{"type":"integer","description":"Unix timestamp in milliseconds","example":1700000000000}}}}}},"403":{"description":"Forbidden - Only child customers can update audit access","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"object","properties":{"message":{"type":"string","example":"Invalid account type. Must be a child customer"}}},"timestamp":{"type":"integer","example":1700000000000}}}}}},"404":{"description":"Evaluation not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"minor_code":{"type":"string","example":"EVALUATION_NOT_FOUND"},"type":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"No evaluation exists with the supplied evaluation token"},"details":{"type":"object","example":{}}}}}}}}}}}},"/events/":{"parameters":[{"in":"header","name":"alloy-sandbox-persona-token","schema":{"type":"string","description":"Instead of using the configured business and person identifier (for example, the last name DenyFraud), this header references the corresponding sandbox profile/persona using its sandbox profile token, found on the Sandbox Profile page.\n","example":"E-tSXbp2UBPwiA5a9wsBwN"}}],"post":{"tags":["Events"],"summary":"Create an event","requestBody":{"description":"The post bodies are fully documented in the [Request Specifications](/public/docs/api-request).\n","content":{"application/json":{"schema":{"type":"object","required":["event_type"],"properties":{"event_type":{"type":"string","enum":["person_created","person_updated","business_created","business_updated","bank_account_created","bank_account_updated","external_account_created","external_account_updated","transaction","login","credentials_updated","embedded_authentication","modify_notification","entity_group_created","entity_group_updated","card_created","card_updated"]},"external_event_id":{"type":"string","example":"audit-event-123"},"event_status":{"type":"string","example":"successful","description":"Event statuses are customer-defined values."},"data":{"type":"object","allOf":[{"properties":{"timestamp":{"type":"string","format":"date-time"}},"required":["timestamp"]},{"properties":{"meta":{"type":"object","description":"Reserved for custom fields and data that aren't part of the Events API schema or a vendor-specific schema. Data sent in `meta` is persisted within Alloy so it can be referenced later, but is never sent to third-party data vendors and will never conflict with a field Alloy may add to this schema in the future.\n\nFor example, if you want to save which branch an entity was onboarded at, and there isn't a specific Events API field for that, you can send it via `meta` (e.g. `meta.branch`).\n","additionalProperties":true,"nullable":true},"supplemental_data":{"type":"object","description":"Additional data used as input to any Alloy workflows run off this event. Required fields, if any, depend on the workflows configured for this event type and customer; call the schema endpoint for a given `event_type` to see the current requirements.\n","additionalProperties":true,"nullable":true}}}],"oneOf":[{"title":"Person Created data","required":["external_entity_id"],"allOf":[{"properties":{"external_entity_id":{"type":"string"},"gender":{"type":"string"},"birth_date":{"type":"string"},"document_ssn":{"type":"string"},"name_first":{"type":"string"},"name_last":{"type":"string"},"document_id_card":{"type":"string"},"document_license":{"type":"string"},"document_passport":{"type":"string"},"addresses":{"type":"array","description":"List of addresses for the given entity.\n","items":{"type":"object","description":"Full address for an entity. When `country_code` is `\"US\"`, `state` is also required.\n","required":["line_1","city","postal_code","country_code","type"],"properties":{"type":{"type":"string","description":"Allowed values are (`\"primary\"`, `\"secondary\"`, `\"previous\"`, `\"mailing\"`, `\"shipping\"`, `\"service\"`, `\"other\"`, `\"business_primary\"`, `\"business_secondary\"`, `\"business_previous\"`)","example":"primary"},"line_1":{"type":"string","example":"41 E. 11th"},"line_2":{"type":"string","example":"2nd floor"},"city":{"type":"string","example":"New York"},"state":{"type":"string","description":"Required when `country_code` is `\"US\"`.","example":"NY"},"postal_code":{"type":"string","example":10003},"country_code":{"type":"string","example":"US"}}}},"emails":{"type":"array","description":"List of emails for the given entity.\n","items":{"type":"object","description":"Email for an entity","properties":{"email_address":{"type":"string","example":"events@alloy.com"}}}},"phones":{"type":"array","description":"List of phone numbers for the given entity.\n","items":{"type":"object","description":"Phone for an entity","properties":{"phone_number":{"type":"string","example":5555555555},"type":{"type":"string","enum":["home","cell","fax","work"],"default":"home"}},"required":["phone_number"]}},"status":{"type":"string","enum":["active","inactive"]},"status_detail":{"type":"string","nullable":true,"minLength":1},"status_fraud":{"type":"string","enum":["fraud","not fraud"]}}},{"$ref":"#/paths/~1entities~1persons~1%7Bentity_token%7D/patch/requestBody/content/application~1json/schema/allOf/1"},{"properties":{"entity_groups":{"type":"array","items":{"type":"object","anyOf":[{"title":"Specify Entity Group Token","required":["entity_group_token"]},{"title":"Specify External Entity Group ID","required":["external_entity_group_id"]}],"properties":{"entity_group_token":{"type":"string"},"external_entity_group_id":{"type":"string"},"roles":{"type":"array","items":{"type":"string","enum":["primary","shareholder","secondary","beneficiary","beneficial_owner","control_prong","director","authorized_signer","principal_owner","coborrower","joint","guarantor"]}},"ownership_percentage":{"type":"number"},"title":{"type":"string"}}}}}}]},{"title":"Person Updated data","allOf":[{"$ref":"#/paths/~1events~1/post/requestBody/content/application~1json/schema/properties/data/oneOf/0/allOf/0"},{"properties":{"entity_token":{"type":"string","example":"P-R21gUOQ8rwCvmx8tIscf"}}},{"$ref":"#/paths/~1entities~1persons~1%7Bentity_token%7D/patch/requestBody/content/application~1json/schema/allOf/1"},{"$ref":"#/paths/~1events~1/post/requestBody/content/application~1json/schema/properties/data/oneOf/0/allOf/2"}],"anyOf":[{"title":"Updated by External ID","$ref":"#/paths/~1bank-accounts~1%7Baccount_identifier_or_token%7D/get/responses/200/content/application~1json/schema/allOf/1/properties/entities/items/anyOf/0"},{"title":"Updated by Entity Token","$ref":"#/paths/~1bank-accounts~1%7Baccount_identifier_or_token%7D/get/responses/200/content/application~1json/schema/allOf/1/properties/entities/items/anyOf/1"}]},{"title":"Business Created data","required":["external_entity_id","business_name"],"allOf":[{"properties":{"external_entity_id":{"type":"string"},"business_name":{"type":"string"},"business_alternate_name":{"type":"string"},"business_registry_id":{"type":"string"},"business_federal_ein":{"type":"string"},"addresses":{"type":"array","description":"List of addresses for the given entity.\n","items":{"$ref":"#/paths/~1events~1/post/requestBody/content/application~1json/schema/properties/data/oneOf/0/allOf/0/properties/addresses/items"}},"emails":{"type":"array","description":"List of emails for the given entity.\n","items":{"$ref":"#/paths/~1events~1/post/requestBody/content/application~1json/schema/properties/data/oneOf/0/allOf/0/properties/emails/items"}},"phones":{"type":"array","description":"List of phone numbers for the given entity.\n","items":{"$ref":"#/paths/~1events~1/post/requestBody/content/application~1json/schema/properties/data/oneOf/0/allOf/0/properties/phones/items"}},"status":{"type":"string","enum":["active","inactive"]},"status_detail":{"type":"string","nullable":true,"minLength":1},"status_fraud":{"type":"string","enum":["fraud","not fraud"]}}},{"$ref":"#/paths/~1entities~1persons~1%7Bentity_token%7D/patch/requestBody/content/application~1json/schema/allOf/1"},{"$ref":"#/paths/~1events~1/post/requestBody/content/application~1json/schema/properties/data/oneOf/0/allOf/2"}]},{"title":"Business Updated data","allOf":[{"$ref":"#/paths/~1events~1/post/requestBody/content/application~1json/schema/properties/data/oneOf/2/allOf/0"},{"$ref":"#/paths/~1events~1/post/requestBody/content/application~1json/schema/properties/data/oneOf/1/allOf/1"},{"$ref":"#/paths/~1entities~1persons~1%7Bentity_token%7D/patch/requestBody/content/application~1json/schema/allOf/1"},{"$ref":"#/paths/~1events~1/post/requestBody/content/application~1json/schema/properties/data/oneOf/0/allOf/2"}],"anyOf":[{"title":"Updated by External ID","$ref":"#/paths/~1bank-accounts~1%7Baccount_identifier_or_token%7D/get/responses/200/content/application~1json/schema/allOf/1/properties/entities/items/anyOf/0"},{"title":"Updated by Entity Token","$ref":"#/paths/~1bank-accounts~1%7Baccount_identifier_or_token%7D/get/responses/200/content/application~1json/schema/allOf/1/properties/entities/items/anyOf/1"}]},{"title":"Bank Account Created data","required":["external_account_id","account_number","entities","timestamp"],"allOf":[{"$ref":"#/paths/~1bank-accounts~1%7Baccount_identifier_or_token%7D/get/responses/200/content/application~1json/schema/allOf/1"}]},{"title":"Bank Account Updated data","required":["timestamp"],"allOf":[{"$ref":"#/paths/~1bank-accounts~1%7Baccount_identifier_or_token%7D/get/responses/200/content/application~1json/schema/allOf/1"},{"$ref":"#/paths/~1bank-accounts~1%7Baccount_identifier_or_token%7D/get/responses/200/content/application~1json/schema/allOf/0"}],"anyOf":[{"title":"Updated by External ID","required":["external_account_id"]},{"title":"Updated by Account Token","required":["account_token"]}]},{"title":"Credentials Updated data","anyOf":[{"title":"Specify External Entity ID","required":["external_entity_id"]},{"title":"Specify Entity Token","required":["entity_token"]}],"required":["target","timestamp"],"properties":{"entity_token":{"type":"string"},"external_entity_id":{"type":"string"},"external_credentials_updated_event_identifier":{"type":"string","description":"Unique external identifier for grouping multiple credentials updated events."},"target":{"description":"The user credential attribute that is being updated","type":"string","enum":["2fa","username","password","passkey"]},"channel":{"type":"string","enum":["contact_center","online_banking","in_branch"]},"authenticated_user":{"type":"boolean"},"status":{"type":"string","enum":["pending","successful","failed"]},"device":{"allOf":[{"allOf":[{"$ref":"#/paths/~1events~1/post/requestBody/content/application~1json/schema/properties/data/oneOf/10/properties/device/allOf/0"}],"properties":{"registered_device":{"type":"boolean"}}}]},"2fa":{"allOf":[{"required":["methods"],"properties":{"methods":{"type":"array","items":{"type":"object","properties":{"method":{"type":"string","enum":["email","voice","sms"]},"value":{"type":"string","minLength":1,"maxLength":65535}},"required":["method","value"]}},"required":{"type":"boolean","default":false}}}]},"operation":{"type":"string","enum":["create","delete","update"]}}},{"title":"Embedded Authentication data","required":["embedded_application","external_entity_id","timestamp"],"properties":{"embedded_application":{"description":"The application that is embedded in the host application, e.g. Zelle","type":"string","enum":["zelle","billpay"]},"external_entity_id":{"description":"External ID of the entity interacting with the embedded application","type":"string"},"external_embedded_authentication_id":{"description":"Unique external identifier for grouping multiple embedded authentication events","type":"string"},"device":{"allOf":[{"$ref":"#/paths/~1events~1/post/requestBody/content/application~1json/schema/properties/data/oneOf/6/properties/device/allOf/0"}]}}},{"title":"External Account Created data","required":["timestamp","external_account_id","entities"],"allOf":[{"$ref":"#/paths/~1bank-accounts~1%7Baccount_identifier_or_token%7D/get/responses/200/content/application~1json/schema/allOf/1"},{"properties":{"link_timestamp":{"type":"string","format":"date-time","description":"ISO 8601 timestamp of when the external account was linked to the entity. If omitted, Alloy uses the top-level `timestamp` value from the `external_account_created` event.","example":"2024-06-01T12:00:00.000Z","nullable":true}}}]},{"title":"External Account Updated data","required":["timestamp"],"allOf":[{"$ref":"#/paths/~1bank-accounts~1%7Baccount_identifier_or_token%7D/get/responses/200/content/application~1json/schema/allOf/1"},{"$ref":"#/paths/~1bank-accounts~1%7Baccount_identifier_or_token%7D/get/responses/200/content/application~1json/schema/allOf/0"},{"$ref":"#/paths/~1events~1/post/requestBody/content/application~1json/schema/properties/data/oneOf/8/allOf/1"},{"properties":{"unlink_timestamp":{"type":"string","format":"date-time","description":"ISO 8601 timestamp of when the external account was unlinked from the entity. When provided, Alloy records this as the time the account association ended.","example":"2024-09-15T08:30:00.000Z","nullable":true}}}],"anyOf":[{"title":"Updated by External ID","$ref":"#/paths/~1events~1/post/requestBody/content/application~1json/schema/properties/data/oneOf/5/anyOf/0"},{"title":"Updated by Account Token","$ref":"#/paths/~1events~1/post/requestBody/content/application~1json/schema/properties/data/oneOf/5/anyOf/1"}]},{"title":"Login data","anyOf":[{"title":"Specify External Entity ID","required":["external_entity_id"]},{"title":"Specify Entity Token","required":["entity_token"]}],"required":["login_method","timestamp"],"properties":{"entity_token":{"type":"string"},"external_entity_id":{"type":"string"},"external_login_id":{"type":"string","description":"Unique identifier for grouping multiple login events into a single login."},"username":{"type":"string"},"login_method":{"type":"string","enum":["biometric","password","sso","passwordless"]},"sso":{"type":"string","enum":["okta","google","apple"]},"status":{"type":"string","enum":["attempted","failed","mfa","rejected","successful"]},"device":{"allOf":[{"properties":{"external_device_id":{"type":"string"},"ip_address_v4":{"type":"string"},"ip_address_v6":{"type":"string"}}}]}}},{"title":"Modify Notification data","anyOf":[{"title":"Specify External Entity ID","required":["external_entity_id"]},{"title":"Specify Entity Token","required":["entity_token"]}],"required":["timestamp"],"properties":{"entity_token":{"type":"string"},"external_entity_id":{"type":"string"},"external_modify_notification_event_identifier":{"type":"string","description":"Unique external identifier for grouping multiple modify_notification events."},"notification":{"type":"object","properties":{"type":{"type":"string","enum":["account","general","security","transaction"]},"subtype":{"type":"string","minLength":1}},"required":["type","subtype"]},"notification_target":{"type":"array","items":{"type":"object","properties":{"method":{"type":"string","enum":["email","voice","sms","message_center","push_notification"]},"value":{"type":"string","minLength":1}},"required":["method","value"]}},"enabled":{"type":"boolean"},"operator":{"type":"string","enum":["less_than","greater_than","equals"]},"external_account_id":{"type":"string"},"amount":{"type":"integer"},"device":{"allOf":[{"$ref":"#/paths/~1events~1/post/requestBody/content/application~1json/schema/properties/data/oneOf/6/properties/device/allOf/0"}]}}},{"title":"Transaction data","allOf":[{"properties":{"external_transaction_id":{"description":"Unique external identifier for the transaction.","type":"string"},"amount":{"description":"Amount in cents. +/- indicate direction of funds.","type":"integer"},"currency":{"description":"3-character currency code (e.g. \"USD\")","type":"string"},"entity_token":{"type":"string"},"external_entity_id":{"type":"string"},"external_account_id":{"type":"string"},"counterparty":{"type":"object","anyOf":[{"title":"Specify Account Number","required":["account_number"]},{"title":"Specify External Counterparty ID","required":["external_counterparty_id"]}],"properties":{"external_counterparty_id":{"type":"string"},"name_first":{"type":"string"},"name_last":{"type":"string"},"routing_number":{"type":"string"},"account_number":{"type":"string"},"counterparty_type":{"type":"string"},"account_name":{"type":"string"},"address_line_1":{"type":"string"},"address_line_2":{"type":"string"},"address_city":{"type":"string"},"address_state":{"type":"string"},"address_postal_code":{"type":"string"},"address_country_code":{"type":"string"},"card_network":{"type":"string"},"merchant_category_code":{"type":"string"},"name_on_card":{"type":"string"},"avs":{"type":"string"},"description":{"type":"string"},"merchant_category_description":{"type":"string"},"currency":{"type":"string"}}},"category":{"description":"Splits process_method into more granular values. Allowed values are (`\"Adjustment\"`, `\"ATM Rebate\"`, `\"Bill Pay\"`, `\"Chargeback\"`, `\"Deposit\"`, `\"Direct Deposit Bonus\"`, `\"Interest\"`, `\"Overdraft Fee\"`, `\"Payment\"`, `\"Promo\"`, `\"Purchase\"`, `\"Purchase Return\"`, `\"Return\"`, `\"Service Charge\"`, `\"Withdrawal\"`, `null`)","type":"string","nullable":true,"enum":["Adjustment","ATM Rebate","Bill Pay","Chargeback","Deposit","Direct Deposit Bonus","Interest","Overdraft Fee","Payment","Promo","Purchase","Purchase Return","Return","Service Charge","Withdrawal"]},"transaction_settled_at":{"description":"The datetime the transaction was settled in the customer's system (Valid Format: YYYY-MM-DD'T'HH:MM:SS'Z'). Currently not used in decisioning.","type":"string","nullable":true,"format":"date-time"},"description":{"description":"A description of the transaction. Currently not used in decisioning.","type":"string","nullable":true},"type_code":{"description":"The raw type code of the transaction.  There should be a 1:1 mapping from type_code to type_description provided to Alloy.","type":"string","nullable":true},"type_description":{"description":"Description of the type code. There should be a 1:1 mapping from type_code to type_description provided to Alloy. Currently not used in decisioning.","type":"string","nullable":true},"is_approved":{"description":"If the transaction was approved by the customer","type":"boolean","nullable":true},"is_reversal":{"description":"If the transaction is a refund","type":"boolean","nullable":true},"process_method":{"description":"Platform or process method of the transaction. Allowed values are (`\"Card\"`, `\"Internal\"`, `\"Check\"`, `\"P2P\"`, `\"ACH\"`, `\"Cash\"`, `\"Wire\"`, `RTP`, `null`)","type":"string","nullable":true,"enum":["Card","Internal","Check","P2P","ACH","Cash","Wire"]},"is_triggered_by_user":{"description":"Whether the transaction is initiated by the source entity. Mainly used to distinguish betweeh ACH push and pull","type":"boolean","nullable":true},"interaction_point":{"description":"Where the transaction took place. Allow values are (`\"Android\"`, `\"ATM\"`, `\"Card Swipe Terminal\"`, `\"iOS\"`, `\"Mobile\"`, `\"Online Form\"`, `\"Point of Sale\"`, `\"Teller\"`, `\"3rd Party App\"`, `null`)","type":"string","nullable":true,"enum":["Android","ATM","Card Swipe Terminal","iOS","Mobile","Online Form","Point of Sale","Teller","3rd Party App"]},"linked_transactions":{"type":"array","description":"List of transactions linked to the given transaction.","items":{"type":"object","description":"Linked transaction details.","oneOf":[{"required":["external_transaction_id"]},{"required":["transaction_token"]}],"required":["reason"],"properties":{"external_transaction_id":{"type":"string","description":"External transaction ID of the linked transaction."},"transaction_token":{"type":"string","description":"Transaction token of the linked transaction."},"reason":{"type":"string","description":"Reason for linking the transaction.","example":"Chargeback"}}}},"return_code":{"description":"This represents the Alphanumeric ACH return Code. (e.g. R01)","type":"string","nullable":true},"return_code_reason":{"description":"Allowed values are (`\"Unauthorized\"`, `null`). Currently not used in decisioning.","type":"string","nullable":true,"enum":["Unauthorized"]},"status":{"description":"Allowed values are (`\"Acknowledged\"`, `\"Accepted\"`, `\"Rejected\"`, `\"Paused\"`, `\"Pending\"`, `\"Completed\"`, `\"Declined\"`, `\"Cancelled\"`, `null`)","type":"string","nullable":true,"enum":["Acknowledged","Accepted","Rejected","Paused","Pending","Completed","Declined","Cancelled"]},"status_detail":{"description":"Additional description on transaction status. Currently not used in decisioning.","type":"string","nullable":true},"response_code":{"description":"Response codes returned on card transactions","type":"number","nullable":true},"iso_message":{"description":"ISO standard value returned on card transactions","type":"number","nullable":true},"entry_mode":{"description":"POS entry modes on card transactions","type":"number","nullable":true},"timestamp":{"description":"The datetime the transaction was created in the customer's system (Valid Format: YYYY-MM-DD'T'HH:MM:SS'Z').","type":"string","format":"date-time"}},"additionalProperties":{"description":"Custom data can be added to the transaction request body"}}],"required":["external_transaction_id","transaction_created_date","amount","counterparty","currency"],"anyOf":[{"title":"Specify External IDs","required":["external_entity_id","external_account_id"]},{"title":"Specify Alloy Tokens","required":["entity_token","account_token"]}]},{"title":"Entity Group Created data","required":["timestamp","external_entity_group_ids","entities"],"properties":{"name":{"type":"string"},"type":{"type":"string","enum":["business","joint_account","membership","merchant"]},"entities":{"type":"array","items":{"type":"object","anyOf":[{"title":"Specify External Entity ID","required":["external_entity_id"]},{"title":"Specify Entity Token","required":["entity_token"]}],"properties":{"external_entity_id":{"type":"string"},"entity_token":{"type":"string"},"roles":{"type":"array","items":{"type":"string","enum":["primary","shareholder","secondary","beneficiary","beneficial_owner","control_prong","director","authorized_signer","principal_owner","coborrower","joint","guarantor"]}},"title":{"type":"string"},"ownership_percentage":{"type":"number"},"bank_accounts":{"type":"array","items":{"type":"object","anyOf":[{"title":"Specify External Account ID","required":["external_account_id"]},{"title":"Specify Account Token","required":["account_token"]}],"properties":{"external_account_id":{"type":"string"},"account_token":{"type":"string"},"role":{"type":"string","enum":["primary","secondary","power_of_attorney","authorized_signer","authorized_user","beneficiary","joint_owner","custodian","guardian","trustee"]}}}}}}},"external_entity_group_ids":{"type":"array","items":{"type":"object","properties":{"external_entity_id":{"type":"string"},"type":{"type":"string"},"designation":{"type":"string","enum":["primary"]}},"required":["external_entity_id"]}}}},{"title":"Entity Group Updated data","anyOf":[{"title":"Specify External Entity Group ID","required":["external_entity_group_ids"]},{"title":"Specify Entity Group Token","required":["entity_group_token"]}],"required":["timestamp"],"properties":{"entity_group_token":{"type":"string"},"name":{"type":"string","description":"This can only be updated if the entity group doesn't already have a name"},"type":{"type":"string","description":"This can only be updated if the entity group doesn't already have a type","enum":["business","joint_account","membership","merchant"]},"archive_entity_group":{"type":"boolean"},"entities":{"type":"array","items":{"type":"object","anyOf":[{"title":"Specify External Entity ID","required":["external_entity_id"]},{"title":"Specify Entity Token","required":["entity_token"]}],"properties":{"external_entity_id":{"type":"string"},"entity_token":{"type":"string"},"roles":{"type":"string","enum":["primary","shareholder","secondary","beneficiary","beneficial_owner","control_prong","director","authorized_signer","principal_owner","coborrower","joint","guarantor"]},"title":{"type":"string"},"ownership_percentage":{"type":"number"},"remove_entity":{"type":"boolean","description":"If true, this removes the entity from the entity group"},"bank_accounts":{"type":"array","items":{"type":"object","anyOf":[{"title":"Specify External Account ID","required":["external_account_id"]},{"title":"Specify Account Token","required":["account_token"]}],"properties":{"external_account_id":{"type":"string"},"account_token":{"type":"string"},"role":{"type":"string","enum":["primary","secondary","power_of_attorney","authorized_signer","authorized_user","beneficiary","joint_owner","custodian","guardian","trustee"]},"remove_bank_account":{"type":"boolean","description":"If true, this removes the bank account from the entity"}}}}}}},"external_entity_group_ids":{"type":"array","description":"This can be used to identify the entity group to update (for existing external IDs) and to add additional external IDs","items":{"type":"object","properties":{"external_entity_id":{"type":"string"},"type":{"type":"string"},"designation":{"type":"string","enum":["primary"]}},"required":["external_entity_id"]}}}},{"title":"Card Created data","$ref":"#/paths/~1events~1/post/requestBody/content/application~1json/schema/properties/data/oneOf/16/allOf/0"},{"title":"Card Updated data","allOf":[{"required":["external_card_id","external_entity_id","timestamp"],"properties":{"external_card_id":{"type":"string"},"external_entity_id":{"type":"string"},"card_name":{"type":"string"},"product_name":{"type":"string"},"product_code":{"type":"string"},"card_type":{"type":"string","enum":["debit","credit","prepaid","charge"]},"form_factor":{"type":"string","enum":["physical","virtual"]},"issued_at":{"type":"string","format":"date-time"},"expiry_month":{"type":"string","description":"Month from 1-12 (e.g. 1, 01, 12)"},"expiry_year":{"type":"string","description":"Four-digit year (e.g. 2027)"},"pin_updated_at":{"type":"string","format":"date-time"},"pin_update_method":{"type":"string","enum":["app","ivr","agent","atm","other"]},"is_locked":{"type":"boolean"},"lock_expires_at":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["active","inactive","deactivated","terminated","pending_activation","expired"]},"status_detail":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"entities":{"type":"array","items":{"type":"object","required":["card_holder_type","external_entity_id"],"properties":{"card_holder_type":{"type":"string","enum":["primary","secondary","authorized_user"]},"external_entity_id":{"type":"string"}}}},"accounts":{"type":"array","items":{"type":"object","required":["external_account_id","account_type"],"properties":{"external_account_id":{"type":"string"},"account_type":{"type":"string","enum":["primary","secondary"]}}}},"replaces_external_card_id":{"type":"string"},"replacement_reason":{"type":"string"},"external_entity_group_id":{"type":"string"},"entity_group_token":{"type":"string"}}}]}]}}}}}},"responses":{"201":{"x-summary":"OK","description":"Event has been processed","content":{"application/json":{"schema":{"type":"object","allOf":[{"properties":{"status_code":{"type":"string"},"_links":{"type":"object","properties":{"self":{"type":"object","properties":{"_href":{"type":"string"}}}}},"event":{"type":"object","properties":{"event_type":{"type":"string"},"event_status":{"type":"string"},"data":{"type":"object","description":"data saved from event"},"evaluations":{"type":"array","description":"list of source workflows ran"},"journey_applications":{"type":"array","description":"list of journey applications created","items":{"type":"object","properties":{"error":{"type":"string"},"journey_application_token":{"type":"string"},"journey_application_status":{"type":"string"},"journey_token":{"type":"string"},"journey_version_id":{"type":"number"},"source_evaluation_tokens":{"type":"array","items":{"type":"string"}},"investigations":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications~1%7Bjourney_application_token%7D/get/responses/200/content/application~1json/schema/properties/_embedded/properties/investigations"},"_links":{"type":"object","properties":{"self":{"type":"object","properties":{"href":{"type":"string"}}}}}}}}}},"error":{"type":"object","description":"error details"}}}],"example":{"status_code":201,"event_request_token":"EV-xi7Etep0gW7gZiuWsqXG","_links":{"self":{"href":"/v1/events/EV-xi7Etep0gW7gZiuWsqXG"}},"event":{"event_type":"person_created","event_status":"PROCESSED","data":{"entity_token":"P-R21gUOQ8rwCvmx8tIscf","external_entity_id":"087ac67e-17ab-4529-8d1a-a8b2214d305f","created_at":1701878665579,"person_details_updated_at":1701878665619,"gender":null,"birth_date":null,"name_first":"John","name_middle":null,"name_last":"Smith","document_ssn":null,"document_license":null,"document_passport":null,"addresses":[],"emails":[],"phones":[],"type":"person","_embedded":{"document_ssns":[],"birth_dates":[]},"_links":{"self":{"href":"/v1/entities/persons/P-R21gUOQ8rwCvmx8tIscf"}}},"evaluations":[{"error":null,"evaluation_token":"L-Ro4OHzXIkRVf4J9z0aAA","workflow_token":"token","workflow_version_id":8,"prefiltered":false,"summary":{"result":"success","outcome":"Approved","tags":[]},"_links":{"self":{"href":"/v1/evaluations/L-Ro4OHzXIkRVf4J9z0aAA"}}}],"journey_applications":[{"error":null,"journey_application_token":"JA-s2cgOok19WgykpSqcm29","journey_token":"J-JrtCVvSP1iUDhJy3xtCp","journey_version_id":5,"source_evaluation_tokens":["L-Ro4OHzXIkRVf4J9z0aAA"],"investigations":[{"investigation_token":"INV-gBg9JCX0AoSWjer5zU0o","investigation_state":"alert_review"}],"_links":{"self":{"href":"/v1/journeys/J-JrtCVvSP1iUDhJy3xtCp/applications/JA-s2cgOok19WgykpSqcm29"}}}]}}}}}},"400":{"x-summary":"ERROR","description":"Validation Error","content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/paths/~1events~1/post/responses/201/content/application~1json/schema/allOf/0"}],"example":{"status_code":400,"event_request_token":"EV-xi7Etep0gW7gZiuWsqXG","_links":{"self":{"href":"/v1/events/EV-xi7Etep0gW7gZiuWsqXG"}},"event":{"event_type":"person_created","event_status":"ERROR","evaluations":[],"journey_applications":[]},"error":{"issues":[{"code":"invalid_type","expected":"string","received":"undefined","path":["external_entity_id"],"message":"Required"}],"name":"ValidationError","statusCode":400,"status":400}}}}}},"409":{"x-summary":"CONFLICT","description":"Conflict on object","content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/paths/~1events~1/post/responses/201/content/application~1json/schema/allOf/0"}],"example":{"status_code":409,"event_request_token":"EV-xi7Etep0gW7gZiuWsqXG","_links":{"self":{"href":"/v1/events/EV-xi7Etep0gW7gZiuWsqXG"}},"event":{"event_type":"person_created","event_status":"ERROR","evaluations":[],"journey_applications":[]},"error":{"message":"Entity 087ac67e-17ab-4529-8d1a-a8b2214d305f","exists":null}}}}}}}}},"/events/{event_request_token}":{"get":{"tags":["Events"],"summary":"Get an event by token","description":"Retrieves a previously submitted event by its event request token, including the original request body.","parameters":[{"in":"path","name":"event_request_token","schema":{"type":"string","example":"EV-xi7Etep0gW7gZiuWsqXG"},"required":true,"description":"The event request token returned when the event was created."}],"responses":{"200":{"x-summary":"OK","description":"Event found","content":{"application/json":{"schema":{"type":"object","properties":{"event_request_token":{"type":"string","example":"EV-xi7Etep0gW7gZiuWsqXG"},"event_type":{"type":"string","description":"The type of event that was submitted.","example":"person_created"},"events_api_type_id":{"type":"integer","description":"Internal numeric identifier for the event type."},"event_status_id":{"type":"integer","nullable":true,"description":"Internal identifier for the event status, if one was assigned."},"event_lifecycle_id":{"type":"string","nullable":true,"maxLength":128,"description":"Lifecycle identifier for grouping related events."},"external_event_id":{"type":"string","nullable":true,"description":"External event identifier provided in the original request."},"event_request_status_type_id":{"type":"integer","nullable":true,"description":"Status type of the event request (e.g. processed, error)."},"event_request_source":{"type":"string","nullable":true,"description":"Source of the event request (e.g. API, batch ingestion)."},"ingestion_batch_token":{"type":"string","nullable":true,"description":"Token of the ingestion batch, if the event was submitted via batch."},"upserted_events_type_id":{"type":"integer","nullable":true,"description":"For upserted events, indicates whether the upsert resolved to a create or update."},"timestamp":{"type":"string","format":"date-time","description":"Timestamp of when the event request was recorded."},"body":{"type":"object","description":"The original request body that was submitted with the event."}},"example":{"event_request_token":"EV-xi7Etep0gW7gZiuWsqXG","event_type":"person_created","events_api_type_id":1,"event_status_id":null,"event_lifecycle_id":null,"external_event_id":"audit-event-123","event_request_status_type_id":1,"event_request_source":null,"ingestion_batch_token":null,"upserted_events_type_id":null,"timestamp":"2024-12-06T17:04:25.579Z","body":{"event_type":"person_created","data":{"external_entity_id":"087ac67e-17ab-4529-8d1a-a8b2214d305f","name_first":"John","name_last":"Smith","timestamp":"2024-12-06T17:04:25.579Z"}}}}}}},"404":{"x-summary":"NOT FOUND","description":"Event not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"EV-xi7Etep0gW7gZiuWsqXG not found"}}}}}}}}},"/events/schema":{"get":{"tags":["Events"],"summary":"Get the schema for request event type","description":"Retrieves the schema for requested event type","parameters":[{"in":"query","name":"type","schema":{"type":"string","enum":["person_created","person_updated","business_created","business_updated","bank_account_created","bank_account_updated","external_account_created","external_account_updated","transaction","login","credentials_updated","embedded_authentication","entity_group_created","entity_group_updated"],"example":"login"},"required":true,"description":"The type of event for the schema."}],"responses":{"200":{"x-summary":"OK","description":"Returns the schema for specified events. If a workflow is attached to event, will also include supplemental data for the workflow","content":{"application/json":{"schema":{"type":"object","example":{"status_code":200,"type":"Object","event_type":{"type":"string","enum":["login"]},"external_event_id":{"type":"string","nullable":true},"data":{"timestamp":{"type":"string"},"supplemental_data":{"type":"object","properties":{}}}}}}}},"400":{"x-summary":"ERROR","description":"Validation Error","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/groups/{entity_token}":{"parameters":[{"in":"path","name":"entity_token","schema":{"type":"string"},"required":true,"description":"Token associated with entity."}],"get":{"deprecated":true,"tags":["Groups"],"summary":"Get Information Related to a Group","description":"<Callout type=\"warning\" title=\"Deprecated Warning\">\n  This endpoint is deprecated in favor of using [Entity Groups](/reference/get_entity-groups-entity-token-or-external-id).\n</Callout>\n","responses":{"200":{"description":"Get all information for a group","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"entity_token":{"type":"string"},"archived":{"type":"boolean"},"meta":{"type":"object"},"external_entity_id":{"type":"string"},"created":{"type":"number"},"identity_details":{"type":"object"},"evaluations":{"type":"array","items":{"properties":{"evaluation_token":{"type":"string"},"timestamp":{"type":"number"},"status":{"type":"string"},"application_name":{"type":"string"},"outcome":{"type":"string"}}}},"documents":{"type":"array","items":{"properties":{"document_token":{"type":"string"},"timestamp":{"type":"number"},"type":{"type":"string"},"name":{"type":"string"}}}},"reviews":{"type":"array","items":{"properties":{"review_token":{"description":"Unique ID for the Review.","type":"string"},"entity_token":{"description":"Unique ID for the Entity associated with the Review. Depending on how the Review is created, this value can also point to a Group Token.","type":"string"},"group_token":{"description":"Unique ID for the Group (of Entities) associated with the Review.","type":"string"},"application_token":{"description":"Unique ID for the Application (Workflow) associated with the Review. If Review is created via the API, this is determined by the authentication tokens used.","type":"string"},"outcome":{"description":"Outcome of the Review. Value should equal an Outcome that's defined in your Alloy account settings.","type":"string"},"application_name":{"description":"Name of the Application (Workflow) associated with this Review. If Review is created via the API, this is determined by the authentication tokens used.","type":"string"},"reviewer":{"description":"Email of the Agent that created the Review.","type":"string"},"timestamp":{"description":"Unix timestamp when the Review was created.","type":"number"},"reasons":{"type":"array","description":"Array of reasons for this Review and the Review's Outcome. Value should should equal a Review Reason that's defined in your Alloy account settings.","items":{"type":"string"}},"agent":{"type":"object","properties":{"email":{"description":"Valid email of agent with Alloy account access.","type":"string"},"external_id":{"description":"Unique external ID associated with the Agent, if any.","type":"string"}}},"notes":{"type":"array","description":"Array of notes associated with the Review, if any.","items":{"properties":{"note":{"description":"Content to include in the body of the note.","type":"string"},"note_author_agent_email":{"description":"Valid email of agent with Alloy account access, associated with creation of the note.","type":"string"},"created_at":{"description":"Unix timestamp when the note was created.","type":"number"},"updated_at":{"description":"Unix timestamp when the note was last updated.","type":"number"}}}}}}},"child_entities":{"type":"array","$ref":"#/paths/~1entities~1%7Bentity_token%7D/get/responses/200/content/application~1json/schema"}}}}}}}}},"/groups/{groupToken}/evaluations":{"parameters":[{"in":"path","name":"groupToken","schema":{"type":"string"},"required":true,"description":"Token associated with group."}],"post":{"tags":["Groups"],"summary":"Post a Group Evaluation","description":"<Callout type=\"warning\" title=\"Deprecated Warning\">\n  This endpoint is deprecated in favor of using Entity Groups in Journeys.\n</Callout>\n\nGiven a workflow with a Group Service, this endpoint can evaluate a group of entities.\n","responses":{"200":{"description":"Group Evaluation","content":{"application/json":{"schema":{"type":"object","$ref":"#/paths/~1evaluations/post/responses/201/content/application~1json/schema"}}}}}}},"/groups/{groupToken}/notes":{"parameters":[{"in":"path","name":"groupToken","schema":{"type":"string"},"required":true,"description":"Token associated with group."}],"post":{"tags":["Groups"],"summary":"Add note to a group","description":"<Callout type=\"warning\" title=\"Deprecated Warning\">\n  This endpoint is deprecated in favor of using Entity Groups in Journeys.\n</Callout>\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"note_author_agent_email":{"type":"string"},"note":{"type":"string"}}}}}},"responses":{"200":{"description":"Group Notes","content":{"application/json":{"schema":{"type":"object","properties":{"document_token":{"type":"string"},"note":{"type":"string"},"note_author_agent_email":{"type":"string"},"created_at":{"type":"number"},"updated_at":{"type":"number"}}}}}}}}},"/investigations":{"get":{"tags":["Investigations"],"summary":"Get list of Investigations","description":"Retrieves a filterable paginated list of investigations","parameters":[{"in":"query","name":"q","schema":{"type":"object","description":"Object to hold the investigations filters","properties":{"statuses":{"type":"string","description":"Listed by [Get Investigation filters](https://developer.alloy.com/public/reference/get_investigations-filters). E.g. `[\"alert_review\"]`."},"types":{"type":"string","description":"Listed by [Get Investigation filters](https://developer.alloy.com/public/reference/get_investigations-filters). E.g. `[\"Fraud\"]`."},"assignedAgents":{"type":"string","description":"Listed by [Get Investigation filters](https://developer.alloy.com/public/reference/get_investigations-filters). E.g. `[\"AG-L83m6iTwcXdNg3CHndS4\"]`"},"entityTokens":{"type":"string","description":"E.g. `[\"P-KaKZxdSGnbxXfKXnXdyp\"]`"},"investigationTokens":{"type":"string","description":"E.g. `[\"INV-EAx2xoAsqF1ibKTQzkXV\"]`"},"externalEntityIds":{"type":"string","description":"E.g. `[\"external_entity_id\"]`"},"deviceIds":{"type":"string","description":"E.g. `[\"device_vendor_identifier\"]`"},"programNames":{"type":"string","description":"E.g. `[\"program_name\"]`"},"includeClosed":{"type":"boolean"},"archived":{"type":"boolean","description":"E.g. `false`"},"createdAtFrom":{"type":"number","description":"E.g. `1737742979`"},"createdAtTo":{"type":"number","description":"E.g. `1737742979`"},"updatedAtFrom":{"type":"number","description":"E.g. `1737742979`"},"updatedAtTo":{"type":"number","description":"E.g. `1737742979`"}}}},{"in":"query","name":"pageNum","schema":{"type":"number","description":"Which page number to return. Default is 1","default":1}},{"in":"query","name":"numRowsPerPage","schema":{"type":"number","description":"Limits results per page. Up to 100.","default":20}},{"in":"query","name":"sortColumn","schema":{"type":"string","enum":["updated_at","created_at","total_alerts","risk_score"],"default":"created_at"}},{"in":"query","name":"sortOrder","schema":{"type":"string","enum":["DESC","ASC"],"default":"DESC"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"pagination":{"type":"object","properties":{"total_investigations":{"type":"number","example":95},"total_pages":{"type":"number","example":4},"page":{"type":"number","example":1},"per_page":{"type":"number","example":20}}},"sorting":{"type":"object","properties":{"column":{"type":"string","example":"update_at"},"order":{"type":"string","example":"DESC"}}}}},"error":{"type":"object","example":null},"investigations":{"type":"array","items":{"type":"object","properties":{"investigation_token":{"type":"string","example":"INV-EAx2xoAsqF1ibKTQzkXV"},"name":{"type":"string","example":"Nick Armstrong's investigation"},"total_alerts":{"type":"number","example":2},"type":{"type":"string","example":"Fraud"},"state":{"type":"string","example":"alert_review"},"source":{"type":"string","example":"alert"},"outcome":{"type":"string","example":"Dismissed"},"created_at":{"type":"string","format":"date-time","example":"2024-11-26T16:00:14.677Z"},"updated_at":{"type":"string","format":"date-time","example":"2024-11-26T16:00:14.677Z"},"closed_at":{"type":"string","format":"date-time","example":null},"archived_at":{"type":"string","format":"date-time","example":null},"_embedded":{"type":"object","properties":{"entities":{"type":"object","properties":{"P-KaKZxdSGnbxXfKXnXdyp":{"type":"object","properties":{"entity_name":{"type":"string","example":"Nick Armstrong"},"entity_type":{"type":"string","example":"person"},"entity_token":{"type":"string","example":"P-KaKZxdSGnbxXfKXnXdyp"},"risk_score":{"type":"number","example":0.7}}}}},"assigned_agent":{"type":"object","properties":{"first_name":{"type":"string","example":"Mike"},"last_name":{"type":"string","example":"Alloy"},"email":{"type":"string","example":"agent@email.com"},"token":{"type":"string","example":"AG-L83m6iTwcXdNg3CHndS4"}}}}},"device_ids":{"type":"array","items":{"type":"string","example":"device_vendor_identifier"}},"program_names":{"type":"array","items":{"type":"string","example":"Program name"}},"alert_assignees":{"type":"array","items":{"type":"string","example":"Agent name"}}}}}}}}}},"401":{"description":"Authentication Failure","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/paths/~1investigations~1types/get/responses/401/content/application~1json/schema"}]}}}}}},"post":{"tags":["Investigations"],"summary":"Create an Investigation","description":"Manually creates a new Investigation","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"investigation_state":{"type":"string","example":"alert_review","description":"Listed by [Get Investigation filters](https://developer.alloy.com/public/reference/get_investigations-filters)."},"investigation_type":{"type":"string","example":"Fraud","description":"Listed by [Get Investigation types](https://developer.alloy.com/public/reference/get_investigations-types)."},"entity_tokens":{"type":"array","items":{"type":"string","example":"P-1GoQALm40nPQSp7UVTJS"}},"journey_alerts":{"type":"array","items":{"type":"object","properties":{"agent_token":{"type":"string","example":"AG-L83m6iTwcXdNg3CHndS4"},"journey_alert_token":{"type":"string","example":"JA-mhjlfS6nZe1G6HuvAKVq"},"outcome":{"type":"string","example":"Dismissed"},"reason":{"type":"string","example":"Passed manual checks"},"note":{"type":"string","example":"My note"}}},"required":["agent_token","journey_alert_token"]},"investigation_assignee_token":{"type":"string","example":"AG-L83m6iTwcXdNg3CHndS4","description":"Listed by [Get list of assignable agents](https://developer.alloy.com/public/reference/get_investigations-assignable-agents). Assigns the new Investigation to an agent."},"should_aggregate_alerts":{"description":"Setup if the automatic Alerts can be attached to the new Investigation later.","type":"boolean","default":true},"investigation_name":{"type":"string","example":"Investigation Nick Armstrong"},"note":{"type":"string","example":"My note"},"tags":{"type":"array","minItems":0,"items":{"type":"object","properties":{"tag_name":{"type":"string","example":"Suspicious Activity"},"is_outcome_reason":{"type":"boolean","example":false,"description":"If the tag has outcomes attached"}},"required":["tag_name","is_outcome_reason"]}}},"required":["investigation_type","investigation_state","journey_alerts","entity_tokens"]}}}},"responses":{"201":{"x-summary":"OK","description":"Investigation","content":{"application/json":{"schema":{"type":"object","$ref":"#/paths/~1investigations~1%7Binvestigation_token%7D/get/responses/200/content/application~1json/schema"}}}},"400":{"description":"Missing required fields","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"string"},"error":{"type":"object"},"timestamp":{"type":"string"},"evaluation_token":{"type":"string"},"entity_token":{"type":"string"},"application_token":{"type":"string"},"application_version_id":{"type":"string"}},"example":{"status_code":400,"error":{"minor_code":4002,"type":"Request Body Validation Failure","message":"Your request body contained invalid field(s)","details":{"message":"\"required_field\" is required","path":"required_field","type":"any.required","context":{"key":"required_field"}},"error_token":"u82hfowjwl"},"timestamp":1652205025227,"evaluation_token":null,"entity_token":null,"application_token":null,"application_version_id":null}}}}}}}},"/investigations/{investigation_token}":{"parameters":[{"in":"path","name":"investigation_token","schema":{"type":"string"},"required":true,"description":"Token associated with the Investigation","example":"INV-EAx2xoAsqF1ibKTQzkXV"}],"get":{"tags":["Investigations"],"summary":"Get an Investigation","description":"Returns the details of an individual Investigation.","responses":{"200":{"description":"Successfully retrieved Investigation Details","content":{"application/json":{"schema":{"type":"object","properties":{"investigation_token":{"type":"string","example":"INV-EAx2xoAsqF1ibKTQzkXV"},"closed_at":{"type":"string","format":"date-time","example":"2024-12-05T20:05:43.643Z"},"created_at":{"type":"string","format":"date-time","example":"2024-11-26T16:00:14.677Z"},"name":{"type":"string","nullable":true},"type":{"type":"string","example":"Fraud"},"state":{"type":"string","example":"case_review"},"source":{"type":"string","example":"alert"},"outcome":{"type":"string","example":"Dismissed"},"updated_at":{"type":"string","format":"date-time","example":"2024-12-05T20:05:43.643Z"},"archived_at":{"type":"string","format":"date-time","example":"2024-12-05T20:05:43.643Z"},"_embedded":{"type":"object","properties":{"assigned_agent":{"type":"object","properties":{"first_name":{"type":"string","example":"Mike"},"last_name":{"type":"string","example":"Alloy"},"email":{"type":"string","example":"safeandseamless@alloy.com"},"token":{"type":"string","example":"AG-L83m6iTwcXdNg3CHndS4"}}},"entities":{"type":"object","properties":{"P-KaKZxdSGnbxXfKXnXdyp":{"type":"object","properties":{"type":{"type":"string","example":"person"},"entity_token":{"type":"string","example":"P-KaKZxdSGnbxXfKXnXdyp"},"entity_name":{"type":"string","example":"Trycia Turner"},"meta":{"type":"string","nullable":true},"external_ingestion_identifier":{"type":"string","nullable":true},"recent_action":{"type":"string","nullable":true},"external_entity_identifier":{"type":"string","example":"mjj09291-111824-3"},"risk_score":{"type":"number","nullable":true}}}}},"events":{"type":"array","items":{"type":"object","properties":{"event":{"type":"string","example":"closed"},"agent":{"type":"object","properties":{"first_name":{"type":"string","example":"Mike"},"last_name":{"type":"string","example":"Alloy"},"email":{"type":"string","example":"safeandseamless@alloy.com"},"token":{"type":"string","example":"AG-L83m6iTwcXdNg3CHndS4"}}},"assigned_agent":{"type":"object","properties":{"first_name":{"type":"string","nullable":true},"last_name":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"token":{"type":"string","nullable":true}}},"note":{"type":"string","nullable":true},"meta":{"type":"object","nullable":true}}}},"evidences":{"type":"object","properties":{"journey_alerts":{"type":"array","items":{"type":"object","properties":{"journey_application_token":{"type":"string","example":"JA-PA0M5o6nyYCGhVyhXYWH"},"journey_token":{"type":"string","example":"J-O9aI8AWpkv895oavftOH"}}}},"tags":{"type":"array","items":{"type":"object","properties":{"tag_color":{"type":"string","example":"FB923C"},"tag_name":{"type":"string","example":"Phone Reputation Fail"},"is_outcome_reason":{"type":"boolean","example":true},"added_by":{"type":"object","properties":{"email":{"type":"string","example":"agent@email.com"},"first_name":{"type":"string","example":"Mike"},"last_name":{"type":"string","example":"Alloy"},"token":{"type":"string","example":"AG-L83m6iTwcXdNg3CHndS4"}}}}}}}},"documents":{"type":"array","items":{"$ref":"#/paths/~1documents~1%7Bdocument_token%7D/put/responses/200/content/application~1json/schema/items"}},"notes":{"type":"array","items":{"type":"object","properties":{"created_at":{"type":"string","example":"2025-01-01T13:00:59.000Z"},"created_by":{"type":"object","properties":{"first_name":{"type":"string","example":"Mike"},"last_name":{"type":"string","example":"Alloy"},"email":{"type":"string","example":"agent@email.com"},"token":{"type":"string","example":"AG-f5NJW4vCmoxwxkn4BpOV"}}},"entity_name":{"type":"string","example":"Nick Armstrong"},"entity_token":{"type":"string","example":"P-KaKZxdSGnbxXfKXnXdyp"},"text":{"type":"string","example":"My note"},"is_investigation_level_note":{"type":"boolean","example":true}}}},"reviews":{"type":"array","items":{"type":"object","properties":{"new_investigation_state":{"type":"string","example":"alert_review_closed"},"note":{"type":"string","nullable":true},"outcome":{"type":"string","example":"Dismissed"},"previous_investigation_state":{"type":"string","example":"alert_review"},"reason":{"type":"string","example":"Verified by human"},"reviewed_at":{"type":"string","format":"date-time","example":"2024-12-05T20:05:43.643Z"},"reviewed_by":{"type":"object","properties":{"first_name":{"type":"string","example":"Mike"},"last_name":{"type":"string","example":"Alloy"},"email":{"type":"string","example":"safeandseamless@alloy.com"},"token":{"type":"string","example":"AG-L83m6iTwcXdNg3CHndS4"}}}}}}}}}}}}},"401":{"description":"Authentication Failure","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/paths/~1investigations~1types/get/responses/401/content/application~1json/schema"}]}}}},"404":{"description":"Investigation Not Found","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/paths/~1investigations~1%7Binvestigation_token%7D~1alerts~1%7Bjourney_application_token%7D~1review/put/responses/404/content/application~1json/schema"}]}}}},"409":{"description":"Resource Conflict","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"status_code":{"type":"string","example":409},"error":{"type":"object","properties":{"minor_code":{"type":"number","example":4091},"type":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","properties":{"document_token":{"type":"string"},"entity_token":{"type":"string"}}},"error_token":{"type":"string"}}},"timestamp":{"type":"number","example":1725386185011},"evaluation_token":{"type":"string","example":null},"entity_token":{"type":"string","example":null},"application_token":{"type":"string"},"application_version_id":{"type":"string","example":null}}}]}}}},"500":{"description":"Unhandled Service Error","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"status_code":{"type":"string","example":500},"error":{"type":"object","properties":{"minor_code":{"type":"number","example":5000},"type":{"type":"string"},"message":{"type":"string"},"error_token":{"type":"string","example":"31e6e353-e62b-4fe2-be16-ea37ea9a992c"}}},"timestamp":{"type":"number","example":1725386185011},"evaluation_token":{"type":"string","example":null},"entity_token":{"type":"string","example":null},"application_token":{"type":"string"},"application_version_id":{"type":"string","example":null}}}]}}}},"503":{"description":"Temporarily Offline for Maintenance","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"status_code":{"type":"string","example":503},"error":{"type":"object","properties":{"minor_code":{"type":"number","example":5031},"type":{"type":"string"},"message":{"type":"string","example":"Oops our database server is unreachable. The engineers have been notified."},"details":{"type":"object","properties":{"journey_token":{"type":"string"}}},"error_token":{"type":"string"}}},"timestamp":{"type":"number","example":1725386185011},"evaluation_token":{"type":"string","example":null},"entity_token":{"type":"string","example":null},"application_token":{"type":"string"},"application_version_id":{"type":"string","example":null}}}]}}}}}}},"/investigations/filters":{"get":{"tags":["Investigations"],"summary":"Get Investigation filters","description":"Returns all the currently used filters in all investigations","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"filters":{"type":"object","properties":{"archived":{"type":"array","items":{"type":"boolean","example":true}},"assigned_agents":{"type":"array","items":{"type":"object","properties":{"email":{"type":"string"},"token":{"type":"string","example":"unassigned"},"first_name":{"type":"string","example":"Unassigned"},"last_name":{"type":"string","example":""}}}},"program_names":{"type":"array","items":{"type":"string","example":"program_name"}},"statuses":{"type":"array","items":{"type":"string","example":"alert_review"}},"types":{"type":"array","items":{"type":"string","example":"Fraud"}}}}}}}}},"401":{"description":"Authentication Failure","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/paths/~1investigations~1types/get/responses/401/content/application~1json/schema"}]}}}}}}},"/investigations/assignable-agents":{"get":{"tags":["Investigations"],"summary":"Get list of assignable agents","description":"Returns all available agents","responses":{"200":{"x-summary":"OK","description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"agent_token":{"type":"string","example":"AG-L83m6iTwcXdNg3CHndS4"},"first_name":{"type":"string","example":"Mike"},"last_name":{"type":"string","example":"Alloy"}}}}}}},"403":{"x-summary":"Forbidden","description":"Authentication Failure","content":{"application/json":{"schema":{"allOf":[{"properties":{"status_code":{"type":"string"},"error":{"type":"object"},"timestamp":{"type":"string"},"evaluation_token":{"type":"string"},"entity_token":{"type":"string"},"application_token":{"type":"string"},"application_version_id":{"type":"string"}},"example":{"status_code":403,"error":{"minor_code":4033,"type":"Forbidden","message":"You are not allowed to perform this action.","details":{},"error_token":"u82hfowjwl"},"timestamp":1652205025227,"evaluation_token":null,"entity_token":null,"application_token":null,"application_version_id":null}}]}}}}}}},"/investigations/{investigation_token}/evidences":{"patch":{"tags":["Investigations"],"parameters":[{"in":"path","name":"investigation_token","schema":{"type":"string"},"required":true,"description":"Token associated with the Investigation","example":"INV-EAx2xoAsqF1ibKTQzkXV"}],"summary":"Update Investigation Evidences","description":"Updates the Investigation with Evidences.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"note":{"type":"string","example":"Investigation note"},"journey_alerts":{"type":"array","description":"Alerts to attach to the Investigation","items":{"type":"string","example":"JA-LS0GHKjDNhY6dGlvYxx"}},"tags":{"type":"array","items":{"type":"object","properties":{"is_outcome_reason":{"type":"boolean"},"tag_name":{"type":"string"}}}}}}}}},"responses":{"200":{"x-summary":"OK","description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"investigation":{"$ref":"#/paths/~1investigations~1%7Binvestigation_token%7D/get/responses/200/content/application~1json/schema"},"alerts_added":{"type":"array","items":{"type":"string","example":"JA-LS0GHKjDNhY6dGlvYxx","description":"Added alerts"}},"alerts_present":{"type":"array","items":{"type":"string","example":"JA-PA0M5o6nyYCGhVyhXYWH","description":"Unchanged alerts"}}}}}}},"401":{"x-summary":"Unauthorized","description":"Authentication Failure","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/paths/~1investigations~1types/get/responses/401/content/application~1json/schema"}]}}}},"404":{"x-summary":"Not found","description":"Investigation Not Found","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/paths/~1investigations~1%7Binvestigation_token%7D~1alerts~1%7Bjourney_application_token%7D~1review/put/responses/404/content/application~1json/schema"}]}}}},"500":{"description":"Unhandled Service Error","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/paths/~1investigations~1%7Binvestigation_token%7D/get/responses/500/content/application~1json/schema/allOf/0"}]}}}}}}},"/investigations/{investigation_token}/alerts/{journey_application_token}/review":{"put":{"summary":"Append a review to an Investigation Alert","description":"Appends a review to an Investigation Alert","tags":["Investigations"],"parameters":[{"in":"path","name":"investigation_token","required":true,"description":"Token associated with the Investigation","schema":{"type":"string","example":"INV-EAx2xoAsqF1ibKTQzkXV"}},{"in":"path","name":"journey_application_token","required":true,"description":"Token associated with your Journey Application","schema":{"type":"string","example":"JA-mhjlfS6nZe1G6HuvAKVq"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"outcome":{"type":"string","example":"my outcome"},"reason":{"type":"string","example":"my reason"},"note":{"type":"string","example":"review note"}},"required":["reason","outcome"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","example":null}}}}}},"400":{"description":"Missing required fields","content":{"application/json":{"schema":{"type":"object","$ref":"#/paths/~1investigations/post/responses/400/content/application~1json/schema"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/paths/~1investigations~1types/get/responses/401/content/application~1json/schema"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"object","properties":{"minor_code":{"type":"integer","example":4041},"type":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"Unable to find the requested resource"},"details":{"type":"object","properties":{"investigation_token":{"type":"string","example":"INV-EAx2xoAsqF1ibKTQzkXx"}}},"error_token":{"type":"string","example":"4d2743bb-d6d7-4421-a561-b7be52b3fc87"}}},"timestamp":{"type":"integer","example":1734014865089},"evaluation_token":{"type":"string","nullable":true,"example":null},"entity_token":{"type":"string","nullable":true,"example":null},"application_token":{"type":"string","example":null},"application_version_id":{"type":"string","nullable":true,"example":null}}}}}}}}},"/investigations/{investigation_token}/alerts/{journey_application_token}":{"parameters":[{"in":"path","name":"investigation_token","schema":{"type":"string"},"required":true,"description":"Token associated with the Investigation","example":"INV-EAx2xoAsqF1ibKTQzkXV"},{"in":"path","name":"journey_application_token","schema":{"type":"string"},"required":true,"description":"Token associated with your Journey Application Alert","example":"JA-LS0GHKjDNhY6dGlvYxx"}],"get":{"tags":["Investigations"],"summary":"Get an Investigation Alert","description":"Returns an alert associated with an investigation","responses":{"200":{"x-summary":"OK","description":"Success","content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications~1%7Bjourney_application_token%7D/get/responses/200/content/application~1json/schema"},{"type":"object","properties":{"_embedded":{"allOf":[{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications~1%7Bjourney_application_token%7D/get/responses/200/content/application~1json/schema/properties/_embedded"}],"properties":{"investigation":{"type":"object","properties":{"investigation_token":{"type":"string","example":"INV-EAx2xoAsqF1ibKTQzkXV"},"name":{"type":"string","nullable":true},"type":{"type":"string","example":"Compliance"},"state":{"type":"string","example":"case_review_closed"},"source":{"type":"string","example":"alert"},"assigned_agent":{"type":"object","properties":{"first_name":{"type":"string","example":"Mike"},"last_name":{"type":"string","example":"Alloy"},"email":{"type":"string","example":"agent@email.com"},"token":{"type":"string","example":"AG-SzX0vn4Y9P47MI5Pt2d"}}},"created_at":{"type":"string","example":"2024-01-31T21:27:46.864Z"},"updated_at":{"type":"string","example":"2024-01-31T21:27:46.864Z"},"outcome":{"type":"string","example":"Dismissed"}}},"investigation_alert":{"type":"object","properties":{"review_outcome":{"type":"string","example":"Suspicious"},"review_reason":{"type":"string","example":"all good"},"assigned_agent":{"$ref":"#/paths/~1investigations~1%7Binvestigation_token%7D~1alerts~1%7Bjourney_application_token%7D/get/responses/200/content/application~1json/schema/allOf/1/properties/_embedded/properties/investigation/properties/assigned_agent"},"reviewed_by":{"$ref":"#/paths/~1investigations~1%7Binvestigation_token%7D~1alerts~1%7Bjourney_application_token%7D/get/responses/200/content/application~1json/schema/allOf/1/properties/_embedded/properties/investigation/properties/assigned_agent"},"reviewed_at":{"type":"string","example":"2024-01-31T21:27:46.864Z"},"review_note":{"type":"string","example":"Seems like everything is ok"}}},"investigation_alert_reviews":{"type":"array","items":{"type":"object","properties":{"review_outcome":{"type":"string","example":"Suspicious"},"review_reason":{"type":"string","example":"suspicious"},"assigned_agent":{"$ref":"#/paths/~1investigations~1%7Binvestigation_token%7D~1alerts~1%7Bjourney_application_token%7D/get/responses/200/content/application~1json/schema/allOf/1/properties/_embedded/properties/investigation/properties/assigned_agent"},"reviewed_by":{"$ref":"#/paths/~1investigations~1%7Binvestigation_token%7D~1alerts~1%7Bjourney_application_token%7D/get/responses/200/content/application~1json/schema/allOf/1/properties/_embedded/properties/investigation/properties/assigned_agent"},"reviewed_at":{"type":"string","example":"2024-01-30T21:27:46.864Z"},"reviews_note":{"type":"string","example":"Something is not right"}}}},"investigation_alert_evaluations":{"type":"array","items":{"type":"object","properties":{"evaluation_token":{"type":"string","example":"L-LH8HQ8I80gGaiXafEpJ5"},"outcome":{"type":"string","example":"Suspicious"},"event_request_token":{"type":"string","nullable":true},"tags":{"type":"array","items":{"type":"object","properties":{"tag_name":{"type":"string","example":"[CT] Tag"},"tag_color":{"type":"string","example":"464646"},"is_case_creating":{"type":"string","nullable":true},"suppression_interval":{"type":"string","nullable":true},"is_associated_to_cases":{"type":"boolean","example":true},"is_adverse_action_reason":{"type":"boolean","example":true},"is_journey_app_creating":{"type":"boolean","example":true},"is_outcome_reason":{"type":"boolean","example":true},"description":{"type":"string","example":"Tag description"}}}}}}}}},"_links":{"type":"object","properties":{"self":{"type":"object","properties":{"href":{"description":"GET route for the Application","type":"string"}}}}}}}]}}}},"401":{"description":"Authentication Failure","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/paths/~1investigations~1%7Binvestigation_token%7D/get/responses/503/content/application~1json/schema/allOf/0"}]}}}},"404":{"description":"Investigation Not Found","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/paths/~1investigations~1%7Binvestigation_token%7D~1alerts~1%7Bjourney_application_token%7D~1review/put/responses/404/content/application~1json/schema"}]}}}}}}},"/investigations/{investigation_token}/alerts/{journey_application_token}/review/{manual_review_token}/review":{"post":{"summary":"Review an Investigation Alert","description":"Reviews an alert attached to an investigation","tags":["Investigations"],"parameters":[{"in":"path","name":"investigation_token","required":true,"description":"Token associated with the Investigation","schema":{"type":"string","example":"INV-EAx2xoAsqF1ibKTQzkXV"}},{"in":"path","name":"journey_application_token","required":true,"description":"Token associated with your Journey Application","schema":{"type":"string","example":"JA-mhjlfS6nZe1G6HuvAKVq"}},{"in":"path","name":"manual_review_token","required":true,"description":"Token associated with your Alert Manual Review","schema":{"type":"string","example":"AMR-VhiWhfih2l35Ls9gHks2"}},{"in":"query","name":"fullData","description":"Returns Evaluation data","schema":{"type":"boolean","example":true}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/paths/~1investigations~1%7Binvestigation_token%7D~1alerts~1%7Bjourney_application_token%7D~1review/put/requestBody/content/application~1json/schema"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/paths/~1investigations~1%7Binvestigation_token%7D~1alerts~1%7Bjourney_application_token%7D/get/responses/200/content/application~1json/schema"}}}},"400":{"description":"Missing required fields","content":{"application/json":{"schema":{"type":"object","$ref":"#/paths/~1investigations/post/responses/400/content/application~1json/schema"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/paths/~1investigations~1types/get/responses/401/content/application~1json/schema"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/paths/~1investigations~1%7Binvestigation_token%7D~1alerts~1%7Bjourney_application_token%7D~1review/put/responses/404/content/application~1json/schema"}}}}}}},"/investigations/{investigation_token}/alerts/{journey_application_token}/assign":{"parameters":[{"in":"path","name":"investigation_token","schema":{"type":"string"},"required":true,"description":"Token associated with the Investigation","example":"INV-EAx2xoAsqF1ibKTQzkXV"},{"in":"path","name":"journey_application_token","schema":{"type":"string"},"required":true,"description":"Token associated with an Alert","example":"JA-PA0M5o6nyYCGhVyhXYWH"}],"put":{"tags":["Investigations"],"summary":"Assign an Investigation Alert to an Agent","description":"Assigns an Investigation Alert to an Agent","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"agent_token":{"type":"string","example":"AG-L83m6iTwcXdNg3CHndS4"},"investigation_tokens":{"type":"array","items":{"type":"string","example":"INV-EAx2xoAsqF1ibKTQzkXV"}}}}}}},"responses":{"200":{"x-summary":"OK","description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","nullable":true,"example":null}}}}}},"404":{"description":"Investigation Not Found","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/paths/~1investigations~1%7Binvestigation_token%7D~1alerts~1%7Bjourney_application_token%7D~1review/put/responses/404/content/application~1json/schema"}]}}}}}}},"/investigations/{investigation_token}/alerts/{journey_application_token}/unassign":{"parameters":[{"in":"path","name":"investigation_token","schema":{"type":"string"},"required":true,"description":"Token associated with the Investigation","example":"INV-EAx2xoAsqF1ibKTQzkXV"},{"in":"path","name":"journey_application_token","schema":{"type":"string"},"required":true,"description":"Token associated with an Alert","example":"JA-PA0M5o6nyYCGhVyhXYWH"}],"put":{"tags":["Investigations"],"summary":"Unassign an Alert from an Investigation","description":"Unassign Agents from an Investigation Alert","responses":{"200":{"x-summary":"OK","description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","nullable":true,"example":null}}}}}},"404":{"description":"Investigation Not Found","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/paths/~1investigations~1%7Binvestigation_token%7D~1alerts~1%7Bjourney_application_token%7D~1review/put/responses/404/content/application~1json/schema"}]}}}}}}},"/investigations/{investigation_token}/promote":{"parameters":[{"in":"path","name":"investigation_token","schema":{"type":"string"},"required":true,"description":"Token associated with the Investigation","example":"INV-EAx2xoAsqF1ibKTQzkXV"}],"put":{"tags":["Investigations"],"summary":"Promote Investigation Alert to Case Review","description":"Promotes an Investigation from Alert Review to Case Review.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","example":"My reason"},"assigned_agent_token":{"type":"string","example":"AG-L83m6iTwcXdNg3CHndS4"},"note":{"type":"string","example":"Promoting note"}},"required":["reason"]}}}},"responses":{"200":{"x-summary":"OK","description":"Success","content":{"application/json":{"schema":{"$ref":"#/paths/~1investigations~1%7Binvestigation_token%7D/get/responses/200/content/application~1json/schema"}}}},"404":{"description":"Investigation Not Found","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/paths/~1investigations~1%7Binvestigation_token%7D~1alerts~1%7Bjourney_application_token%7D~1review/put/responses/404/content/application~1json/schema"}]}}}}}}},"/investigations/assign":{"put":{"tags":["Investigations"],"summary":"Assign Investigations","description":"Assigns one or more Investigations to an Agent","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"agent_token":{"type":"string","example":"AG-L83m6iTwcXdNg3CHndS4"},"investigation_tokens":{"type":"array","items":{"type":"string","example":"INV-EAx2xoAsqF1ibKTQzkXV"}}}}}}},"responses":{"200":{"x-summary":"OK","description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","nullable":true,"example":null}}}}}},"404":{"x-summary":"Not found","description":"Agent or Investigation not found","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/paths/~1investigations~1%7Binvestigation_token%7D~1alerts~1%7Bjourney_application_token%7D~1review/put/responses/404/content/application~1json/schema"}]}}}}}}},"/investigations/unassign":{"put":{"tags":["Investigations"],"summary":"Unassign Investigations","description":"Unassign one or more Investigations","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"investigation_tokens":{"type":"array","items":{"type":"string","example":"INV-EAx2xoAsqF1ibKTQzkXV"}}}}}}},"responses":{"200":{"x-summary":"OK","description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","nullable":true,"example":null}}}}}},"404":{"description":"Investigation Not Found","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/paths/~1investigations~1%7Binvestigation_token%7D~1alerts~1%7Bjourney_application_token%7D~1review/put/responses/404/content/application~1json/schema"}]}}}}}}},"/investigations/archive":{"put":{"tags":["Investigations"],"summary":"Archive Investigations","description":"Archives one or more Investigations","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"investigation_tokens":{"type":"array","items":{"type":"string","example":"INV-EAx2xoAsqF1ibKTQzkXV"}}}}}}},"responses":{"202":{"x-summary":"Accepted","description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","nullable":true,"example":null}}}}}},"404":{"x-summary":"Not Found","description":"Investigation(s) not found","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"object","properties":{"minor_code":{"type":"integer","example":4041},"type":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"Unable to find the requested resource"},"details":{"type":"object","properties":{"investigation_tokens":{"type":"array","items":{"type":"string","example":"INV-EAx2xoAsqF1ibKTQzkXx"}}}},"error_token":{"type":"string","example":"4d2743bb-d6d7-4421-a561-b7be52b3fc87"}}},"timestamp":{"type":"integer","example":1734014865089},"evaluation_token":{"type":"string","nullable":true,"example":null},"entity_token":{"type":"string","nullable":true,"example":null},"application_token":{"type":"string","example":null},"application_version_id":{"type":"string","nullable":true,"example":null}}}]}}}},"409":{"x-summary":"Conflict","description":"Investigation(s) cannot be archived","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"status_code":{"type":"integer","example":409},"error":{"type":"object","properties":{"minor_code":{"type":"integer","example":4091},"type":{"type":"string","example":"Conflict"},"message":{"type":"string","example":"Unable to archive Investigations"},"details":{"type":"object","properties":{"investigation_tokens":{"type":"array","items":{"type":"string","example":"INV-EAx2xoAsqF1ibKTQzkXx"}}}},"error_token":{"type":"string","example":"4d2743bb-d6d7-4421-a561-b7be52b3fc87"}}},"timestamp":{"type":"integer","example":1734014865089},"evaluation_token":{"type":"string","nullable":true,"example":null},"entity_token":{"type":"string","nullable":true,"example":null},"application_token":{"type":"string","example":null},"application_version_id":{"type":"string","nullable":true,"example":null}}}]}}}}}}},"/investigations/unarchive":{"put":{"tags":["Investigations"],"summary":"Unarchive Investigations","description":"Unarchives one or more Investigations","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"investigation_tokens":{"type":"array","items":{"type":"string","example":"INV-EAx2xoAsqF1ibKTQzkXV"}}}}}}},"responses":{"202":{"x-summary":"Accepted","description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","nullable":true,"example":null}}}}}},"404":{"x-summary":"Not Found","description":"Investigation(s) not found","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/paths/~1investigations~1archive/put/responses/404/content/application~1json/schema/allOf/0"}]}}}},"409":{"x-summary":"Conflict","description":"Investigation(s) cannot be unarchived","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"status_code":{"type":"integer","example":409},"error":{"type":"object","properties":{"minor_code":{"type":"integer","example":4091},"type":{"type":"string","example":"Conflict"},"message":{"type":"string","example":"Unable to unarchive Investigations"},"details":{"type":"object","properties":{"investigation_tokens":{"type":"array","items":{"type":"string","example":"INV-EAx2xoAsqF1ibKTQzkXx"}}}},"error_token":{"type":"string","example":"4d2743bb-d6d7-4421-a561-b7be52b3fc87"}}},"timestamp":{"type":"integer","example":1734014865089},"evaluation_token":{"type":"string","nullable":true,"example":null},"entity_token":{"type":"string","nullable":true,"example":null},"application_token":{"type":"string","example":null},"application_version_id":{"type":"string","nullable":true,"example":null}}}]}}}}}}},"/investigations/{investigation_token}/notes":{"parameters":[{"in":"path","name":"investigation_token","schema":{"type":"string"},"required":true,"description":"Token associated with the Investigation","example":"INV-EAx2xoAsqF1ibKTQzkXV"}],"post":{"tags":["Investigations"],"summary":"Add note to Investigation","description":"Add a note to an investigation","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"note":{"type":"string","example":"note"},"entity_token":{"type":"string","example":"P-1GoQALm40nPQSp7UVTJS"}},"required":["note","entity_token"]}}}},"responses":{"200":{"description":"Successfully retrieved Investigation Details","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","example":null}}}}}},"401":{"description":"Authentication Failure","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/paths/~1investigations~1types/get/responses/401/content/application~1json/schema"}]}}}}}}},"/investigations/{investigation_token}/review":{"parameters":[{"in":"path","name":"investigation_token","schema":{"type":"string"},"required":true,"description":"Token associated with the Investigation","example":"INV-EAx2xoAsqF1ibKTQzkXV"}],"put":{"tags":["Investigations"],"summary":"Review and close an investigation","description":"Reviews an investigation and closes it.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","example":"My reason"},"outcome":{"type":"string","example":"My outcome"},"note":{"type":"string","example":"Close investigation note"}},"required":["reason","outcome"]}}}},"responses":{"200":{"x-summary":"OK","description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","nullable":true,"example":null}}}}}},"400":{"description":"Missing required fields","content":{"application/json":{"schema":{"type":"object","$ref":"#/paths/~1investigations/post/responses/400/content/application~1json/schema"}}}},"404":{"description":"Investigation Not Found","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"status_code":{"type":"string","example":503},"error":{"type":"object","properties":{"minor_code":{"type":"number","example":5031},"type":{"type":"string"},"message":{"type":"string","example":"Oops our database server is unreachable. The engineers have been notified."},"details":{"type":"object","properties":{"journey_token":{"type":"string"}}},"error_token":{"type":"string"}}},"timestamp":{"type":"number","example":1725386185011},"evaluation_token":{"type":"string","example":null},"entity_token":{"type":"string","example":null},"application_token":{"type":"string"},"application_version_id":{"type":"string","example":null}}}]}}}}}}},"/investigations/types":{"get":{"summary":"Get list of Investigation types","description":"Retrieves a filterable paginated list of investigation types","tags":["Investigations"],"parameters":[{"in":"query","name":"q","schema":{"type":"object","description":"Object to hold the investigation filters","properties":{"archived":{"type":"boolean","description":"E.g. `true`"}}}},{"in":"query","name":"pageNum","schema":{"type":"number","description":"Which page number to return. Default is 1","default":1}},{"in":"query","name":"numRowsPerPage","schema":{"type":"number","description":"Limits results per page. Up to 100.","default":20}},{"in":"query","name":"sortColumn","schema":{"type":"string","enum":["name","use_case","journeys_count"],"default":"investigation_type_id"}},{"in":"query","name":"sortOrder","schema":{"type":"string","enum":["DESC","ASC"],"default":"DESC"}},{"in":"query","name":"onlyPermittedTypes","schema":{"type":"boolean","example":true}},{"in":"query","name":"includeJourneys","schema":{"type":"boolean","example":true}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"investigation_types":{"type":"array","items":{"type":"object","properties":{"investigationTypeId":{"type":"number","example":1},"name":{"type":"string","example":"Alert Review"},"description":{"type":"string","example":"JAs alerted"},"archivedAt":{"type":"string","format":"date-time","example":"2024-12-05T20:05:43.643Z"},"isBeingUsed":{"type":"boolean","example":true},"useCase":{"type":"string","example":"Fraud"}}}}}}}}},"400":{"description":"Missing required fields","content":{"application/json":{"schema":{"type":"object","$ref":"#/paths/~1investigations/post/responses/400/content/application~1json/schema"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"properties":{"status_code":{"type":"string"},"error":{"type":"object"},"timestamp":{"type":"string"},"evaluation_token":{"type":"string"},"entity_token":{"type":"string"},"application_token":{"type":"string"},"application_version_id":{"type":"string"}},"example":{"status_code":401,"error":{"minor_code":4013,"type":"Authorization Error","message":"You are not authorized to operate on the specified object or it does not exist.","details":{"entity_token_or_external_id":"provided-token"},"error_token":"u82hfowjwl"},"timestamp":1652205025227,"evaluation_token":null,"entity_token":null,"application_token":null,"application_version_id":null}}}}}}},"post":{"summary":"Create Investigation type","description":"Creates an Investigation type","tags":["Investigations"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"use_case":{"type":"string","enum":["Fraud","Compliance","Other"]},"description":{"type":"string"}},"required":["name","use_case"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","description":"Holds the success message"}}}},"400":{"description":"Missing required fields","content":{"application/json":{"schema":{"type":"object","$ref":"#/paths/~1investigations/post/responses/400/content/application~1json/schema"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/paths/~1investigations~1types/get/responses/401/content/application~1json/schema"}}}}}}},"/investigations/use-cases":{"get":{"summary":"Get list of Investigation type use cases","description":"Retrieves a list of investigation type use cases","tags":["Investigations"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"use_cases":{"type":"array","example":["Fraud","Compliance","Other"],"items":{"type":"string"}}}}}}}}}},"/investigations/types/archive":{"patch":{"summary":"Archive Investigation type","description":"Archives an Investigation type","tags":["Investigations"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"investigation_types":{"type":"string","example":"Fraud type"}},"required":["investigation_types"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","description":"Holds the success message"}}}},"404":{"description":"Investigation type Not Found","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"object","properties":{"minor_code":{"type":"integer","example":4041},"type":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"Unable to find the requested resource"},"details":{"type":"object","properties":{"investigation_type":{"type":"string","example":"Fraud type"},"message":{"type":"string","example":"The Investigation type does not exist"}}},"error_token":{"type":"string","example":"4d2743bb-d6d7-4421-a561-b7be52b3fc87"}}},"timestamp":{"type":"integer","example":1734014865089},"evaluation_token":{"type":"string","nullable":true,"example":null},"entity_token":{"type":"string","nullable":true,"example":null},"application_token":{"type":"string","example":null},"application_version_id":{"type":"string","nullable":true,"example":null}}}]}}}},"409":{"description":"Investigation type cannot be archived","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"status_code":{"type":"integer","example":409},"error":{"type":"object","properties":{"minor_code":{"type":"integer","example":4091},"type":{"type":"string","example":"Conflict"},"message":{"type":"string","example":"This Investigation type is attached to an active journey version"},"details":{"type":"object","properties":{"investigation_type":{"type":"string","example":"Fraud type"}}},"error_token":{"type":"string","example":"4d2743bb-d6d7-4421-a561-b7be52b3fc87"}}},"timestamp":{"type":"integer","example":1734014865089},"evaluation_token":{"type":"string","nullable":true,"example":null},"entity_token":{"type":"string","nullable":true,"example":null},"application_token":{"type":"string","example":null},"application_version_id":{"type":"string","nullable":true,"example":null}}}]}}}}}}},"/investigations/types/unarchive":{"patch":{"summary":"Unarchive Investigation type","description":"Unarchives an Investigation type","tags":["Investigations"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/paths/~1investigations~1types~1archive/patch/requestBody/content/application~1json/schema"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","description":"Holds the success message"}}}},"404":{"description":"Investigation type Not Found","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/paths/~1investigations~1types~1archive/patch/responses/404/content/application~1json/schema/allOf/0"}]}}}}}}},"/investigations/types/delete/{investigation_type}":{"delete":{"summary":"Delete Investigation type","description":"Deletes an Investigation type","tags":["Investigations"],"parameters":[{"in":"path","name":"investigation_type","required":true,"description":"Investigation type name","schema":{"type":"string","example":"Fraud type"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","description":"Holds the success message"}}}},"404":{"description":"Investigation type Not Found","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/paths/~1investigations~1types~1archive/patch/responses/404/content/application~1json/schema/allOf/0"}]}}}},"409":{"description":"Investigation type cannot be deleted","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/paths/~1investigations~1types~1archive/patch/responses/409/content/application~1json/schema/allOf/0"}]}}}}}}},"/journeys/{journey_token}/applications":{"parameters":[{"in":"path","name":"journey_token","schema":{"type":"string"},"required":true,"description":"Token associated with your Journey","example":"J-VCQoADBJxeHtmdAvFqoS"},{"in":"header","name":"alloy-journey-override-sync","schema":{"type":"boolean","description":"This endpoint returns a synchronous response by default. If you would like to override this behavior and get an asynchronous response back immediately, send the header `alloy-journey-override-sync` as `true`.\n","example":false}},{"in":"query","name":"fullData","description":"If this value is `true`, each event of type `completed_evaluation` in the array at `response._embedded._events` includes the full evaluation response.","schema":{"type":"string","enum":["true","false"]}},{"in":"query","name":"hideFields","description":"A comma separated list of fields to obfuscate in the full evaluation response (only relevant within the `completed_evaluation` type events, and provided the query parameter `fullData` is also set to `true`).\nFor example, if `hideFields=document_ssn`, then `\"document_ssn\": \"123456789\"` would be returned as `\"document_ssn\": \"*********\"`.\nThis obfuscation will apply to the `supplied`, `formatted`, and `meta` objects in the full evaluation response, including inside nested objects within those objects.\n","schema":{"type":"string"},"example":"name_first,name_last,document_ssn"},{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/parameters/1"},{"in":"header","name":"alloy-sandbox","schema":{"type":"boolean"},"description":"To run the application using Alloy's sandbox environment, set this header to `true`.\n","example":true},{"in":"header","name":"alloy-sandbox-services","schema":{"type":"string"},"description":"A comma separated list of services that should be run using Alloy's sandbox environment.\n","example":"Socure3,EnhancedPersonSearch"},{"$ref":"#/paths/~1events~1/parameters/0"},{"in":"header","name":"alloy-refresh-cache","schema":{"type":"boolean","description":"To refresh any cached responses from external services, set this header to `true`.\n","example":true}},{"in":"header","name":"alloy-multi-environment-config-token","schema":{"type":"string","description":"Specifies the Multi-Environment Configuration to be used with this application.\n","example":"MEC-1t94UrgAwOGmaVUy94rK"}}],"post":{"tags":["Journeys"],"summary":"Create Journey Application","description":"Create a journey application for one or more entities.\n","requestBody":{"content":{"application/json":{"schema":{"required":["entities"],"properties":{"entities":{"type":"array","description":"List of entities to be processed in this Application.\n","items":{"anyOf":[{"title":"Person Entity","$ref":"#/paths/~1journeys~1applications~1ext~1%7Bexternal_application_id%7D~1latest~1rerun/post/requestBody/content/application~1json/schema/properties/entities/items"},{"title":"Business Entity","allOf":[{"type":"object","required":["data"],"properties":{"external_entity_id":{"example":"my_system_entity_id_345","type":"string","description":"The value used on client's own system to identify the entity.\nIf an entity associated with the value passed in already exists, then the entity application processes for that entity. Otherwise, a new entity is created and associated with the value passed in.\nThis parameter is optional, but strongly encouraged.\n"},"data":{"type":"object","description":"Contains the fields for each input attribute of each workflow in the journey that is expected to be processed for the entity.\n","properties":{"business_name":{"type":"string","example":"Acme Corporation"},"business_federal_ein":{"type":"string","description":"Business federal employer ID number for US business entities.","example":122334455},"business_registry_id":{"type":"string","description":"Business registry ID number for non-US business entities.","example":122334455},"business_phone_number":{"type":"string","description":"Business phone number.","example":111222333},"business_url":{"type":"string","description":"Business website.","example":"https://www.acmeco.com/"},"addresses":{"type":"array","description":"List of addresses for the given entity.\n","items":{"type":"object","description":"Full address for a business entity","properties":{"type":{"type":"string","description":"Allowed values are `\"business_primary\"`, `\"business_secondary\"`, `\"business_previous\"`","example":"business_primary"},"line_1":{"type":"string","example":"41 E. 11th"},"line_2":{"type":"string","example":"2nd floor"},"city":{"type":"string","example":"New York"},"state":{"type":"string","example":"NY"},"postal_code":{"type":"string","example":10003},"country_code":{"type":"string","example":"US"}}}},"representatives":{"type":"array","description":"List of ultimate beneficial owners associated to the business.","items":{"type":"object","description":"Ultimate beneficial owners associated to the business.","properties":{"name_first":{"type":"string","example":"John"},"name_middle":{"type":"string","example":"Franklin"},"name_last":{"type":"string","example":"Doe"},"type":{"type":"string","example":"principal_owner","description":"Allowed values are `\"principal_owner\"`, `\"authorized_signer\"`, `\"coborrower\"`, `\"joint\"`, `\"guarantor\"`, or `\"director\"`."},"birth_date":{"type":"string","example":"1990-01-25"},"document_ssn":{"type":"string","description":"Social Security number","example":111223333},"email_address":{"type":"string","example":"john@alloy.com"},"phone_number":{"type":"string","example":8443825569},"ownership_percentage":{"type":"string","example":66.6},"addresses":{"type":"array","description":"List of addresses for the given entity.\n","items":{"$ref":"#/paths/~1journeys~1applications~1ext~1%7Bexternal_application_id%7D~1latest~1rerun/post/requestBody/content/application~1json/schema/properties/entities/items/allOf/0/properties/data/properties/addresses/items"}}}}},"meta":{"type":"object","description":"Any additional metadata to be accessed for decisioning or review purposes that are not sent to a data service can be referenced here.","example":{"sic_code":1531}}}}}},{"type":"object","properties":{"entity_type":{"example":"business","default":"business","type":"string","description":"If left blank, defaults to `\"business\"`."},"branch_name":{"example":"my_business_branch_name","default":"businesses","type":"string","description":"This value is required for journeys with multiple branches. It must match a journey branch configured from the start node. It is used to determine\nwhich steps the entity will be required to complete.\n"},"entity_token":{"example":"B-4vaKI3CAgBvpdLpMifon","type":"string","description":"The token associated with an existing entity.\nBy passing a value for this field, the entity application processes for the existing entity associated with the token.\n"}}}]}]},"example":[{"external_entity_id":"my_system_entity_id_123","data":{"name_first":"John","name_middle":"Franklin","name_last":"Doe","birth_date":"1990-01-25","document_ssn":111223333,"email_address":"john@alloy.com","phone_number":8443825569,"ip_address_v4":"42.206.213.70","addresses":[{"type":"primary","line_1":"41 E. 11th","line_2":"2nd floor","city":"New York","state":"NY","postal_code":10003,"country_code":"US"}],"meta":{"user_type":"vip"}},"entity_type":"person","branch_name":"persons"},{"external_entity_id":"my_system_entity_id_345","data":{"business_name":"Acme Corporation","business_federal_ein":122334455,"business_phone_number":111222333,"business_url":"https://www.acmeco.com/","addresses":[{"type":"business_primary","line_1":"41 E. 11th","line_2":"2nd floor","city":"New York","state":"NY","postal_code":10003,"country_code":"US"}],"representatives":[{"name_first":"John","name_middle":"Franklin","name_last":"Doe","type":"principal_owner","birth_date":"1990-01-25","document_ssn":111223333,"email_address":"john@alloy.com","phone_number":8443825569,"ownership_percentage":40,"addresses":[{"type":"primary","line_1":"41 E. 11th","line_2":"2nd floor","city":"New York","state":"NY","postal_code":10003,"country_code":"US"}]}],"meta":{"sic_code":1531}},"entity_type":"business","branch_name":"businesses"}]},"external_group_id":{"type":"string","description":"Optional, but if you have an identifier in your system that is unique and that you would like to tie to an\nApplication in a 1:1 relationship, you can include it here. This field will not update the Entity Group object.\n","example":"my_system_group_id_456"},"external_application_id":{"type":"string","description":"Optional, but if you have an identifier in your system that refers to an application or an entire account,\nand you would like to associate it with one or more Journey Applications, you can include it here. We also have\na number of endpoints that allow you to reference a Journey Application by external application id instead of by\nJourney Application token when retrieving, rerunning or updating the Application. Supported characters are: `a-zA-Z0-9_-`\n"},"do_await_additional_entities":{"type":"boolean","default":false,"example":false,"description":"If this value is true, additional entities can be sent by using the PUT endpoint that updates a Journey Application.\n\nThe Journey Application will not complete until the parameter `has_finished_sending_additional_entities` is sent with the value `true` to the PUT endpoint.\n"},"application_meta":{"type":"object","description":"Optional, allows to provide additional metadata applied to all entities in the Application.\n"},"external_entity_group_id":{"type":"string","description":"Optional, but if you wish to associate the entities within this application with an existing entity group\nor create a new entity group with this identifier, you can include it here.\n\nFor more information on entity groups, visit our guide: https://developer.alloy.com/public/docs/onboarding-with-entity-groups\n"},"entity_group_token":{"type":"string","description":"Optional, but if you wish to associate the entities within this application with an existing entity group, you can include it here.\n"},"entity_group_name":{"type":"string","description":"Optional, but if you wish to create a new entity group with this name, you can include it here.\n"},"entity_group_type":{"type":"string","enum":["business","joint_account","membership","merchant"],"description":"Optional, but if you wish to create a new entity group with this type, you can include it here.\n"}}}}}},"responses":{"201":{"description":"Success","content":{"application/json":{"schema":{"oneOf":[{"allOf":[{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications~1%7Bjourney_application_token%7D/get/responses/200/content/application~1json/schema"},{"title":"When header `alloy-journey-override-sync` is set to `false` or not passed in"}]},{"allOf":[{"$ref":"#/paths/~1journeys~1applications~1ext~1%7Bexternal_application_id%7D~1latest/put/responses/200/content/application~1json/schema/oneOf/0/allOf/1"},{"title":"When header `alloy-journey-override-sync` is set to `true`"}]}]}}}},"400":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1batches/post/responses/400"},"401":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/401"},"404":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/404"},"409":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1batches/post/responses/409"},"429":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/429"},"500":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/500"},"503":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/503"}}}},"/journeys/applications/ext/{external_application_id}/latest":{"parameters":[{"in":"path","name":"external_application_id","schema":{"type":"string"},"required":true,"description":"External application identifier","example":"EXT-123456"},{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications/parameters/2"},{"in":"query","name":"journeyToken","schema":{"type":"string"},"required":false,"description":"Optional journey token filter","example":"J-2t94Ur3wOGmaVUyD4r8"}],"get":{"parameters":[{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications/parameters/3"}],"tags":["Journeys"],"summary":"Get latest Journey Application by External Application ID","description":"This endpoint retrieves the latest (i.e. most recently created) Application associated with the supplied External Application ID.\nIf the `journeyToken` query parameter is provided, the retrieved Application will be the latest Application associated with that particular Journey and the External Application ID.\n","responses":{"201":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications/post/responses/201"},"401":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/401"},"404":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/404"},"429":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/429"},"500":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/500"},"503":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/503"}}},"put":{"parameters":[{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications/parameters/1"}],"tags":["Journeys"],"summary":"Update latest Journey Application by External Application ID","description":"This endpoint allows you to update the latest (i.e. most recently created) Application associated with the supplied External Application ID.\nIf the `journeyToken` query parameter is provided, the retrieved Application will be the latest Application associated with that particular Journey and the External Application ID.\nThe use cases for the endpoint are elaborated in the regular \"Update Journey Application\" endpoint.\n","requestBody":{"content":{"application/json":{"schema":{"properties":{"has_finished_sending_additional_entities":{"type":"boolean","description":"If the parameter `do_await_additional_entities` was set to `true` in the POST request to create the journey application, sending this value as `true` informs the system that all additional entities have been sent in.\n"},"entities":{"type":"array","description":"List of entities that can refer either of the following, or a mix of both:\n  * Option 1: Adding new entities\n    * This option is valid in the case where the parameter `do_await_additional_entities` was set to `true` in the POST request to create the journey application.\n    * The parameters for this option are exactly the same as the `entity` object in the POST request to create the journey application.\n  * Option 2: Updating data for an existing person entity\n    * This option is valid in the case where the entity's application status is `data_request`.\n    * For multi-entity applications, the entity application must be identified by using at least one of the following parameters: `external_entity_id`, `entity_application_token`, or `entity_token`. See those parameters' descriptions for more detail.\n    * For single entity applications, no entity identifier is necessary.\n    * The data in the field `data` is recursively merged with the existing data object for the entity (i.e., the data passed in the POST request and the previous requests to this endpoint, if any).\n  * Option 3: Associating documents for an existing person entity\n    * This option is valid in the case where the entity's application status is `pending_step_up` or `pending_documents` (legacy).\n","items":{"anyOf":[{"title":"Adding new entities","$ref":"#/paths/~1journeys~1applications~1ext~1%7Bexternal_application_id%7D~1latest~1rerun/post/requestBody/content/application~1json/schema/properties/entities/items"},{"title":"Updating data for an existing person entity","allOf":[{"type":"object"},{"type":"object","properties":{"entity_token":{"example":"P-w34k2W324cfgo53ZqX","type":"string","description":"Unique identifier used in Alloy's systems to specify a particular entity to edit. Must match entity from Application.\nBy default, identifying an entity with this field selects the entity's **active** entity application.\n"},"external_entity_id":{"example":"my_system_entity_id_123","type":"string","description":"For existing entities that were created with external_entity_id, this can be used to identify and edit the entity's ACTIVE entity\napplication.\n"},"entity_application_token":{"example":"EA-0923jfss093ioawo","type":"string","description":"Can be used to identify and edit a specific entity application of an existing entity\n"}}},{"$ref":"#/paths/~1journeys~1applications~1ext~1%7Bexternal_application_id%7D~1latest~1rerun/post/requestBody/content/application~1json/schema/properties/entities/items/allOf/0"}]},{"title":"Associating documents for an existing person entity","allOf":[{"$ref":"#/paths/~1journeys~1applications~1ext~1%7Bexternal_application_id%7D~1latest/put/requestBody/content/application~1json/schema/properties/entities/items/anyOf/1/allOf/1"},{"type":"object","required":["data"],"properties":{"data":{"type":"object","description":"Properties of documents sent for a `pending_step_up` or `pending_documents` (legacy) step. The documents must be uploaded in a separate request and then associated with the entity in this request. You may either use our SDK ([see here](https://developer.alloy.com/public/docs/document-verification-web-sdk)) or our API ([see here](https://developer.alloy.com/public/reference/put_entities-entity-token-documents-document-token-1)) to upload documents.","properties":{"document_token_selfie":{"type":"string","description":"The document token for the previously uploaded selfie","example":"D-zzniuGvvvhkrGo0nUMcO"},"document_token_back":{"type":"string","description":"The document token for the back of the previously uploaded image","example":"D-zzniuGvvvhkrGo0nUMcO"},"document_token_front":{"type":"string","description":"The document token for the front of a previously uploaded image","example":"D-zzniuGvvvhkrGo0nUMcO"},"document_step":{"type":"string","description":"This is a field primarily used for legacy Alloy SDK. For journeys, the value should always be `final`. This will tell us to evaluate the document. If `front` or `back` is passed in, then only the quality of the corresponding image will be examined.","enum":["front","back","final"]}}}}}]}]}}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"oneOf":[{"allOf":[{"title":"When header `alloy-journey-override-sync` is set to `true`"},{"type":"object","properties":{"journey_application_token":{"type":"string","example":"JA-LS0GHKjDNhY6dGlvYxx"},"_links":{"type":"object","properties":{"self":{"type":"object","properties":{"href":{"type":"string","example":"/v1/journeys/J-Kq8jlFcA4veeHCtt823h/applications/JA-LS0GHKjDNhY6dGlvYxxH","description":"GET route for the Application"}}}}}}}]},{"allOf":[{"title":"When header `alloy-journey-override-sync` is set to `false` or not passed in"},{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications~1%7Bjourney_application_token%7D/get/responses/200/content/application~1json/schema"}]}]}}}}}}},"/journeys/entities/{external_entity_id}/applications":{"parameters":[{"in":"path","name":"external_entity_id","schema":{"type":"string"},"required":true,"description":"Alloy Entity Token or External identifier of the entity","example":"Alloy Token: P-xdO81d1VUsMwGk4zRl6J\n\nExternal Entity Token: MJ929-X433JX-EK\n"}],"get":{"tags":["Journeys"],"summary":"Get Journey Applications by Alloy Entity Token or External Entity ID.","description":"This endpoint retrieves a list of Journey Applications associated with the supplied Alloy Entity Token or an External Entity ID.\n","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"journey_application_token":{"type":"string","example":"JA-HVgmPEnrtWpnMTSfE5zm"},"created_at":{"type":"string","format":"date-time","example":"2025-06-10T13:30:31.352Z"},"journey_token":{"type":"string","example":"J-dT8zCu7TQo5tfXzSgrBY"},"journey_name":{"type":"string","example":"Name of the Journey Processed"},"journey_version":{"type":"string","example":"16"},"journey_type":{"type":"string","example":"application"},"evaluation_tokens":{"type":"array","items":{"type":"string"},"example":["S-SPchW8E20YJj0nkpYqvS"]}},"description":"A summary of a journey application."}}}}},"401":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/401"},"404":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/404"},"429":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/429"},"500":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/500"},"503":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/503"}}}},"/journeys/{journey_token}/applications/{journey_application_token}/rerun":{"parameters":[{"in":"path","name":"journey_token","schema":{"type":"string"},"required":true,"description":"Token associated with your Journey","example":"J-VCQoADBJxeHtmdAvFqoS"},{"in":"path","name":"journey_application_token","schema":{"type":"string"},"required":true,"description":"Token associated with your Journey Application","example":"JA-mhjlfS6nZe1G6HuvAKVq"},{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications/parameters/5"},{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications/parameters/6"},{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications/parameters/8"},{"in":"header","name":"alloy-journey-application-sync","schema":{"type":"boolean","description":"This endpoint returns an immediate asynchronous response by default. If you would like to override this behavior and get a synchronous response back, send the header `alloy-journey-application-sync` as `true`.\n","example":false}},{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications/parameters/2"}],"post":{"tags":["Journeys"],"summary":"Rerun Journey Application","description":"This endpoint re-runs an application that has already been run through Alloy. It will be run through the currently active version of the Journey, and will default to re-using the same payload as the original, but does allow for the user to optionally alter that original payload.\n\nThe options for altering are the following:\n- Edit any of the payload information for any of the entities in the application by including, within an object in the `entities` array, the `entity_token` of the entity to be altered. Include any number of fields to be altered. Assign a value of null for any field you want to exclude.\n- Add any number of new entities to the application by including new entity objects in the payload.\n- Delete entire entities by putting these entity tokens to be deleted into an array called `exclude_entity_tokens` (at least one entity must remain).\n\nAny of the below headers used with the original application will also be used here. To change the value of the header,\ninclude the updated value with this request.\n","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/paths/~1journeys~1applications~1ext~1%7Bexternal_application_id%7D~1latest~1rerun/post/requestBody/content/application~1json/schema"}}}},"responses":{"201":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications/post/responses/201"},"400":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1batches/post/responses/400"},"401":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/401"},"404":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/404"},"429":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/429"},"500":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/500"},"503":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/503"}}}},"/journeys/applications/ext/{external_application_id}/latest/rerun":{"parameters":[{"in":"path","name":"external_application_id","schema":{"type":"string"},"required":true,"description":"External application identifier, used to identify the original Application","example":"EXT-123456"},{"$ref":"#/paths/~1journeys~1applications~1ext~1%7Bexternal_application_id%7D~1latest/parameters/2"},{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications/parameters/2"},{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/parameters/1"},{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications/parameters/5"},{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications/parameters/6"},{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications/parameters/8"}],"post":{"tags":["Journeys"],"summary":"Rerun latest Journey Application by External Application ID","description":"This endpoint reruns the latest (i.e. most recently created) Application associated with the supplied External Application ID.\nIf the `journeyToken` query parameter is provided, the retrieved Application will be the latest Application associated with that particular Journey and the External Application ID.\nJust as with our other rerun endpoint, this will create a new Journey Application.\n","requestBody":{"content":{"application/json":{"schema":{"properties":{"external_application_id":{"type":"string","description":"Optional, allows to set a different external identifier for the new Application. If not supplied, the value will be\ncopied from the original Application (null if none had originally been provided). Supported characters are: `a-zA-Z0-9_-`\n"},"exclude_entity_tokens":{"type":"array","items":{"example":"P-w34k2W324cfgo53ZqX","type":"string"},"description":"List of entity tokens to be deleted\n"},"entities":{"type":"array","description":"List of entities to be processed in this Application.\n","items":{"allOf":[{"type":"object","required":["data"],"properties":{"external_entity_id":{"example":"my_system_entity_id_123","type":"string","description":"The value used on client's own system to identify the entity.\n\nIf an entity associated with the value passed in already exists, then the entity application processes for that entity. Otherwise, a new entity is created and associated with the value passed in.\n\nThis parameter is optional, but strongly encouraged.\n"},"data":{"type":"object","description":"Contains the fields for each input attribute of each workflow in the journey that is expected to be processed for the entity.\n","properties":{"name_first":{"type":"string","example":"John"},"name_middle":{"type":"string","example":"Franklin"},"name_last":{"type":"string","example":"Doe"},"birth_date":{"type":"string","example":"1990-01-25"},"document_ssn":{"type":"string","description":"Social Security number.","example":111223333},"document_national_id":{"type":"string","description":"National ID number for a non-US person entity.","example":111223333},"document_id_card":{"type":"string","description":"ID card number","example":1122334455},"document_license":{"type":"string","description":"U.S. issued driver's license number","example":111222333},"document_passport":{"type":"string","description":"Passport number","example":123456789},"email_address":{"type":"string","example":"john@alloy.com"},"gender":{"type":"string","example":"male"},"phone_number":{"type":"string","example":8443825569},"ip_address_v4":{"type":"string","example":"42.206.213.70"},"addresses":{"type":"array","description":"List of addresses for the given entity.\n","items":{"type":"object","description":"Full address for a person entity","properties":{"type":{"type":"string","description":"Allowed values are `\"primary\"`, `\"secondary\"`, `\"previous\"`, `\"mailing\"`, `\"shipping\"`, `\"service\"`, `\"other\"`","example":"primary"},"line_1":{"type":"string","example":"41 E. 11th"},"line_2":{"type":"string","example":"2nd floor"},"city":{"type":"string","example":"New York"},"state":{"type":"string","example":"NY"},"postal_code":{"type":"string","example":10003},"country_code":{"type":"string","example":"US"}}}},"meta":{"type":"object","description":"Any additional metadata to be accessed for decisioning or review purposes that are not sent to a data service can be referenced here.","example":{"user_type":"vip"}}}}}},{"type":"object","properties":{"entity_type":{"example":"person","default":"person","type":"string","enum":["person","business"],"description":"If left blank, defaults to `\"person\"`."},"branch_name":{"example":"my_person_branch_name","default":"persons","type":"string","description":"This value is required for journeys with multiple branches. It must match a journey branch configured from the start node. It is used to determine\nwhich steps the entity will be required to complete.\n"},"entity_token":{"example":"P-1GoQALm40nPQSp7UVTJS","type":"string","description":"The token associated with an existing entity.\n\nBy passing a value for this field, the entity application processes for the existing entity associated with the token.\n"}}}]}},"application_meta":{"type":"object","description":"Optional, allows to provide additional metadata applied to all entities in the Application. If not supplied, the value will be copied from the original Application (null if none had originally been provided)."}}}}}},"responses":{"200":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications/post/responses/201"},"400":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1batches/post/responses/400"},"401":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/401"},"404":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/404"},"429":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/429"},"500":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/500"},"503":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/503"}}}},"/journeys/{journey_token}/applications/{journey_application_token}":{"parameters":[{"in":"path","name":"journey_token","schema":{"type":"string"},"required":true,"description":"Token associated with your Journey","example":"J-VCQoADBJxeHtmdAvFqoS"},{"in":"path","name":"journey_application_token","schema":{"type":"string"},"required":true,"description":"Token associated with your Journey Application","example":"JA-mhjlfS6nZe1G6HuvAKVq"},{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications/parameters/2"}],"put":{"parameters":[{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications/parameters/1"}],"tags":["Journeys"],"summary":"Update Journey Application","description":"This endpoint has 3 different use cases:\n\n  * Send the additional or updated data required to advance the application.\n    * Only available if one or more entity applications have the statuses `pending_documents`, `pending_step_up`, or `data_request`.\n  * Send new, additional entities to be processed.\n    * Only available if the parameter `do_await_additional_entities` was set to `true` in the POST request to create the journey application.\n  * Inform the system that the user has finished sending all additional entities by passing the parameter `has_finished_sending_additional_entities` with value `true`.\n    * Only available if the parameter `do_await_additional_entities` was set to `true` in the POST request to create the journey application.\n\nAny of the headers used with the original application (ex: `alloy-sandbox`) will also be used here.\n","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/paths/~1journeys~1applications~1ext~1%7Bexternal_application_id%7D~1latest/put/requestBody/content/application~1json/schema"}}}},"responses":{"200":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications/post/responses/201"},"400":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1batches/post/responses/400"},"401":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/401"},"404":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/404"},"409":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1batches/post/responses/409"},"429":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/429"},"500":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/500"},"503":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/503"}}},"get":{"parameters":[{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications/parameters/2"},{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications/parameters/3"}],"tags":["Journeys"],"summary":"Get Journey Application","description":"Returns relevant data associated with a journey application.\n","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"journey_application_token":{"type":"string"},"status":{"type":"string","enum":["completed","data_request","error","expired","pending_action","pending_additional_entities","pending_documents","pending_journey_application_review","pending_reconciliation","pending_step_up","pending_workflow_service","running","waiting_review"]},"sandbox":{"type":"boolean"},"created_at":{"type":"integer"},"updated_at":{"type":"integer"},"closed_at":{"type":"integer"},"complete_outcome":{"type":"string"},"recent_outcome":{"type":"string","description":"Deprecated field"},"is_shadow_app":{"description":"indicates if the application was generated for a shadow test. This value is false for the parent applications that trigger the generation of the shadow applications.","type":"boolean"},"is_part_of_shadow_test":{"description":"indicates if the application is a part of a shadow test. This value is true for both the parent applications that trigger the generation of the shadow applications, as well as the shadow applications.","type":"boolean"},"journey_application_status":{"description":"derived from the `status` and `complete_outcome`, this value represents a simplified display status, as seen on the Journey Application Queue and Journey Application pages.","type":"string"},"is_archived":{"type":"boolean"},"external_group_id":{"type":"string"},"external_application_id":{"description":"allows to associate one or multiple Journey Applications with an external identifier","type":"string"},"is_rerun":{"type":"boolean"},"archived_at":{"type":"string"},"terminal_reconciliation_output":{"allOf":[{"type":"object","properties":{"outcome_reasons":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string","enum":["adverse_action",null]}}}},"tags":{"type":"array","items":{"type":"string"}},"output_attributes":{"type":"object","additionalProperties":{"oneOf":[{"type":"string"},{"type":"number"}],"description":"NOTE the dynamic property name refers to the name of the output attribute"}},"matrix_models":{"type":"object","additionalProperties":{"type":"object","description":"NOTE the dynamic property name refers to the name of the matrix model","properties":{"matrix_model_public_version":{"type":"integer"},"matrix_model_token":{"type":"string"},"name":{"type":"string"},"result":{"type":"number","nullable":true},"status":{"type":"string","enum":["executed","not_executed"]},"x_bucket":{"type":"number","nullable":true,"description":"x-coordinate of the matrix"},"x_value":{"type":"number","nullable":true},"y_bucket":{"type":"number","nullable":true,"description":"y-coordinate of the matrix"},"y_value":{"type":"number","nullable":true}}}}}}],"type":"object","description":"Data aggregated from the output of the terminal reconciliation evaluation"},"application_meta":{"type":"object","description":"Optional, allows to provide additional metadata applied to all entities in the Application."},"_embedded":{"type":"object","properties":{"rerun":{"description":"The journey application that this is a rerun of","type":"object","properties":{"initiated_by":{"type":"string","enum":["api","dashboard"]},"previous_journey_application_token":{"type":"string"},"root_external_group_id":{"type":"string"},"root_journey_application_token":{"type":"string"}}},"reruns":{"description":"The journey applications that are rerun versions of this application","type":"array","items":{"type":"object","properties":{"initiated_by":{"type":"string","enum":["dashboard","api"]},"next_journey_application_token":{"type":"string"},"created_at":{"type":"integer"}}}},"events":{"description":"List of journey application events, ordered chronologically. The fields displayed in the event will depend on the event type","type":"array","items":{"type":"object","properties":{"journey_application_event_token":{"type":"string"},"journey_application_token":{"type":"string"},"journey_type":{"type":"string","enum":["alert","application"]},"type":{"type":"string","enum":["application_archived","application_expired","application_unarchived","completed_action","completed_application","completed_branch","completed_evaluation","completed_mid_journey_reconciliation","completed_reconciliation","completed_review","completed_review_journey_application","data_request_evaluation","error","executed_branch_change","has_finished_sending_additional_entities","journey_application_retriggered","maximum_retries_reached","pending_action","pending_action_expired","pending_documents","pending_evaluation","pending_review","pending_step_up","pending_step_up_expired","pending_workflow_service","queued_branch_change","reached_application_outcome","reached_auto_decision_node","reached_mid_journey_reconciliation_node","reached_retry_node","started_application","started_evaluation","started_mid_journey_reconciliation","started_reconciliation","started_rerun_application","started_review","visited_node"]},"external_partner_id":{"type":"string"},"external_product_id":{"type":"string"},"external_group_id":{"type":"string"},"reason":{"type":"string"},"reasons":{"type":"array","items":{"type":"string"}},"timestamp":{"type":"integer"},"outcome":{"type":"string","description":"Populated for the following event types: `completed_action`, `completed_application`, `completed_branch`, `completed_evaluation`, `completed_review`, `pending_action_expired`"},"evaluation_token":{"type":"string","description":"Identifying evaluation token (only in evaluation type events)"},"entity_token":{"type":"string"},"entity_application_token":{"type":"string"},"error_data":{"type":"object","description":"Additional error data populated when available for `error` event types","properties":{"error":{"type":"object","properties":{"type":{"type":"string"},"details":{"type":"object"},"message":{"type":"string"},"minor_code":{"type":"integer"},"error_token":{"type":"string"}}},"timestamp":{"type":"integer"},"status_code":{"type":"integer"},"entity_token":{"type":"string"},"evaluation_token":{"type":"string"},"application_token":{"type":"string"},"application_version_id":{"type":"integer"}}},"_embedded":{"type":"object","properties":{"node":{"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string"},"type":{"type":"string","enum":["action","docv","outcome","reconciliation_workflow","review","step_up","workflow"]},"config":{"description":"Config related to the specific node, depending on the type","type":"object"},"workflow_name":{"type":"string"},"sdk_config":{"type":"object","description":"Settings to be read by SDK to handle processing. Only present on workflow node events.","properties":{"documents":{"type":"array","items":{"type":"string"}},"selfie":{"type":"boolean"}}}}}}},"_links":{"type":"object","properties":{"evaluation":{"type":"object","properties":{"href":{"type":"string"}}},"case":{"type":"object","properties":{"href":{"type":"string"}}}}}}}},"journey":{"type":"object","properties":{"journey_name":{"type":"string"},"journey_type":{"type":"string","enum":["application","alert"]},"journey_token":{"type":"string"},"journey_version_num":{"type":"string"},"_links":{"type":"object","properties":{"self":{"type":"object","properties":{"href":{"type":"string","description":"GET route for the Journey"}}},"callback_by_entity_application_token":{"type":"object","description":"When applicable, the route to send a PUT request to for each entity application to resolve its current pending state"}}}}},"child_entities":{"type":"array","items":{"type":"object","properties":{"external_entity_identifier":{"type":"string"},"name":{"type":"string"},"token":{"type":"string"},"type":{"type":"string"},"entity_application_token":{"type":"string"},"entity_application_status":{"type":"string"},"entity_application_outcome":{"type":"string"},"entity_application_branch_name":{"type":"string"},"created":{"type":"string"},"sandbox_persona_name":{"type":"string","description":"When applicable, name of sandbox persona used for this child entity"}}}},"entity_applications":{"type":"array","items":{"type":"object","properties":{"entity_token":{"type":"string"},"entity_application_token":{"type":"string"},"entity_application_outcome":{"type":"string"},"entity_application_status":{"type":"string"},"sdk_link":{"type":"string"},"dimensions":{"type":"array","description":"The dimension(s) that triggered this entity application. This is only applicable when the application was created by a portfolio evaluation.","items":{"type":"object","properties":{"dimension":{"type":"string"},"dimension_type":{"type":"string"}}}},"entity_application_status_details":{"type":"object","description":"Additional details for applications that have status `data_request` or `pending_workflow_service`.\n* If the status is `data_request`, the `required`, `or`, and `optional` fields will be populated based on the journey configuration.\n* If the status is `pending_workflow_service`, the fields will be dependent on the services configured for the journey. Please speak to your representative for more information.\n","properties":{"required":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"type":{"type":"string"},"regex":{"type":"string"},"message":{"type":"string"},"description":{"type":"string"}}}},"or":{"type":"string"},"optional":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"type":{"type":"string"},"regex":{"type":"string"},"description":{"type":"string"}}}}}},"output":{"allOf":[{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications~1%7Bjourney_application_token%7D/get/responses/200/content/application~1json/schema/properties/terminal_reconciliation_output/allOf/0"}],"type":"object","description":"Data aggregated from the outputs of every evaluation run for the entity application"}}}},"entity":{"description":"The journey application entity","type":"object","properties":{"external_entity_identifier":{"type":"string"},"name":{"type":"string"},"token":{"type":"string"},"type":{"type":"string"}}},"entity_group":{"description":"The entity group associated with the application","type":"object","properties":{"name":{"type":"string"},"token":{"type":"string"},"type":{"type":"string","enum":["business","joint_account","membership","merchant"]}}},"multi_environment_config":{"allOf":[{"type":"object","properties":{"multi_environment_config_token":{"type":"string"},"multi_environment_config_notes":{"type":"string"},"created_at":{"type":"string"},"journey_token":{"type":"string"},"journey_name":{"type":"string"},"journey_public_version":{"type":"number"},"actions":{"description":"List of journey actions that have been configured as part of this Multi-Environment Configuration.","type":"array","items":{"type":"object","properties":{"journey_action_id":{"type":"number"},"action_version":{"type":"number"},"action_name":{"type":"string"},"outcome":{"description":"The outcome that all action nodes for this journey action will be decisioned to.","type":"string"}}}},"workflows":{"description":"List of workflows that have been configured as part of this Multi-Environment Configuration.\nWorkflows will either have an outcome or a list of configured services.\n","type":"array","items":{"type":"object","properties":{"workflow_name":{"type":"string"},"workflow_node_type":{"description":"The type of node this workflow is used as, for example Step Up","type":"string"},"workflow_token":{"type":"string"},"workflow_public_version":{"type":"number"},"outcome":{"description":"The outcome that all workflow nodes using this workflow will be decisioned to.","type":"string"},"configured_services":{"type":"array","items":{"type":"object","properties":{"service_name":{"type":"string"},"has_credentials":{"description":"True if this service has been configured with test credentials, false otherwise.","type":"boolean"},"sandbox":{"description":"True if this service has been configured to run in Alloy's sandbox environment, false otherwise.","type":"boolean"},"credentials_description":{"type":"string"}}}}}}}}}],"description":"If the application has been created with a Multi-Environment Configuration, the details will be included here."},"is_pending_additional_entities":{"allOf":[{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications/post/requestBody/content/application~1json/schema/properties/do_await_additional_entities"}]},"investigations":{"type":"array","description":"When applicable, the list of Investigations created by this Alert.","items":{"type":"object","properties":{"investigation_token":{"type":"string"},"investigation_state":{"type":"string","enum":["alert_review","alert_review_closed","case_review","case_review_closed","open"]}}}}}},"_links":{"type":"object","properties":{"self":{"type":"object","properties":{"href":{"description":"GET route for the Application","type":"string"}}}}}},"example":{"journey_application_token":"JA-ddjP31DhduTI334Cs3uT","credit_limit":"42","annual_interest_rate":"70","status":"completed","sandbox":false,"created_at":1634059958368,"updated_at":1634059961458,"closed_at":1634059961464,"recent_outcome":null,"complete_outcome":"Approved","journey_application_status":"Approved","is_rerun":true,"external_partner_id":"null,","external_group_id":"null,","external_application_id":"null,","is_archived":"false,","is_escalated":"false,","is_shadow_application":"false,","is_part_of_shadow_test":"false,","archived_at":"null,","application_meta":"null,","terminal_reconciliation_output":{"outcome_reasons":[{"name":"Fraud Risk","type":null}],"tags":["fraud_tag","Fraud Risk"],"output_attributes":{"income_calculation":98000},"matrix_models":{"my_matrix":{"matrix_model_public_version":5,"matrix_model_token":"MM-Z37VkZwHMbnzhLJM7ZlX","name":"my_matrix","result":15,"status":"executed","x_bucket":1,"x_value":1000,"y_bucket":0,"y_value":300}}},"_embedded":{"rerun":{"initiated_by":"dashboard","previous_journey_application_token":"JA-zvtpApEGBnmKepPwygBx","root_external_group_id":null,"root_journey_application_token":"JA-zvtpApEGBnmKepPwygBx"},"reruns":[],"events":[{"type":"started_application","timestamp":1634059958414,"entity_token":null,"_embedded":{"node":{"name":null,"id":"1632850505316","type":"workflow","config":{"workflow_token":"vUr2Fs1y8Qiz1a79kNJk1dk7EfYUAJRK","workflow_version_id":1}}},"_links":{}},{"type":"started_evaluation","timestamp":1634059958531,"evaluation_token":"L-Vn9uOp0ZyYvjDL1t3Sd7","entity_token":null,"_embedded":{"node":{"name":null,"id":"1632850505316","type":"workflow","config":{"workflow_token":"vUr2Fs1y8Qiz1a79kNJk1dk7EfYUAJRK","workflow_version_id":1}}},"_links":{"evaluation":{"href":"/v1/evaluations/L-Vn9uOp0ZyYvjDL1t3Sd7"}},"sdk_config":{"documents":["passport"],"selfie":true}},{"type":"completed_evaluation","timestamp":1634059960557,"outcome":"Approved","evaluation_token":"L-Vn9uOp0ZyYvjDL1t3Sd7","entity_token":"P-tZOLIOQGVxfixICuvkS0","_embedded":{"node":{"name":null,"id":"1632850505316","type":"workflow","config":{"workflow_token":"vUr2Fs1y8Qiz1a79kNJk1dk7EfYUAJRK","workflow_version_id":1}}},"_links":{"evaluation":{"href":"/v1/evaluations/L-Vn9uOp0ZyYvjDL1t3Sd7"}}},{"type":"completed_application","timestamp":1634059961453,"outcome":"Approved","entity_token":"P-tZOLIOQGVxfixICuvkS0","_embedded":{"node":{"name":null,"id":"1633639581306","type":"outcome","config":{"outcome":"Approved"}}},"_links":{}}],"journey":{"journey_name":"","journey_type":"application","journey_token":"J-qDydegaMK8otdsRYquOR","_links":{"self":{"href":"/v1/journeys/J-qDydegaMK8otdsRYquOR"},"callback_by_entity_application_token":{"href":"/v1/journeys/J-rTE9lsgkluEMB6pWp6Y5/applications/JA-iLh1wxtrpfGuncHQVcwK/nodes/97b927fe-637b-42be-aa70-1e998ad57bb3"}}},"child_entities":[{"external_entity_identifier":"external_entity_id123","name":"John Doe","token":"P-tZOLIOQGVxfixICuvkS0","type":"person","entity_application_token":"EA-GessHRonFRTSXCmErk7J","entity_application_status":"completed","entity_application_outcome":"approved","created":"2021-10-12T20:38:26.493Z"}],"entity_applications":[{"entity_token":"P-tZOLIOQGVxfixICuvkS0","entity_application_token":"EA-GessHRonFRTSXCmErk7J","entity_application_outcome":"approved","entity_application_status":"completed","entity_application_status_details":null,"sdk_link":null,"dimensions":null,"output":{"outcome_reasons":[{"name":"Fraud Risk","type":null}],"tags":["fraud_tag","Fraud Risk"],"output_attributes":{"income_calculation":98000},"matrix_models":{"my_matrix":{"matrix_model_public_version":5,"matrix_model_token":"MM-Z37VkZwHMbnzhLJM7ZlX","name":"my_matrix","result":15,"status":"executed","x_bucket":1,"x_value":1000,"y_bucket":0,"y_value":300}}}}],"is_pending_additional_entities":false,"entity":{"external_entity_identifier":null,"name":null,"token":"G-wBdsvC7hA84j7p4PTVcD","type":"group"},"entity_group":{"name":"Jane's Biscuit Co.","token":"EG-CNh8eYbhfN8vJVE1Ljpk","type":"business"}},"_links":{"self":{"href":"/v1/journeys/J-qDydegaMK8otdsRYquOR/applications/JA-ddjP31DhduTI334Cs3uT"}}}}}}},"401":{"description":"Authentication Failure","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications~1%7Bjourney_application_token%7D~1review~1%7Bmanual_review_token%7D/get/responses/401/content/application~1json/schema"}]}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"status_code":{"type":"string","example":404},"error":{"type":"object","properties":{"minor_code":{"type":"number","example":4041},"type":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"Unable to find the requested resource"},"details":{"type":"object","properties":{"journey_token":{"type":"string","example":"J-dT8zCu7TQo5tfXzSgrBX"},"journey_application_token":{"type":"string","example":"JA-mmVXL2SMEfVQ2pZhszlGX"}}},"error_token":{"type":"string","example":"1731f999-7390-4e28-be34-9bbbee5251a2"}}},"timestamp":{"type":"number","example":1725386185011},"evaluation_token":{"type":"string","example":null},"entity_token":{"type":"string","example":null},"application_token":{"type":"string","example":"nsDnk3oWWaKg2doAv9RWGrRnPOPsy1fX"},"application_version_id":{"type":"string","example":null}}}]}}}},"429":{"description":"Rate Limit Exceeded","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"status_code":{"type":"string","example":429},"error":{"type":"object","properties":{"minor_code":{"type":"integer","example":4033},"type":{"type":"string","example":"Rate Limit Exceeded"},"message":{"type":"string","example":"You have reached the maximum rate."},"details":{"type":"object","additionalProperties":true},"error_token":{"type":"string"}}},"timestamp":{"type":"integer","example":1737562731251},"evaluation_token":{"type":"string","nullable":true,"example":null},"entity_token":{"type":"string","nullable":true,"example":null},"application_token":{"type":"string"},"application_version_id":{"type":"string","nullable":true,"example":null}}}]}}}},"500":{"description":"Unhandled Service Error","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"status_code":{"type":"string","example":500},"error":{"type":"object","properties":{"minor_code":{"type":"number","example":5000},"type":{"type":"string"},"message":{"type":"string"},"error_token":{"type":"string","example":"31e6e353-e62b-4fe2-be16-ea37ea9a992c"}}},"timestamp":{"type":"number","example":1725386185011},"evaluation_token":{"type":"string","example":null},"entity_token":{"type":"string","example":null},"application_token":{"type":"string"},"application_version_id":{"type":"string","example":null}}}]}}}},"503":{"description":"Temporarily Offline for Maintenance","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/paths/~1investigations~1%7Binvestigation_token%7D~1review/put/responses/404/content/application~1json/schema/allOf/0"}]}}}}}}},"/journeys/{journey_token}/applications/{journey_application_token}/nodes/{node_id}":{"put":{"parameters":[{"in":"path","name":"journey_token","required":true,"description":"Token associated with your Journey","schema":{"type":"string","example":"J-VCQoADBJxeHtmdAvFqoS"}},{"in":"path","name":"journey_application_token","required":true,"description":"Token associated with your Journey Application","schema":{"type":"string","example":"JA-mhjlfS6nZe1G6HuvAKVq"}},{"in":"path","name":"node_id","required":true,"description":"Id of action node. This can be retrieved through the `pending_action` event in the journey application response","schema":{"type":"string","example":"1653494699250"}},{"in":"query","name":"entity_token","description":"Identifier of the entity","schema":{"type":"string","example":"P-VJy577gSbYvm5cpKwkjH"}},{"in":"query","name":"entity_application_token","description":"Identifier of the entity's application","schema":{"type":"string","example":"EA-mj6K0TmIHTa7ufo0hQSC"}},{"in":"query","name":"external_entity_id","description":"Identifier of the entity as supplied in the create journey application request","schema":{"type":"string"}}],"tags":["Journeys"],"summary":"Update Journey Application Action Node","description":"If an entity application has the status `pending_action`, this endpoint must be used to inform the system of the outcome of the action and advance the application accordingly.\n\nFor multi-entity applications, the entity application must be identified by sending either `entity_application_token`, `entity_token`, or `external_entity_id`. See those parameters' descriptions for more detail.\n\nIf the action has been configured to expire, the system checks if an action has expired every 12 hours from the time the application visits the action node. The system also checks for expiration if a request to this endpoint is made, and the application will advance according to the journey configuration if the action node has expired.\n\nAdditional data can also be optionally sent to the subsequent nodes in order to update the application.\n","requestBody":{"content":{"application/json":{"schema":{"required":["outcome"],"properties":{"outcome":{"type":"string","enum":["approved","denied","manual review"],"description":"Action outcome to set for the given entity. This outcome must be a valid outcome of the node.\n"},"data":{"type":"object","description":"Optional payload to be merged into the application's existing payload and passed\nto subsequent nodes as input attributes\n","example":{"creditScore":800,"creditLine":5000}}}}}}},"responses":{"200":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications/post/responses/201"},"400":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1batches/post/responses/400"},"401":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/401"},"404":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/404"},"409":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1batches/post/responses/409"},"429":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/429"},"500":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/500"},"503":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/503"}}}},"/journeys/{journey_token}/applications/{journey_application_token}/cases/{case_token}/review":{"post":{"parameters":[{"in":"path","name":"journey_token","required":true,"description":"Token associated with your Journey","schema":{"type":"string","example":"J-VCQoADBJxeHtmdAvFqoS"}},{"in":"path","name":"journey_application_token","required":true,"description":"Token associated with your Journey Application","schema":{"type":"string","example":"JA-mhjlfS6nZe1G6HuvAKVq"}},{"in":"path","name":"case_token","required":true,"description":"Identifier of the case that's being reviewed. You can get this from the list of Journey Application events returned by the GET request where the event `type` is `pending_review` and the `entity_application_token` is for the entity application you wish to review.","schema":{"type":"string","example":"C-9fYQgwCIFIrlzmFBu8Im"}}],"tags":["Journeys"],"summary":"Manual Review Entity Application","description":"If an entity application has the status `waiting_review`, this endpoint can be used to inform the system of the outcome of the manual review and submit review notes. In the first request for a given case, the outcome and optionally reason and note are submitted. In subsequent requests for the same case, only the note is allowed, as the review is closed and no longer accepting new outcomes or reasons.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications~1%7Bjourney_application_token%7D~1review/post/requestBody/content/application~1json/schema"}}}},"responses":{"201":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications/post/responses/201"},"400":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1batches/post/responses/400"},"401":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/401"},"404":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/404"},"409":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1batches/post/responses/409"},"429":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/429"},"500":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/500"},"503":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/503"}}}},"/journeys/{journey_token}/applications/{journey_application_token}/review":{"post":{"parameters":[{"in":"path","name":"journey_token","required":true,"description":"Token associated with your Journey","schema":{"type":"string","example":"J-VCQoADBJxeHtmdAvFqoS"}},{"in":"path","name":"journey_application_token","required":true,"description":"Token associated with your Journey Application","schema":{"type":"string","example":"JA-mhjlfS6nZe1G6HuvAKVq"}}],"tags":["Journeys"],"summary":"Manual Review Journey Application","description":"If a journey application has the status `pending_journey_application_review`, this endpoint can be used to inform the system of the outcome of the manual review and submit review notes. The outcome submitted here will be the final outcome of the journey application.","requestBody":{"content":{"application/json":{"schema":{"properties":{"note":{"type":"string","description":"Note to be attached to the review.","example":"This is good to go"},"outcome":{"type":"string","description":"Outcome to complete the manual review with.","example":"Approved"},"reason":{"type":"string","description":"Reason for the given outcome. This must be associated with the outcome in the Alloy portal.\nEither this field OR the 'reasons' field must be provided. If both are provided, 'reasons' will be used.\n","example":"Passed manual checks"},"reasons":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Reasons for the given outcome. All reasons must be associated with the outcome in the Alloy portal.\nEither this field OR the 'reason' field must be provided. If both are provided, 'reasons' will be used.\n","example":["Passed manual checks","Verified documentation"]}}}}}},"responses":{"201":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications/post/responses/201"},"400":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1batches/post/responses/400"},"401":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/401"},"404":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/404"},"409":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1batches/post/responses/409"},"429":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/429"},"500":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/500"},"503":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/503"}}}},"/journeys/{journey_token}/applications/{journey_application_token}/review/{manual_review_token}":{"get":{"summary":"Get Alert Manual Review Token","description":"Retrieve an alert manual review by token","tags":["Journeys"],"parameters":[{"in":"path","name":"journey_token","required":true,"description":"Token associated with your Journey","schema":{"type":"string","example":"J-VCQoADBJxeHtmdAvFqoS"}},{"in":"path","name":"journey_application_token","required":true,"description":"Token associated with your Journey Application","schema":{"type":"string","example":"JA-mhjlfS6nZe1G6HuvAKVq"}},{"in":"path","name":"manual_review_token","required":true,"description":"Token associated with your Alert Manual Review","schema":{"type":"string","example":"AMR-VhiWhfih2l35Ls9gHks2"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"alert_manual_review_token":{"type":"string","example":"AMR-VhiWhfih2l35Ls9gHks2"},"created_at":{"type":"number","example":1691099355351},"note":{"type":"string","example":"my note"},"outcome":{"type":"string","example":"Review outcome"},"reason":{"type":"string","example":"Review reason"},"reviewed_at":{"type":"string","example":1691099355351},"reviewed_by":{"type":"object","properties":{"first_name":{"type":"string","example":"Mike"},"last_name":{"type":"string","example":"Alloy"},"email":{"type":"string","example":"agent@email.com"},"token":{"type":"string","example":"AG-H29rgRhhG1sk5dn4lWWn"}}},"_embedded":{"type":"object","properties":{"investigation":{"type":"object","properties":{"investigation_token":{"type":"string","example":"INV-EAx2xoAsqF1ibKTQzkXV"}}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"string","example":401},"error":{"type":"object","properties":{"minor_code":{"type":"number","example":4011},"type":{"type":"string","example":"Unauthorized"},"message":{"type":"string","example":"Your supplied credentials are invalid."},"details":{"type":"object"}}},"timestamp":{"type":"number","example":1725393617598},"evaluation_token":{"type":"string","example":null},"entity_token":{"type":"string","example":null},"application_token":{"type":"string","example":null},"application_version_id":{"type":"string","example":null}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"string","example":404},"error":{"type":"object","properties":{"minor_code":{"type":"number","example":4041},"type":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"Unable to find the requested resource"},"details":{"type":"object","properties":{"external_application_id":{"type":"string","example":"X43jkf-01"}}},"error_token":{"type":"string","example":"1731f999-7390-4e28-be34-9bbb43dfs"}}},"timestamp":{"type":"number","example":1725386185011},"evaluation_token":{"type":"string","example":null},"entity_token":{"type":"string","example":null},"application_token":{"type":"string","example":"nsDnk3oWWaKg2doAv9RWG43sdjfdX"},"application_version_id":{"type":"string","example":null}}}}}}}}},"/journeys/{journey_token}/schema":{"parameters":[{"in":"path","name":"journey_token","schema":{"type":"string"},"required":true,"description":"Token associated with your Journey","example":"J-VCQoADBJxeHtmdAvFqoS"},{"in":"header","name":"alloy-journey-version","schema":{"type":"number","description":"Specifies the journey version to create an application from.\nThis includes drafts and inactive versions.\nIf not supplied, the active journey version will be used.\n","example":1}}],"get":{"tags":["Journeys"],"summary":"Get Journey Schema","description":"This endpoint retrieves the required and optional parameters for a given Journey.\nThe parameters will be aggregated and segmented by branch.\n","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"journey_token":{"type":"string"},"journey_version":{"type":"integer"},"timestamp":{"type":"integer"},"branches":{"type":"array","items":{"type":"object","properties":{"branch_name":{"type":"string"},"schema":{"type":"object","properties":{"type":{"type":"string"},"properties":{"type":"object","additionalProperties":true},"required":{"type":"array","items":{"type":"string"}},"x-alloy-and":{"type":"array","items":{"type":"string"}},"x-alloy-or":{"type":"array","items":{"type":"string"}},"x-alloy-with":{"type":"array","items":{"type":"string"}},"x-alloy-missing-vendor-schemas":{"type":"array","items":{"type":"string"}},"x-alloy-input-attributes":{"type":"array","items":{"type":"string"}},"x-alloy-jq-input-attributes":{"type":"array","items":{"type":"string"}},"x-alloy-published-attributes":{"type":"array","items":{"type":"string"}}}}}}}}}}}},"401":{"description":"Authentication Failure","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications~1%7Bjourney_application_token%7D~1review~1%7Bmanual_review_token%7D/get/responses/401/content/application~1json/schema"}]}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"status_code":{"type":"string","example":404},"error":{"type":"object","properties":{"minor_code":{"type":"number","example":4041},"type":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"Unable to find the requested resource"},"details":{"type":"object","properties":{"journey_token":{"type":"string"}}},"error_token":{"type":"string","example":"93d34663-93ef-425f-aca3-a51d443d55bX"}}},"timestamp":{"type":"number","example":1725386185011},"evaluation_token":{"type":"string","example":null},"entity_token":{"type":"string","example":null},"application_token":{"type":"string","example":"nsDnk3oWWaKg2doAv9RWGrRnPOPsy1fX"},"application_version_id":{"type":"string","example":null}}}]}}}},"429":{"description":"Rate Limit Exceeded","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications~1%7Bjourney_application_token%7D/get/responses/429/content/application~1json/schema/allOf/0"}]}}}},"500":{"description":"Unhandled Service Error","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications~1%7Bjourney_application_token%7D/get/responses/500/content/application~1json/schema/allOf/0"}]}}}},"503":{"description":"Temporarily Offline for Maintenance","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/paths/~1investigations~1%7Binvestigation_token%7D~1review/put/responses/404/content/application~1json/schema/allOf/0"}]}}}}}}},"/journeys/{journey_token}/parameters":{"parameters":[{"in":"path","name":"journey_token","schema":{"type":"string"},"required":true,"description":"Token associated with your Journey","example":"J-VCQoADBJxeHtmdAvFqoS"},{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/parameters/1"}],"get":{"tags":["Journeys"],"summary":"Get Journey Parameters","description":"This endpoint retrieves the required and optional parameters for all workflow nodes in the given Journey.\nThe parameters will be aggregated and segmented by branch and then by workflow. Any workflow that exists more than\nonce within a branch will be deduplicated in the response for that branch.\n","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"journey_token":{"type":"string"},"journey_version":{"type":"string"},"timestamp":{"type":"integer"},"data":{"type":"array","items":{"type":"object","properties":{"branch_name":{"type":"string"},"workflows":{"type":"array","items":{"type":"object","properties":{"workflow_name":{"type":"string"},"parameters":{"type":"object","properties":{"required":{"type":"array","items":{"type":"object"}},"optional":{"type":"array","items":{"type":"object"}},"or":{"type":"array","items":{"type":"object"}}}}}}}}}}}}}}},"401":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/401"},"404":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/404"},"429":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/429"},"500":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/500"},"503":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/503"}}}},"/journeys/{journey_token}/batches":{"post":{"parameters":[{"in":"path","name":"journey_token","required":true,"description":"Identifier of the journey","schema":{"type":"string","example":"J-VCQoADBJxeHtmdAvFqoS"}},{"in":"header","name":"alloy-sandbox-use-webhooks","description":"Evaluation header","schema":{"type":"boolean"}},{"in":"header","name":"alloy-bypass-formatter","description":"Evaluation header","schema":{"type":"boolean"}},{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/parameters/1"}],"tags":["Journeys"],"summary":"Create Journey Application Batch","description":"Create a batch of journey applications by passing in a list of entities, grouped into different applications\nby the multi_entity_application_batch_key that can be optionally supplied for each entity\n","requestBody":{"content":{"application/json":{"schema":{"required":["entities"],"properties":{"entities":{"type":"array","description":"List of entities to be processed in this Application.\n","items":{"allOf":[{"$ref":"#/paths/~1journeys~1applications~1ext~1%7Bexternal_application_id%7D~1latest~1rerun/post/requestBody/content/application~1json/schema/properties/entities/items"},{"type":"object","properties":{"multi_entity_application_batch_key":{"type":"string","description":"Use this key to group together multiple entities into the same application, i.e. whichever\nentities have the same multi_entity_application_batch_key, will be created in the same\njourney application. The key will be unique to the batch.\n"},"auto_decision_node_outcomes":{"type":"object","description":"Supported for both sandbox and prod. This key allows to set outcomes in advance for specified nodes\nin the journey, and skips executing those nodes while running the application. This can be done by\nsupplying a node identifier and its desired outcome. If a workflow or action name is specified, any\nappearances of that workflow/action in the journey will be auto-decisioned. If a node's public id is\nspecified, only that node will be auto-decisioned. If \"Manual Review\" is specified as the node\nidentifier, any manual review nodes in the journey will be auto-decisioned. Workflow/action names\nare case sensitive. Outcomes are case insensitive.\n","example":{"Manual Review":"approved","Authy":"approved","23489243289":"denied"}},"external_partner_id":{"type":"string"},"external_group_id":{"type":"string"}}}]}}}}}}},"responses":{"202":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"journey_batch_status":{"type":"string","enum":["pending","complete","failed","pre_run"],"description":"Current status of batch"},"journey_batch_token":{"type":"string","description":"Unique identifier for newly created batch"},"_links":{"type":"object","properties":{"self":{"type":"object","properties":{"href":{"description":"Link to journey batch","type":"string"}}}}},"error":{"type":"string"}}}}}},"400":{"description":"Request Body Failure","content":{"application/json":{"schema":{"oneOf":[{"allOf":[{"type":"object","properties":{"status_code":{"type":"string","example":400},"error":{"type":"object","properties":{"minor_code":{"type":"number","example":4003},"type":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","properties":{"journey_token":{"type":"string"}}},"error_token":{"type":"string"}}},"timestamp":{"type":"number","example":1725386185011},"evaluation_token":{"type":"string","example":"L-5zKNd6TaKRoUILGAFTD6"},"entity_token":{"type":"string","example":"P-A7dEY59iV6SZhLKGq812"},"application_token":{"type":"string","example":"nsDnk3oWWaKg2doAv9RWGrRnPOPs126X"},"application_version_id":{"type":"string","example":null}}},{"title":"Request Body Failure"}]}]}}}},"401":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/401"},"404":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/404"},"409":{"description":"Resource Conflict","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"status_code":{"type":"string","example":409},"error":{"type":"object","properties":{"minor_code":{"type":"number","example":4091},"type":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","properties":{"document_token":{"type":"string"},"entity_token":{"type":"string"}}},"error_token":{"type":"string"}}},"timestamp":{"type":"number","example":1725386185011},"evaluation_token":{"type":"string","example":null},"entity_token":{"type":"string","example":null},"application_token":{"type":"string"},"application_version_id":{"type":"string","example":null}}}]}}}},"429":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/429"},"500":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/500"},"503":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/503"}}}},"/journeys/{journey_token}/batches/{journey_batch_token}":{"get":{"parameters":[{"in":"path","name":"journey_token","required":true,"description":"Identifier of the journey","schema":{"type":"string","example":"J-VCQoADBJxeHtmdAvFqoS"}},{"in":"path","name":"journey_batch_token","required":true,"description":"Identifier of the journey application batch","schema":{"type":"string","example":"JB-NOGIVYpdGJ3IG5kQXlpc"}}],"tags":["Journeys"],"summary":"Get Journey Application Batch Summary","description":"Get details about a specific journey application batch.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1batches/post/responses/202/content/application~1json/schema"},{"type":"object","properties":{"completed_at":{"type":"number","description":"Timestamp of batch completion"},"created_at":{"type":"number","description":"Timestamp of batch creation"},"summary":{"type":"object","properties":{"status":{"type":"object","properties":{"queued":{"type":"number"},"running":{"type":"number"},"waiting_review":{"type":"number"},"error":{"type":"number"},"completed":{"type":"number"},"data_request":{"type":"number"},"pending_action":{"type":"number"},"pending_documents":{"type":"number"},"withdrawn":{"type":"number"},"pending_journey_application_review":{"type":"number"},"pending_additional_entities":{"type":"number"},"pending_step_up":{"type":"number"},"pending_workflow_service":{"type":"number"},"expired":{"type":"number"},"pending_reconciliation":{"type":"number"}}},"task_status":{"type":"object","properties":{"response_returned":{"type":"number"},"application_failed":{"type":"number"},"pending":{"type":"number"},"timed_out":{"type":"number"}}},"total_records":{"type":"number","description":"Number of tasks in the batch"}}},"_links":{"type":"object","properties":{"applications":{"type":"object","properties":{"href":{"description":"Link to batch journey applications","type":"string"}}}}}}}]}}}}}}},"/journeys/{journey_token}/batches/{journey_batch_token}/applications":{"get":{"parameters":[{"in":"path","name":"journey_token","required":true,"description":"Identifier of the journey","schema":{"type":"string","example":"J-VCQoADBJxeHtmdAvFqoS"}},{"in":"path","name":"journey_batch_token","required":true,"description":"Identifier of the journey application batch","schema":{"type":"string","example":"JB-NOGIVYpdGJ3IG5kQXlpc"}},{"in":"query","name":"page","required":false,"description":"Which page number to return. Default is 1","schema":{"type":"number","example":1}},{"in":"query","name":"per_page","required":false,"description":"How many results per page to return. Default/maximum is 1000","schema":{"type":"number","example":1000}}],"tags":["Journeys"],"summary":"Get Batch Journey Applications","description":"Get list of journey applications for specified batch.","responses":{"200":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications/post/responses/201"},"400":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1batches/post/responses/400"},"401":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/401"},"404":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/404"},"409":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1batches/post/responses/409"},"429":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/429"},"500":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/500"},"503":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/503"}}}},"/journeys/{journey_token}/applications/{journey_application_token}/notes":{"post":{"parameters":[{"in":"path","name":"journey_token","required":true,"description":"Identifier of the journey","schema":{"type":"string","example":"J-VCQoADBJxeHtmdAvFqoS"}},{"in":"path","name":"journey_application_token","required":true,"description":"Token associated with your Journey Application","schema":{"type":"string","example":"JA-mhjlfS6nZe1G6HuvAKVq"}}],"tags":["Journeys"],"summary":"Create Journey Application Note","description":"Create a note associated with the specified Journey Application","requestBody":{"content":{"application/json":{"schema":{"required":["note_author_agent_email","note"],"properties":{"note_author_agent_email":{"type":"string","description":"Email address of the agent creating the note\n","example":"matt@alloy.com"},"note":{"type":"string","description":"The text content of the note being added to the journey application\n"}}}}}},"responses":{"201":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"note":{"type":"string","description":"The text content of the note being added to the Journey Application"},"note_author_agent_email":{"type":"string","description":"Email address of the agent that created the note","example":"matt@alloy.com"},"created_at":{"type":"string","description":"Timestamp of when the Journey Application was created"},"updated_at":{"type":"string","description":"Timestamp of when the Journey Application was last updated"}}}}}}}},"get":{"parameters":[{"in":"path","name":"journey_token","required":true,"description":"Identifier of the journey","schema":{"type":"string","example":"J-VCQoADBJxeHtmdAvFqoS"}},{"in":"path","name":"journey_application_token","required":true,"description":"Token associated with your Journey Application","schema":{"type":"string","example":"JA-mhjlfS6nZe1G6HuvAKVq"}}],"tags":["Journeys"],"summary":"Get Journey Application Notes","description":"Retrieve all notes associated with the specified Journey Application","responses":{"200":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1applications/post/responses/201"},"400":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1batches/post/responses/400"},"401":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/401"},"404":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/404"},"429":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/429"},"500":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/500"},"503":{"$ref":"#/paths/~1journeys~1%7Bjourney_token%7D~1schema/get/responses/503"}}}},"/journeys/{journey_token}/applications/{journey_application_token}/auditAccess":{"parameters":[{"in":"path","name":"journey_token","schema":{"type":"string"},"required":true,"description":"Token associated with your Journey","example":"J-VCQoADBJxeHtmdAvFqoS"},{"in":"path","name":"journey_application_token","schema":{"type":"string"},"required":true,"description":"Token associated with your Journey Application","example":"JA-mhjlfS6nZe1G6HuvAKVq"}],"patch":{"summary":"Update Partial Audit Access for Journey Application","description":"Updates the partial audit access permissions for a journey application and all associated evaluations, entities, and resources. This endpoint allows child customers in an Embedded Finance setup to grant partial audit access to parent organizations.\n\nPartial audit access enables parent organizations to view specific journey applications and their related data without having full access to all data in the child account. This is useful for compliance, monitoring, and oversight purposes while maintaining appropriate data boundaries between organizations.\n\n**Important Notes:**\n- This endpoint can only be called by child customers in an Embedded Finance relationship.\n- Only parent organizations with `partial_audit` access type can be granted access via this endpoint.\n- The request must include the `alloy-audit-account-slugs` header with comma-separated organization slugs.\n- Access is managed at multiple levels including:\n  - Journey Application\n  - All evaluations within the application\n  - All entities associated with the evaluations\n  - Related resources (e.g., bank accounts for transaction evaluations)\n\n- Previously granted access can be revoked by omitting the organization slug from subsequent requests.\n","tags":["Journeys"],"parameters":[{"in":"header","name":"alloy-audit-account-slugs","schema":{"type":"string"},"required":true,"description":"Comma-separated list of parent organization slugs to grant partial audit access. Only organizations with `partial_audit` access type in the Embedded Finance relationship can be included. To revoke access, omit the organization slug from this header in subsequent requests.\n","example":"parent-org-1,parent-org-2"}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","description":"Request body can be empty or omitted","example":{}}}}},"responses":{"200":{"description":"Audit access successfully updated","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"integer","example":200},"error":{"nullable":true,"example":null},"timestamp":{"type":"integer","description":"Unix timestamp in milliseconds","example":1700000000000}}}}}},"403":{"description":"Forbidden - Only child customers can update audit access","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"object","properties":{"message":{"type":"string","example":"Invalid account type."}}},"timestamp":{"type":"integer","example":1700000000000}}}}}},"404":{"description":"Journey Application not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","example":"Journey application not found"}}}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","example":"An unexpected error occurred"}}}}}}}}}}},"/lists":{"get":{"tags":["Lists"],"summary":"Get all Lists","description":"Returns the set of all Lists for your account","responses":{"200":{"description":"All Lists for account","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"number"},"error":{"type":"object"},"timestamp":{"type":"integer"},"data":{"type":"array","items":{"type":"object","properties":{"list_token":{"type":"string"},"name":{"type":"string"},"is_blacklist":{"type":"boolean"},"is_whitelist":{"type":"boolean"},"description":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"entities_count":{"type":"number"}}}}},"example":{"status_code":200,"error":null,"timestamp":1557675468774,"data":[{"list_token":"I-o2RgMSb72V1p8834bokr","name":"Allowlist","is_blacklist":false,"is_whitelist":true,"description":null,"created_at":"2024-02-23T16:52:36.957Z","entities_count":0},{"list_token":"I-CRAAplpejPkJnLpWCpxy","name":"Denylist","is_blacklist":true,"is_whitelist":false,"description":null,"created_at":"2024-02-23T16:52:36.957Z","entities_count":0}]}}}}}}},"post":{"tags":["Lists"],"summary":"Create a new list","description":"Create a new list with input metadata","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"listName":{"type":"string"},"isBlacklist":{"type":"boolean"},"isWhitelist":{"type":"boolean"},"description":{"type":"string"}},"example":{"listName":"Custom List A","isBlacklist":false,"isWhitelist":false,"description":"This is a testing custom list"}}}}},"responses":{"201":{"description":"Successfully created a list","content":{"application/json":{"schema":{"properties":{"status_code":{"type":"number"},"error":{"type":"object"},"timestamp":{"type":"integer"},"list_token":{"type":"string"}},"example":{"status_code":201,"error":null,"timestamp":1557675468774,"list_token":"I-EHbNvGzkeGdy3mXcfbIJ"}}}}},"403":{"description":"New list not allowed","content":{"application/json":{"schema":{"properties":{"status_code":{"type":"number"},"error":{"type":"object"},"timestamp":{"type":"integer"}},"example":{"status_code":403,"error":{"minor_code":4033,"type":"NEW_LIST_NOT_ALLOWED","message":"Creating a new list with isBlacklist = false and isWhitelist = false exceeds the allowed number of the list for this list type.","details":{"customerId":1,"isBlacklist":false,"isWhitelist":false},"error_token":"c7822370-060f-4143-b8f7-6c7d67091d66"},"timestamp":1708968846525}}}}},"409":{"description":"List name exists","content":{"application/json":{"schema":{"properties":{"status_code":{"type":"number"},"error":{"type":"object"},"timestamp":{"type":"integer"}},"example":{"status_code":409,"error":{"minor_code":4091,"type":"LIST_NAME_EXISTS","message":"A list with this name already exists. Please enter a different name.","details":{"customerId":1,"listName":"Custom List A"},"error_token":"60140fa2-6afe-4db7-833a-f298dc99737b"},"timestamp":1708973284933}}}}}}}},"/lists/{list_token}/meta":{"parameters":[{"in":"path","name":"list_token","schema":{"type":"string"},"required":true,"description":"Token of list to operate on"}],"put":{"tags":["Lists"],"summary":"Update list metadata","description":"Update list name or description","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"listName":{"type":"string"},"description":{"type":"string"}},"example":{"listName":"Test updating list name","description":"Test updating description"}}}}},"responses":{"201":{"description":"Successfully created a list","content":{"application/json":{"schema":{"properties":{"status_code":{"type":"number"},"error":{"type":"object"},"timestamp":{"type":"integer"},"list_token":{"type":"string"}},"example":{"status_code":201,"error":null,"timestamp":1557675468774,"list_token":"I-EHbNvGzkeGdy3mXcfbIJ"}}}}},"404":{"description":"The specified list does not exist","content":{"application/json":{"schema":{"properties":{"status_code":{"type":"number"},"error":{"type":"object"},"timestamp":{"type":"integer"}},"example":{"status_code":404,"error":{"minor_code":4042,"type":"Not Found","message":"The specified list does not exist.","details":{"list_token":"I-EHbNvGkeGdy3mXcfbIJ"},"error_token":"17ebe9fd-94e4-42ec-b406-1e45106441fa"},"timestamp":1557675468774}}}}},"409":{"description":"List name exists","content":{"application/json":{"schema":{"properties":{"status_code":{"type":"number"},"error":{"type":"object"},"timestamp":{"type":"integer"}},"example":{"status_code":409,"error":{"minor_code":4091,"type":"LIST_NAME_EXISTS","message":"A list with this name already exists. Please enter a different name.","details":{"listName":"Test updating list name"},"error_token":"17ebe9fd-94e4-42ec-b406-1e45106441fa"},"timestamp":1557675468774}}}}}}}},"/lists/{list_token}":{"parameters":[{"in":"path","name":"list_token","schema":{"type":"string"},"required":true,"description":"Token of List to operate on"}],"get":{"tags":["Lists"],"summary":"Get one List's entities","description":"Return all entities belonging to the specified List","parameters":[{"in":"query","name":"records","schema":{"type":"integer"},"required":false,"description":"Number of records to retrieve"},{"in":"query","name":"offset","schema":{"type":"integer"},"required":false,"description":"Offset of retrieved records"}],"responses":{"200":{"description":"List entities","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"number"},"error":{"type":"object"},"timestamp":{"type":"integer"},"name":{"type":"string"},"list_token":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/paths/~1lists~1%7Blist_token%7D/put/responses/200/content/application~1json/schema"}},"paging":{"type":"object","properties":{"next":{"type":"string"},"previous":{"type":"string"},"total_records":{"type":"integer"},"page_records":{"type":"integer"},"offset":{"type":"integer"}}}},"example":{"status_code":200,"error":null,"timestamp":1557675468774,"name":"Denylisted entities","list_token":"I-23jkr423ojdfn23jon","data":{"name_first":"John","name_last":"Doe","birth_date":"1980-01-01","document_ssn":123321123,"address_line_1":"123 Fake Street","address_line_2":"Apt 10D","address_city":"Brooklyn","address_state":"NY","address_postal_code":11221,"address_country_code":"US","ip_address_v4":"192.168.1.168","ip_address_v6":null,"email_address":"john.doe@gmail.com","phone_number":5558031203,"acm_party_id":12341231,"customer_id":1249403039484,"system":"bridger","secret_question":"what is your quest","secret_answer":"to seek the holy grail","comment":"this is a comment","group":"aml","expires_at":"2023-09-01T00:00:00.000Z"},"paging":{"next":"api.alloy.co/lists/I-23jkr423ojdfn23jon?records=2&offset=4","previous":"api.alloy.co/lists/I-23jkr423ojdfn23jon?records=2&offset=0","total_records":300,"page_records":20,"offset":20}}}}}}}},"post":{"tags":["Lists"],"summary":"Add an entity to a List","description":"Add an individual to a List while leaving the rest of the List's records intact","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name_first":{"type":"string"},"name_last":{"type":"string"},"birth_date":{"type":"string"},"document_ssn":{"type":"string"},"address_line_1":{"type":"string"},"address_line_2":{"type":"string"},"address_city":{"type":"string"},"address_state":{"type":"string"},"address_postal_code":{"type":"string"},"address_country_code":{"type":"string"},"ip_address_v4":{"type":"string"},"ip_address_v6":{"type":"string"},"email_address":{"type":"string"},"phone_number":{"type":"string"},"acm_party_id":{"type":"string"},"customer_id":{"type":"string"},"system":{"type":"string"},"secret_question":{"type":"string"},"secret_answer":{"type":"string"},"comment":{"type":"string"},"group":{"type":"string"},"device_alias":{"type":"string"},"digital_profile_uuid":{"type":"string"},"smart_uuid":{"type":"string"},"session_uuid":{"type":"string"},"fingerprint_uuid":{"type":"string"},"external_counterparty_id":{"type":"string"},"expires_at":{"type":"string","format":"date-time","description":"timestamp of when the list row will not be used"}},"example":{"name_first":"John","name_last":"Doe","birth_date":"1980-01-01","document_ssn":123321123,"address_line_1":"123 Fake Street","address_line_2":"Apt 10D","address_city":"Brooklyn","address_state":"NY","address_postal_code":11221,"address_country_code":"US","ip_address_v4":"192.168.1.168","ip_address_v6":null,"email_address":"john.doe@gmail.com","phone_number":5558031203,"acm_party_id":12341231,"customer_id":1249403039484,"system":"bridger","secret_question":"what is your quest","secret_answer":"to seek the holy grail","comment":"this is a comment","group":"aml","expires_at":"2023-09-01T00:00:00.000Z"}}}}},"responses":{"200":{"description":"Successfully appended List","content":{"application/json":{"schema":{"$ref":"#/paths/~1lists~1%7Blist_token%7D/put/responses/200/content/application~1json/schema"}}}}}},"put":{"tags":["Lists"],"summary":"Replace the entire List","description":"Overwrite the entire List with the contents of the submitted array","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/paths/~1lists~1%7Blist_token%7D/post/requestBody/content/application~1json/schema"}}}}},"responses":{"200":{"description":"Successfully replaced List","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"number"},"error":{"type":"object"},"timestamp":{"type":"integer"},"name":{"type":"string"},"list_token":{"type":"string"},"data":{"type":"string"},"records_added":{"type":"integer"},"total_records":{"type":"integer"}},"example":{"status_code":200,"error":null,"timestamp":1557675468774,"name":"Denylisted entities","list_token":"I-grYZsEoy623M3LiZrK66","data":"https://sandbox.alloy.co/lists/I-grYZsEoy623M3LiZrK66","records_added":1,"total_records":1}}}}}}}},"/oauth/bearer":{"post":{"tags":["OAuth"],"summary":"Generate a new OAuth bearer token from the given client credentials.","description":"Application token and application secret MUST be provided, either as properties in the JSON body, or in the Authorization header.\n\nThe returned bearer token will allow the client all the same access permissions as the given application token and secret. Bearer tokens are sent in the `Authorization` header in the form `Bearer <bearer_token>`.\n\nAll bearer tokens expire one hour from generation.\n","parameters":[{"in":"header","name":"Authorization","schema":{"type":"string","description":"Basic authorization header per the OAuth Client Authorization Header standard.\n\nThe format is `Basic <auth_string>`, where `<auth_string>` is the base64 encoding of the string `application_token:application_secret` (the application token and application secret, separated by a colon character).\n"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"application_token":{"type":"string","pattern":"^[A-Za-z0-9]{32}$","description":"Application token for the client. This is the application token for a particular workflow."},"application_secret":{"type":"string","pattern":"^[A-Za-z0-9]{32}$","description":"Application secret for the client. This is the application secret for a particular workflow (and must match the application token)."},"grant_type":{"type":"string","description":"OAuth grant type. Only the \"Client Credentials\" grant type is supported.","enum":["client_credentials"]}}}}}},"responses":{"200":{"x-summary":"OK","description":"The generated OAuth bearer token.\n\nIf credentials are sent in the Authorization header, the OAuth standard fields `access_token`, `token_type`, and `expires_in` are returned.\n\nIf credentials are sent in the JSON body, fields `bearer_token` and `expires` are returned. This is for backwards-compatibility with the original version of this API.\n","content":{"application/json":{"schema":{"type":"object","properties":{"access_token":{"type":"string","pattern":"^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]*$","description":"OAuth bearer token in JWT format."},"bearer_token":{"type":"string","pattern":"^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]*$","description":"OAuth bearer token."},"token_type":{"type":"string","enum":["bearer"]},"expires_in":{"type":"number","description":"Seconds until expiration."},"expires":{"type":"number","description":"Expiration time, in **milliseconds** past the epoch."}}},"example":{"access_token":"IcR6p1pbUJjn58xCXewm8ni2U3c0pRCbyqTA5I0x","token_type":"bearer","expires_in":3600}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"minor_code":{"type":"number"},"type":{"type":"string"},"message":{"type":"string"},"details":{"type":"object"}},"required":["minor_code","type","message"]}},"required":["error"]},"examples":{"HeaderValidationFailure":{"value":{"error":{"minor_code":4001,"type":"Header Validation Failure","message":"Verify that your request headers comply with HTTP v1.1 standards."}}},"RequestBodyValidationFailure":{"value":{"error":{"minor_code":4002,"type":"Request Body Validation Failure"}}}}}}},"401":{"x-summary":"Unauthorized","description":"Authorization failed / invalid credentials.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"minor_code":{"type":"number","enum":[4011]},"type":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string"},"details":{"type":"object"}},"required":["minor_code","type","message"]}},"required":["error"]},"example":{"error":{"minor_code":4011,"type":"Unauthorized","message":"Unable to obtain a bearer token using specified application credentials. The application may be disabled?"}}}}}}}},"/oauth/validate":{"post":{"tags":["OAuth"],"summary":"Validate a bearer token.","description":"Check if a given bearer token is valid and unexpired.\n**Note that** the bearer token MUST be sent in the JSON body; it CANNOT be sent as an Authorization header.\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"bearer_token":{"type":"string","pattern":"^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]*$","description":"OAuth bearer token in JWT format."}},"required":["bearer_token"]}}}},"responses":{"200":{"x-summary":"OK","description":"Successful result when given a valid, non-expired bearer token.\n","content":{"application/json":{"schema":{"type":"object","properties":{"valid":{"type":"boolean"},"application_active":{"type":"boolean"},"expires":{"type":"number","description":"Expiration time, in **milliseconds** past the epoch."}},"required":["valid","application_active","expires"]}}}},"400":{"$ref":"#/paths/~1oauth~1bearer/post/responses/400"},"401":{"x-summary":"Unauthorized","description":"Invalid or expired bearer token.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"minor_code":{"type":"number","enum":[4011]},"type":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string"},"details":{"type":"object"}},"required":["minor_code","type","message"]}},"required":["error"]},"example":{"error":{"minor_code":4011,"type":"Unauthorized","message":"Your supplied bearer token is invalid."}}}}}}}},"/portfolio-evaluations":{"parameters":[{"in":"header","name":"Authorization","schema":{"type":"string","description":"Basic authorization header per the OAuth Client Authorization Header standard.\n\nThe format is `Basic <auth_string>`, where `<auth_string>` is the base64 encoding of the string `token:secret` (check [Authentication Guide](https://developer.alloy.com/public/docs/authentication-guide) for details).\n"}},{"in":"header","name":"alloy-workflow-token","schema":{"type":"string","description":"If you have migrated to the new API Key Settings page and are using account-level API keys for authentication, this header is required to specify which workflow to use for the evaluation. \n\nIf you have not migrated yet, this header is optional, as the workflow will be determined by the Authorization header using workflow_token.\n"}}],"post":{"summary":"Runs a portfolio evaluation","description":"Given a portfolio workflow specified by the header, the API will run a portfolio evaluation.\n","tags":["Portfolio Evaluations"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["source"],"properties":{"source":{"description":"Allowed values are (`\"adhoc\"`)","type":"string"}},"example":{"source":"adhoc"}}}}},"responses":{"201":{"description":"Portfolio Evaluation created and is queued for processing","content":{"application/json":{"schema":{"type":"object","properties":{"portfolio_evaluation_token":{"description":"Unique token corresponding to a portfolio evaluation","type":"string"},"status":{"description":"The current status of the portfolio evaluation","type":"string","enum":["pending"]}},"example":{"portfolio_evaluation_token":"PE-54321","status":"pending"}}}}}}}},"/portfolio-evaluations/{portfolio_evaluation_token}/rerun":{"parameters":[{"in":"header","name":"Authorization","schema":{"type":"string","description":"Basic authorization header per the OAuth Client Authorization Header standard.\n\nThe format is `Basic <auth_string>`, where `<auth_string>` is the base64 encoding of the string `token:secret` (check [Authentication Guide](https://developer.alloy.com/public/docs/authentication-guide) for details).\n"}},{"in":"path","name":"portfolio_evaluation_token","schema":{"type":"string"},"required":true,"description":"Token for the portfolio evaluation to be rerun."}],"post":{"tags":["Portfolio Evaluations"],"summary":"Rerun a portfolio evaluation","description":"Reruns a portfolio evaluation that has already been run. A new portfolio evaluation token is generated for the rerun. The workflow version and the run-as-of time are the same as the original.\n","responses":{"201":{"description":"Portfolio Evaluation created as a rerun and is queued for processing","content":{"application/json":{"schema":{"$ref":"#/paths/~1portfolio-evaluations/post/responses/201/content/application~1json/schema"}}}}}}},"/published-attributes":{"get":{"summary":"List Published Attributes","tags":["Published Attributes"],"responses":{"200":{"x-summary":"OK","description":"List of published attributes.","content":{"application/json":{"schema":{"type":"object","$ref":"#/paths/~1published-attributes~1%7Bpublished-attribute-token%7D/get/responses/200/content/application~1json/schema"}}}}}},"post":{"summary":"Create Published Attribute","tags":["Published Attributes"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"required":["published_attribute_name","data_type","default_value","contains_pii","object_type"],"allOf":[{"type":"object","properties":{"published_attribute_token":{"type":"string","readOnly":true,"description":"An Alloy system generated unique ID for the published attribute."},"published_attribute_name":{"description":"The name of the published attribute.\n- If the published attribute is an input attribute in a workflow, this name will serve as the selector in the Evaluation payload.\n- When creating transactions via the Events API (`transaction` events), you can include published attribute values directly in the event data payload using this name as the field name.\n","type":"string"},"data_type":{"description":"The data type of the published attribute.","type":"string","enum":["integer","decimal","string","boolean","date","timestamp"]},"default_value":{"description":"A default value is assigned to the published attribute for each object of the `object_type`. If the published attribute is being used as an input attribute, then this value will be used if there is no value provided in the evaluation payload.","anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"default_value_note":{"description":"A description of the default value.","type":"string","nullable":true},"contains_pii":{"description":"This is set to true when the published attribute contains PII. If it's true this field will be stored encrypted. Unable to be changed once set.","type":"boolean"},"object_type":{"description":"The object type to which this published attribute applies.\n- `entity`: Published attribute values are associated with entities and require either `entity_token` or `external_entity_id`\n- `transaction`: Published attribute values are associated with transactions and require a `transaction_token`\n","type":"string","enum":["entity","transaction"]},"value_expires_in":{"description":"The number of seconds that this published attribute's values will persist for.","type":"integer","nullable":true},"jq_filter":{"description":"A way to transform JSON using the jq cli tool.","type":"string","nullable":true},"description":{"description":"A description of the published attribute.","type":"string","nullable":true}}}],"example":{"published_attribute_name":"income","data_type":"integer","default_value":100000,"default_value_note":"income of the entity","contains_pii":false,"object_type":"entity","value_expires_in":"3000","jq_filter":". + 0.5 | floor","description":"customer's income"}}}}},"responses":{"201":{"x-summary":"OK","description":"Published Attribute Object.","content":{"application/json":{"schema":{"type":"object","properties":{"published_attribute_token":{"type":"string","description":"An Alloy system generated unique ID for the published attribute."},"message":{"type":"string","description":"A message indicating that the published attribute was created."}},"example":{"published_attribute_token":"PA-54eKJIaGGzXdJcyBgrqK","message":"published attribute has been created"}}}}},"400":{"x-summary":"Validation Error","description":"There was a validation error when creating the published attribute.","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"number"},"timestamp":{"type":"string"},"evaluation_token":{"type":"string","nullable":true},"entity_token":{"type":"string","nullable":true},"application_token":{"type":"string","nullable":true},"application_version_id":{"type":"string","nullable":true},"error":{"type":"object","properties":{"minor_code":{"type":"number","description":"The minor code associated with the error."},"type":{"type":"string","description":"The type of error."},"message":{"type":"string","description":"A message indicating what the validation errors are."},"details":{"type":"object","description":"The details of the validation error."}}}},"example":{"status_code":400,"error":{"minor_code":4002,"type":"Request Body Validation Failure","message":"Your request body contained invalid field(s)","details":{"message":"\"published_attribute_name\" is required","path":"published_attribute_name","type":"any.required","context":{"key":"published_attribute_name"}},"error_token":"uuid-error-token"},"timestamp\"":1693102054905,"evaluation_token\"":null,"entity_token\"":null,"application_token\"":"application-token","application_version_id\"":null}}}}}}}},"/published-attributes/{published-attribute-token}":{"parameters":[{"in":"path","name":"published-attribute-token","schema":{"type":"string"},"required":true,"description":"Published attribute token associated with published attribute. Token is available via the Published Attribute List on the Settings page of the dashboard if needed."}],"get":{"summary":"Get Published Attribute","tags":["Published Attributes"],"responses":{"200":{"x-summary":"OK","description":"Describe the published attribute specified.","content":{"application/json":{"schema":{"type":"object","properties":{"published_attributes":{"type":"array","items":{"$ref":"#/paths/~1published-attributes~1%7Bpublished-attribute-token%7D/patch/requestBody/content/application~1json/schema/allOf/0","description":"An array of published attributes."}}},"example":{"published_attributes":[{"published_attribute_token":"PA-54eKJIaGGzXdJcyBgrqK","published_attribute_name":"meta.income","data_type":"integer","default_value":"100000,","default_value_note":"base income","contains_pii":false,"value_expires_in":null,"jq_filter":null,"description":null,"object_type":"entity","archived":false},{"published_attribute_token":"PA-54eKJIaGGzXdJcyBgrqK","published_attribute_name":"meta.risk_score","data_type":"decimal","default_value":0.5,"default_value_note":"avg risk score","contains_pii":false,"value_expires_in":null,"jq_filter":null,"description":"risk score calculated from model","object_type":"entity","archived":false}]}}}}},"404":{"x-summary":"Resource not found.","description":"Unable to find the published attribute token.","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"number"},"timestamp":{"type":"string"},"evaluation_token":{"type":"string","nullable":true},"entity_token":{"type":"string","nullable":true},"application_token":{"type":"string","nullable":true},"application_version_id":{"type":"string","nullable":true},"error":{"type":"object","properties":{"minor_code":{"type":"number","description":"The minor code associated with the error."},"type":{"type":"string","description":"The type of error."},"message":{"type":"string","description":"A message indicating what the error is."},"details":{"type":"object","description":"The details of the error."}}}},"example":{"status_code":404,"error":{"minor_code":4041,"type":"Not Found","message":"Unable to find the requested resource","details":{"published_attribute_token":"PA-1234335"},"error_token":"6c5d6876-653f-4052-a1d8-061b2aa16ae9"},"timestamp\"":1693102054905,"evaluation_token\"":null,"entity_token\"":"P-tT3pDKz0586mAsPSX9ZW","application_token\"":"awergawerfg5s32323223","application_version_id\"":null}}}}}}},"patch":{"summary":"Update Published Attribute","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","allOf":[{"type":"object","allOf":[{"$ref":"#/paths/~1published-attributes/post/requestBody/content/application~1json/schema/allOf/0"}],"properties":{"archived":{"type":"boolean","description":"indicates whether the published attribute has been archived"}}}],"properties":{"data_type":{"readOnly":true},"object_type":{"readOnly":true},"contains_pii":{"readOnly":true},"published_attribute_name":{"description":"The name of the published attribute. If the published attribute is an input attribute in a workflow, this name will serve as the selector in the Evaluation payload. Care should be taken when the name is changed. See the published attribute guide documentation for details","type":"string"}}}}}},"tags":["Published Attributes"],"responses":{"200":{"x-summary":"OK","description":"Update the published attribute specified by the token in the path and the fields provided in the payload.","content":{"application/json":{"schema":{"type":"object","properties":{"published_attribute_token":{"type":"string","description":"The published attribute token that was updated."},"message":{"type":"string","description":"The message signifying that published attribute was successfully updated."}},"example":{"published_attribute_token":"PA-54eKJIaGGzXdJcyBgrqK","message":"published attribute has been updated"}}}}},"404":{"x-summary":"Resource not found.","description":"Unable to find the published attribute token.","content":{"application/json":{"schema":{"$ref":"#/paths/~1published-attributes~1%7Bpublished-attribute-token%7D/get/responses/404/content/application~1json/schema"}}}}}}},"/published-attributes/{published-attribute-token}/values":{"parameters":[{"in":"path","name":"published-attribute-token","schema":{"type":"string"},"required":true,"description":"Published attribute token associated with published attribute."}],"get":{"summary":"Get Published Attribute Values for an Entity","tags":["Published Attributes"],"parameters":[{"in":"header","name":"alloy-entity-token","schema":{"type":"string","description":"An Alloy-generated string to identify the entity.\n"}},{"in":"header","name":"alloy-external-entity-id","schema":{"type":"string","description":"A client-generated string to identify the entity.\n"}},{"in":"query","name":"page","schema":{"type":"integer"},"description":"The page number to return."},{"in":"query","name":"per_page","schema":{"type":"integer"},"description":"The number of items per page"}],"responses":{"200":{"x-summary":"OK","description":"Get published attribute values.","content":{"application/json":{"schema":{"type":"object","properties":{"values":{"type":"array","$ref":"#/paths/~1published-attributes~1%7Bpublished-attribute-token%7D~1values/post/requestBody/content/application~1json/schema/items/allOf/0","description":"The values of a published attribute by entity, sorted by the most recent timestamp."},"page":{"type":"integer","description":"Pagination number."},"per_page":{"type":"integer","description":"The number of published attribute values to show per page."}},"example":{"values":[{"value":999,"timestamp":"2022-11-11T20:11:22.000Z","created_at":"2023-09-03T02:03:36.052Z","expires_at":null,"entity_token":"P-xfLo1NUtvxeVCpQHtx8c"}],"page":1,"per_page":1000}}}}},"400":{"description":"Must provide valid header (`alloy-entity-token` or `alloy-external-entity-id`)","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"number"},"error":{"type":"object"},"timestamp":{"type":"string"},"evaluation_token":{"type":"string","nullable":true},"entity_token":{"type":"string","nullable":true},"application_token":{"type":"string","nullable":true},"application_version_id":{"type":"string","nullable":true}},"example":{"status_code":400,"error":{"minor_code":4001,"type":"Header Validation Failure","message":"One of the following header values must be set: alloy-entity-token, alloy-external-entity-id","error_token":"62e178ea-265a-416c-ae1f-87b4e090f08b"},"timestamp":1694013116568,"evaluation_token":null,"entity_token":null,"application_token":"pQRTFSwRECWDgql5s6vrkPB0cv97LF8t","application_version_id":null}}}}},"404":{"x-summary":"Not Found","description":"Unable to find published attribute with specified token","content":{"application/json":{"schema":{"$ref":"#/paths/~1published-attributes~1%7Bpublished-attribute-token%7D/get/responses/404/content/application~1json/schema"}}}}}},"post":{"summary":"Create Published Attribute Values","tags":["Published Attributes"],"requestBody":{"description":"An array where each item is a new value to add for the specified published attribute.\n\n**For entity-type published attributes (`object_type: \"entity\"`):**\nEach item must contain a unique entity identifier and a value. The entity identifier can be either an `external_entity_id` or an `entity_token`.\n  * Option 1: `external_entity_id` is required\n  * Option 2: `entity_token` is required\n\n**For transaction-type published attributes (`object_type: \"transaction\"`):**\nEach item must contain a `transaction_token` and a value.\n  * `transaction_token` is required\n","required":true,"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","required":["value"],"allOf":[{"type":"object","properties":{"value":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}],"description":"The published attribute's value must be one of the following types:\n  * Option 1: string\n  * Option 2: number\n  * Option 3: boolean\n"},"entity_token":{"type":"string","description":"Alloy-generated identifier for the entity that you want to set this published attribute's value for.\nRequired for published attributes with `object_type` of `entity` (along with `external_entity_id` as an alternative).\n"},"transaction_token":{"type":"string","description":"Alloy-generated identifier for the transaction that you want to set this published attribute's value for.\nRequired for published attributes with `object_type` of `transaction`.\n"},"timestamp":{"description":"ISO 8601 date. Used to determine the most recent value of the published attribute, which will be used in the evaluation. If not provided, defaults to the current date time.","type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time","nullable":true,"description":"The date and time the published attribute value expires","readOnly":true},"created_at":{"type":"string","format":"date-time","description":"The date and time the published attribute value was created.","readOnly":true}},"example":{"value":999,"entity_token":"P-xfLo1NUtvxeVCpQHtx8c","timestamp":"2023-09-01T00:00:00.000Z","expires_at":null,"created_at":"2023-09-03T02:03:36.052Z"}}],"anyOf":[{"description":"For entity-type published attributes (`object_type: \"entity\"`)\n","anyOf":[{"required":["external_entity_id"]},{"required":["entity_token"]}]},{"description":"For transaction-type published attributes (`object_type: \"transaction\"`)\n","required":["transaction_token"]}],"properties":{"external_entity_id":{"description":"External entity identifier for the entity you are creating this value for.\nRequired for published attributes with `object_type: \"entity\"` (one of `external_entity_id` or `entity_token` must be provided).\n","type":"string"},"entity_token":{"description":"Entity token for the entity you are creating this value for.\nRequired for published attributes with `object_type: \"entity\"` (one of `external_entity_id` or `entity_token` must be provided).\n","type":"string"},"transaction_token":{"description":"Transaction token for the transaction you are creating this value for.\nRequired for published attributes with `object_type: \"transaction\"`.\n","type":"string"}}},"minItems":1,"example":[{"value":100,"external_entity_id":"alex-checking-accnt-1"},{"value":999,"entity_token":"P-xfLo1NUtvxeVCpQHtx8c","timestamp":"2023-09-01T00:00:00.000Z"}]}}}},"responses":{"201":{"x-summary":"OK","description":"Created published attribute values for the entity.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","allOf":[{"$ref":"#/paths/~1published-attributes~1%7Bpublished-attribute-token%7D~1values/post/requestBody/content/application~1json/schema/items/allOf/0"}],"properties":{"status":{"enum":["inserted","errored"],"type":"string","description":"The status of creating a published attribute value. The published attribute value was successfully created when the status equals `inserted`."},"error":{"type":"string","nullable":true,"description":"The error associated the request.  For example, a payload validation error."},"message":{"type":"string","nullable":true,"description":"Details about the error."}},"example":{"value":999,"timestamp":"2022-11-11 20:11:22","entity_token":"P-xfLo1NUtvxeVCpQHtx8c","created_at":"2023-09-03T02:03:36.052Z","expires_at":null,"status":"inserted","error":null,"message":null}},"example":[{"value":999,"timestamp":"2022-11-11 20:11:22","entity_token":"P-xfLo1NUtvxeVCpQHtx8c","created_at":"2023-09-03T02:03:36.052Z","expires_at":null,"status":"inserted","error":null,"message":null}]}}}},"206":{"x-summary":"Partially Created","description":"Partially created published attribute values for the entity.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/paths/~1published-attributes~1%7Bpublished-attribute-token%7D~1values/post/responses/201/content/application~1json/schema/items"},"example":[{"value":999,"timestamp":"2022-11-11 20:11:22","entity_token":"P-xfLo1NUtvxeVCpQHtx8c","created_at":"2023-09-03T02:03:36.052Z","expires_at":null,"status":"inserted","error":null,"message":null},{"value":false,"timestamp":"2022-11-10 20:11:22","entity_token":"P-abc1NUtvxedefQHflk","created_at":"2023-09-02T07:03:10.052Z","expires_at":null,"status":"errored","error":"invalid_type","message":"Expected number, received boolean"}]}}}},"404":{"x-summary":"Not Found","description":"Unable to find published attribute with specified token","content":{"application/json":{"schema":{"$ref":"#/paths/~1published-attributes~1%7Bpublished-attribute-token%7D/get/responses/404/content/application~1json/schema"}}}}}}},"/entities/{entity_token}/reviews/{review_token}":{"get":{"deprecated":true,"parameters":[{"name":"entity_token","in":"path","description":"Unique ID for the Entity or Group associated with the Review.","schema":{"type":"string"},"required":true},{"name":"review_token","in":"path","description":"Unique ID for the Review.","schema":{"type":"string"},"required":true}],"tags":["Reviews"],"summary":"Retrieve a Review","description":"<Callout type=\"warning\" title=\"Deprecated Warning\">\n  This endpoint is deprecated in favor of Journeys.\n</Callout>\n","responses":{"200":{"x-summary":"OK","description":"Review Object.","content":{"application/json":{"schema":{"type":"object","$ref":"#/paths/~1groups~1%7Bentity_token%7D/get/responses/200/content/application~1json/schema/properties/reviews/items"}}}}}}},"/entities/{entity_token}/reviews/{review_token}/notes":{"post":{"deprecated":true,"parameters":[{"name":"entity_token","in":"path","description":"Unique ID for the Entity or Group associated with the Review.","schema":{"type":"string"},"required":true},{"name":"review_token","in":"path","description":"Unique ID for the Review.","schema":{"type":"string"},"required":true}],"tags":["Reviews"],"summary":"Add a Note to a Review.","description":"<Callout type=\"warning\" title=\"Deprecated Warning\">\n  This endpoint is deprecated in favor of Journeys.\n</Callout>\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/paths/~1groups~1%7Bgroup_token%7D~1reviews~1%7Breview_token%7D~1notes/post/requestBody/content/application~1json/schema"}}}},"responses":{"200":{"x-summary":"OK","description":"Note Object.","content":{"application/json":{"schema":{"type":"object","$ref":"#/paths/~1groups~1%7Bgroup_token%7D~1reviews/post/responses/200/content/application~1json/schema/properties/notes/items"}}}}}}},"/entities/{entity_token}/reviews":{"get":{"deprecated":true,"parameters":[{"name":"entity_token","in":"path","description":"Unique ID for the Entity or Group associated with the Review.","schema":{"type":"string"},"required":true}],"tags":["Reviews"],"summary":"Retrieve All Reviews for an Entity","description":"<Callout type=\"warning\" title=\"Deprecated Warning\">\n  This endpoint is deprecated in favor of Journeys.\n</Callout>\n","responses":{"200":{"x-summary":"OK","description":"Array of Review objects associated with the Entity.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","$ref":"#/paths/~1groups~1%7Bentity_token%7D/get/responses/200/content/application~1json/schema/properties/reviews/items"}}}}}}},"post":{"deprecated":true,"parameters":[{"name":"entity_token","in":"path","description":"Unique ID for the Entity or Group associated with the Review. If a Group Token is passed, the Group Token is set to the `entity_token` parameter in the response.","schema":{"type":"string"},"required":true},{"in":"header","name":"Authorization","schema":{"type":"string","description":"Basic authorization header per the OAuth Client Authorization Header standard.\n\nThe format is `Basic <auth_string>`, where `<auth_string>` is the base64 encoding of the string `token:secret` (check [Authentication Guide](https://developer.alloy.com/public/docs/authentication-guide) for details).\n"}},{"in":"header","name":"alloy-workflow-token","schema":{"type":"string","description":"If you have migrated to the new API Key Settings page and are using account-level API keys for authentication, this header is required to specify the workflow for the evaluation unless it is provided in the request body. \n\nIf you have not migrated yet, this header is optional, as the workflow will be determined by the Authorization header using workflow_token.\n"}}],"tags":["Reviews"],"summary":"Create a Review for an Entity","description":"<Callout type=\"warning\" title=\"Deprecated Warning\">\n  This endpoint is deprecated in favor of Journeys.\n</Callout>\n\nWhen an evaluation is assigned a “Manual Review” outcome, it goes to the Review Queue. While evaluations can be managed in the dashboard, it is also possible to change a status via API.\n\nThis endpoint can only be used for non-Journey evaluations. To review Journey or Entity applications, see the Journeys section.\n\n**A few things to note:**\n  * The agent whose email you include in the body of the request must be an agent on the account (View agents on the account via the main page of your account under \"Agents\").\n  * The chosen outcome for the evaluation, as well as the reason given for that outcome in the body of the API request, must perfectly match those set up in Settings --> Review Reasons.\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/paths/~1groups~1%7Bgroup_token%7D~1reviews/post/requestBody/content/application~1json/schema"}}}},"responses":{"200":{"x-summary":"OK","description":"Review","content":{"application/json":{"schema":{"type":"object","$ref":"#/paths/~1groups~1%7Bentity_token%7D/get/responses/200/content/application~1json/schema/properties/reviews/items"}}}}}}},"/groups/{group_token}/reviews":{"post":{"deprecated":true,"parameters":[{"name":"group_token","in":"path","description":"Unique ID for the Group associated with the Review. When reviewing a Group via this endpoint, the Group Token is set in `group_token` in the response, and the `entity_token` property is not returned.","schema":{"type":"string"},"required":true},{"in":"header","name":"Authorization","schema":{"type":"string","description":"Basic authorization header per the OAuth Client Authorization Header standard.\n\nThe format is `Basic <auth_string>`, where `<auth_string>` is the base64 encoding of the string `token:secret` (check [Authentication Guide](https://developer.alloy.com/public/docs/authentication-guide) for details).\n"}},{"in":"header","name":"alloy-workflow-token","schema":{"type":"string","description":"If you have migrated to the new API Key Settings page and are using account-level API keys for authentication, this header is required to specify the workflow for the evaluation unless it is provided in the request body. \n\nIf you have not migrated yet, this header is optional, as the workflow will be determined by the Authorization header using workflow_token.\n"}}],"tags":["Reviews"],"summary":"Create a Review for a Group.","description":"<Callout type=\"warning\" title=\"Deprecated Warning\">\n  This endpoint is deprecated in favor of Journeys.\n</Callout>\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["agent","reasons","outcome"],"properties":{"applicationToken":{"type":"string","description":"Assign workflow of the review. Optional if it has been provided in the header."},"agent":{"type":"object","required":["email"],"properties":{"email":{"description":"Valid email of agent with Alloy account access.","type":"string"}}},"reasons":{"type":"array","description":"Array of reasons for this Review and the Review's Outcome. Value should should equal a Review Reason that's defined in your Alloy account settings.","items":{"type":"string"}},"outcome":{"description":"Outcome of the Review. Value should equal an Outcome that's defined in your Alloy account settings.","type":"string"}}}}}},"responses":{"200":{"x-summary":"OK","description":"Review Object.","content":{"application/json":{"schema":{"type":"object","$ref":"#/paths/~1groups~1%7Bentity_token%7D/get/responses/200/content/application~1json/schema/properties/reviews/items"}}}}}}},"/groups/{group_token}/reviews/{review_token}/notes":{"post":{"deprecated":true,"parameters":[{"name":"group_token","in":"path","description":"Unique ID for the Group associated with the Review. When reviewing a Group via this endpoint, the Group Token is set in `group_token` in the response, and the `entity_token` property is not returned.","schema":{"type":"string"},"example":"G-nAq6pvYcJgOhYi4ImwJs","required":true},{"name":"review_token","in":"path","description":"Unique ID for the Review.","schema":{"type":"string"},"example":"R-YdTUzlDapbQ7Y8bZKB4v","required":true}],"tags":["Reviews"],"summary":"Add a Note to a Review Group.","description":"<Callout type=\"warning\" title=\"Deprecated Warning\">\n  This endpoint is deprecated in favor of Journeys.\n</Callout>\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["note","note_author_agent_email"],"properties":{"note":{"description":"Content to include in the body of the note.","type":"string"},"note_author_agent_email":{"description":"Valid email of agent with Alloy account access, associated with creation of the note.","type":"string"}}}}}},"responses":{"200":{"x-summary":"OK","description":"Review Group Note Response.","content":{"application/json":{"schema":{"type":"object","properties":{"review_token":{"description":"Unique ID for the Review.","type":"string"},"note":{"description":"Content to include in the body of the note.","type":"string"},"note_author_agent_email":{"description":"Valid email of agent with Alloy account access, associated with creation of the note.","type":"string"},"created_at":{"description":"Unix timestamp when the note was created.","type":"number"},"updated_at":{"description":"Unix timestamp when the note was last updated.","type":"number"}},"example":{"review_token":"R-c78PhQHJOeJhPfzYh5MX","note":"this is a note","note_author_agent_email":"this+agent@alloy.co","created_at":1634059958368,"updated_at":1634059958368}}}}}}}},"/transactions/{transaction_id}":{"parameters":[{"in":"path","name":"transaction_id","description":"Unique external identifier for the transaction.","schema":{"type":"string"},"required":true}],"get":{"deprecated":true,"tags":["Transactions"],"summary":"Get a transaction.","description":"Retrieves a Transaction by external transaction ID.\n\n*Note*: If you are using the Alloy Events API, you do not need to use any of the Transactions endpoints. All data should be sent through the Events API with a relevant `event_type`.\n","responses":{"200":{"x-summary":"OK","description":"Returns the transaction matching the ID.","content":{"application/json":{"schema":{"type":"object","$ref":"#/paths/~1events~1/post/requestBody/content/application~1json/schema/properties/data/oneOf/12/allOf/0"}}}},"404":{"x-summary":"Resource not found.","description":"Unable to find the transaction_id."}}},"patch":{"deprecated":true,"tags":["Transactions"],"summary":"Update a transaction.","description":"Updates a Transaction by external transaction ID.\n\n*Note*: If you are using the Alloy Events API, you do not need to use any of the Transactions endpoints. All data should be sent through the Events API with a relevant `event_type`.\n","requestBody":{"content":{"application/json":{"schema":{"properties":{"transaction_id":{"description":"Unique external identifier for the transaction","readOnly":true},"source":{"readOnly":true},"destination":{"readOnly":true},"account_snapshot":{"readOnly":true}},"allOf":[{"properties":{"transaction_id":{"description":"Unique external identifier for the transaction. Required if using counterparty MLA."},"transaction_date":{"description":"ISO 8601 date. Used as the transaction's date or date to look back from when evaluating an account.","type":"string"},"amount":{"description":"Amount in cents","type":"integer"},"currency":{"description":"3-character currency code (e.g. \"USD\")","type":"string"},"source":{"type":"object","description":"The account that is being evaluated. Typically this is the account that is owned by your organization.\nThe body must contain either an `external_account_id` or `account_number`.\n","allOf":[{"$ref":"#/paths/~1accounts/post/requestBody/content/application~1json/schema/allOf/0/allOf/0"}],"anyOf":[{"required":["external_account_id"]},{"required":["account_number"]}]},"destination":{"type":"object","description":"The counterparty account that is interacting with the `source_account`-- for example, a merchant account.\nThe body must contain either an `external_account_id` or `account_number`.\n","allOf":[{"$ref":"#/paths/~1accounts/post/requestBody/content/application~1json/schema/allOf/0/allOf/0"}],"anyOf":[{"$ref":"#/paths/~1transactions~1%7Btransaction_id%7D/patch/requestBody/content/application~1json/schema/allOf/0/properties/source/anyOf/0"},{"$ref":"#/paths/~1transactions~1%7Btransaction_id%7D/patch/requestBody/content/application~1json/schema/allOf/0/properties/source/anyOf/1"}],"properties":{"name_first":{"type":"string"},"name_last":{"type":"string"},"birth_date":{"description":"YYYY-MM-DD","type":"string"},"address_line_1":{"type":"string"},"address_line_2":{"type":"string"},"address_city":{"type":"string"},"address_state":{"type":"string"},"address_postal_code":{"type":"string"},"address_country_code":{"description":"2-character ISO 3166-1 alpha-2 country code, e.g. \"US\".","type":"string"}}},"account_snapshot":{"description":"Snapshot of the source account of the transaction. Note that this is not a separate call, it is part of either an /accounts call or an /evaluations call","type":"object","nullable":true,"required":["timestamp"],"properties":{"timestamp":{"description":"ISO 8601 timestamp of the account snapshot.","type":"string","format":"date"},"meta":{"description":"JSON object with any meta information related to the account snapshot.","type":"object"},"details":{"description":"JSON object with any details related to the account snapshot.","type":"object","properties":{"status":{"type":"string","enum":[null,"Active","Deactivated","Frozen","Pending","Inactive"]},"status_detail":{"type":"string"},"loan_credit_limit":{"type":"integer"},"interest_rate":{"type":"number"},"original_interest_rate":{"type":"number"},"original_amount":{"type":"integer"},"ach_push_limit":{"type":"integer"},"ach_pull_limit":{"type":"integer"},"name_first":{"type":"string"},"name_last":{"type":"string"},"email_address":{"type":"string"},"phone_number":{"type":"string"},"mailing_address_line1":{"type":"string"},"mailing_address_line2":{"type":"string"},"mailing_address_city":{"type":"string"},"mailing_address_state":{"type":"string"},"mailing_address_postal_code":{"type":"string"},"mailing_address_country_code":{"description":"3-character country code (e.g. \"USA\")","type":"string"},"primary_address_line1":{"type":"string"},"primary_address_line2":{"type":"string"},"primary_address_city":{"type":"string"},"primary_address_state":{"type":"string"},"primary_address_postal_code":{"type":"string"},"primary_address_country_code":{"description":"3-character country code (e.g. \"USA\").","type":"string","maxLength":3}}},"account_view":{"description":"JSON object","type":"object","properties":{"account_balance":{"description":"Account balance in cents.","type":"integer"},"date_last_activity":{"description":"ISO 8601 timestamp of last activity.","type":"string"},"is_good_standing":{"type":"boolean"},"past_due_days":{"type":"integer"}}}}},"process_method":{"description":"Platform or process method of the transaction. Allowed values are (`\"Card\"`. `\"Internal\"`, `\"Check\"`, `\"P2P\"`, `\"ACH\"`, `\"Cash\"`, `\"Wire\"`, `null`)","type":"string","nullable":true,"enum":["Card","Internal","Check","P2P","ACH","Cash","Wire","RTP"]},"category":{"description":"Splits process_method into more granular values. Allowed values are (`\"Adjustment\"`, `\"ATM Rebate\"`, `\"Bill Pay\"`, `\"Chargeback\"`, `\"Deposit\"`, `\"Direct Deposit Bonus\"`, `\"Interest\"`, `\"Overdraft Fee\"`, `\"Payment\"`, `\"Promo\"`, `\"Purchase\"`, `\"Purchase Return\"`, `\"Return\"`, `\"Service Charge\"`, `\"Withdrawal\"`, `null`)","type":"string","nullable":true,"enum":["Adjustment","ATM Rebate","Bill Pay","Chargeback","Deposit","Direct Deposit Bonus","Interest","Overdraft Fee","Payment","Promo","Purchase","Purchase Return","Return","Service Charge","Withdrawal"]},"interaction_point":{"description":"Where the transaction took place. Allow values are (`\"Android\"`, `\"ATM\"`, `\"Card Swipe Terminal\"`, `\"iOS\"`, `\"Mobile\"`, `\"Online Form\"`, `\"Point of Sale\"`, `\"Teller\"`, `\"3rd Party App\"`, `null`)","type":"string","nullable":true,"enum":["Android","ATM","Card Swipe Terminal","iOS","Mobile","Online Form","Point of Sale","Teller","3rd Party App"]},"type_code":{"description":"The raw type code of the transaction.  There should be a 1:1 mapping from type_code to type_description provided to Alloy.","type":"string","nullable":true},"type_description":{"description":"Description of the type code. There should be a 1:1 mapping from type_code to type_description provided to Alloy. Currently not used in decisioning.","type":"string","nullable":true},"is_approved":{"description":"If the transaction was approved by the customer","type":"boolean","nullable":true},"is_reversal":{"description":"If the transaction is a refund","type":"boolean","nullable":true},"is_triggered_by_user":{"description":"Whether the transaction is initiated by the source entity. Mainly used to distinguish between ACH push and pull","type":"boolean","nullable":true},"is_international_override":{"description":"True if the transaction is international","type":"boolean","nullable":true},"return_code":{"description":"This represents the Alphanumeric ACH return Code. (e.g. R01)","type":"string","nullable":true},"return_code_reason":{"description":"Allowed values are (`\"Unauthorized\"`, `null`). Currently not used in decisioning.","type":"string","nullable":true,"enum":["Unauthorized"]},"entry_mode":{"description":"POS entry modes on card transactions","type":"number","nullable":true},"response_code":{"description":"Response codes returned on card transactions","type":"number","nullable":true},"status":{"description":"Allowed values are (`\"Acknowledged\"`, `\"Accepted\"`, `\"Rejected\"`, `\"Paused\"`, `\"Pending\"`, `\"Completed\"`, `\"Declined\"`, `\"Cancelled\"`, `null`)","type":"string","nullable":true,"enum":["Acknowledged","Accepted","Rejected","Paused","Pending","Completed","Declined","Cancelled"]},"status_detail":{"description":"Additional description on transaction status. Currently not used in decisioning.","type":"string","nullable":true},"iso_message":{"description":"ISO standard value returned on card transactions","type":"number","nullable":true},"settled_at":{"description":"ISO 8601 date. Currently not used in decisioning.","type":"string","nullable":true},"latest_transaction_date":{"description":"ISO 8601 date. Currently not used in decisioning.","type":"string","nullable":true},"description":{"description":"A description of the transaction. Currently not used in decisioning.","type":"string","nullable":true},"approval_code":{"description":"The raw approval code provided by the customer. Currently not used in decisioning.","type":"string","nullable":true},"transaction_meta":{"description":"Object containing extra raw data not stored in other columns. Currently not used in decisioning.","type":"object","nullable":true}}}],"example":{"transaction_date":"2021-10-24 18:02:00+00","latest_transaction_date":"2021-10-24 18:02:00+00","settled_at":"2021-10-24 18:03:00+00","amount":200,"category":"Deposit","currency":"USD","description":"Mobile App Deposit","is_approved":true,"transaction_meta":{"customAttribute":"customValue"},"process_method":"ACH","interaction_point":"iOS"}}}}},"responses":{"200":{"x-summary":"OK","description":"Transaction updated successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"integer"},"error":{"type":"string"},"source":{"readOnly":true},"destination":{"readOnly":true},"account_snapshot":{"readOnly":true}},"allOf":[{"$ref":"#/paths/~1transactions~1%7Btransaction_id%7D/patch/requestBody/content/application~1json/schema/allOf/0"}],"example":{"status_code":200,"error":null,"transaction_id":"sample-001","transaction_date":"2021-10-24T18:02:00.000Z","latest_transaction_date":"2021-10-24T18:02:00.000Z","settled_at":"2021-10-24T18:03:00.000Z","currency_code":"USD","description":"Mobile App Deposit","card_process_mode":null,"device_type_code":null,"type_code":null,"type_description":null,"is_approved":true,"approval_code":null,"is_reversal":null,"meta":{"customAttribute":"customValue"},"category":"Deposit","is_triggered_by_user":true,"is_international_override":null,"amount":"200","interaction_point":"iOS","status":null,"status_detail":null,"process_method":"ACH","return_code":null,"return_code_reason":null}}}}}}}}}}