## Get a payout by id. `PayoutUnmaskResponse Payouts.Unmask(PayoutUnmaskParamsparameters, CancellationTokencancellationToken = default)` **get** `/v1/payouts/{id}/unmask` Get a payout by id. ### Parameters - `PayoutUnmaskParams parameters` - `required string id` - `string correlationID` Optional client generated identifier to trace and debug a series of requests. - `string requestID` Optional client generated identifier to trace and debug a request. - `string straddleAccountID` For use by platforms to specify an account id and set scope of a request. ### Returns - `class PayoutUnmaskResponse:` - `required Data Data` - `required string ID` Id. - `required Int Amount` Amount. - `required Config Config` - `Boolean? AutoHold` Defines whether to automatically place this charge on hold after being created. - `string? AutoHoldMessage` The reason the payout is being automatically held on creation. - `SandboxOutcome SandboxOutcome` Payment will simulate processing if not Standard. - `"standard"Standard` - `"paid"Paid` - `"on_hold_daily_limit"OnHoldDailyLimit` - `"cancelled_for_fraud_risk"CancelledForFraudRisk` - `"cancelled_for_balance_check"CancelledForBalanceCheck` - `"failed_insufficient_funds"FailedInsufficientFunds` - `"reversed_insufficient_funds"ReversedInsufficientFunds` - `"failed_customer_dispute"FailedCustomerDispute` - `"reversed_customer_dispute"ReversedCustomerDispute` - `"failed_closed_bank_account"FailedClosedBankAccount` - `"reversed_closed_bank_account"ReversedClosedBankAccount` - `required string Currency` Currency. - `required string? Description` Description. - `required Device Device` - `required string IPAddress` Ip address. - `required string ExternalID` External id. - `required IReadOnlyList FundingIds` Funding Ids - `required string Paykey` Paykey. - `required DateOnly PaymentDate` Payment date. - `required Status Status` The current status of the `charge` or `payout`. - `"created"Created` - `"scheduled"Scheduled` - `"failed"Failed` - `"cancelled"Cancelled` - `"on_hold"OnHold` - `"pending"Pending` - `"paid"Paid` - `"reversed"Reversed` - `"validating"Validating` - `required StatusDetailsV1 StatusDetails` - `required DateTimeOffset ChangedAt` The time the status change occurred. - `required string Message` A human-readable description of the current status. - `required Reason Reason` A machine-readable identifier for the specific status, useful for programmatic handling. - `"insufficient_funds"InsufficientFunds` - `"closed_bank_account"ClosedBankAccount` - `"invalid_bank_account"InvalidBankAccount` - `"invalid_routing"InvalidRouting` - `"disputed"Disputed` - `"payment_stopped"PaymentStopped` - `"owner_deceased"OwnerDeceased` - `"frozen_bank_account"FrozenBankAccount` - `"risk_review"RiskReview` - `"fraudulent"Fraudulent` - `"duplicate_entry"DuplicateEntry` - `"invalid_paykey"InvalidPaykey` - `"payment_blocked"PaymentBlocked` - `"amount_too_large"AmountTooLarge` - `"too_many_attempts"TooManyAttempts` - `"internal_system_error"InternalSystemError` - `"user_request"UserRequest` - `"ok"Ok` - `"other_network_return"OtherNetworkReturn` - `"payout_refused"PayoutRefused` - `"cancel_request"CancelRequest` - `"failed_verification"FailedVerification` - `"require_review"RequireReview` - `"blocked_by_system"BlockedBySystem` - `"watchtower_review"WatchtowerReview` - `"validating"Validating` - `"auto_hold"AutoHold` - `required Source Source` Identifies the origin of the status change (e.g., `bank_decline`, `watchtower`). This helps in tracking the cause of status updates. - `"watchtower"Watchtower` - `"bank_decline"BankDecline` - `"customer_dispute"CustomerDispute` - `"user_action"UserAction` - `"system"System` - `string? Code` The status code if applicable. - `required IReadOnlyList StatusHistory` Status history. - `required DateTimeOffset ChangedAt` The time the status change occurred. - `required string Message` A human-readable description of the status. - `required Reason Reason` A machine-readable identifier for the specific status, useful for programmatic handling. - `"insufficient_funds"InsufficientFunds` - `"closed_bank_account"ClosedBankAccount` - `"invalid_bank_account"InvalidBankAccount` - `"invalid_routing"InvalidRouting` - `"disputed"Disputed` - `"payment_stopped"PaymentStopped` - `"owner_deceased"OwnerDeceased` - `"frozen_bank_account"FrozenBankAccount` - `"risk_review"RiskReview` - `"fraudulent"Fraudulent` - `"duplicate_entry"DuplicateEntry` - `"invalid_paykey"InvalidPaykey` - `"payment_blocked"PaymentBlocked` - `"amount_too_large"AmountTooLarge` - `"too_many_attempts"TooManyAttempts` - `"internal_system_error"InternalSystemError` - `"user_request"UserRequest` - `"ok"Ok` - `"other_network_return"OtherNetworkReturn` - `"payout_refused"PayoutRefused` - `"cancel_request"CancelRequest` - `"failed_verification"FailedVerification` - `"require_review"RequireReview` - `"blocked_by_system"BlockedBySystem` - `"watchtower_review"WatchtowerReview` - `"validating"Validating` - `"auto_hold"AutoHold` - `required Source Source` Identifies the origin of the status change (e.g., `bank_decline`, `watchtower`). This helps in tracking the cause of status updates. - `"watchtower"Watchtower` - `"bank_decline"BankDecline` - `"customer_dispute"CustomerDispute` - `"user_action"UserAction` - `"system"System` - `required Status Status` The current status of the `charge` or `payout`. - `"created"Created` - `"scheduled"Scheduled` - `"failed"Failed` - `"cancelled"Cancelled` - `"on_hold"OnHold` - `"pending"Pending` - `"paid"Paid` - `"reversed"Reversed` - `"validating"Validating` - `string? Code` The status code if applicable. - `required IReadOnlyDictionary TraceIds` Trace Ids. - `DateTimeOffset? CreatedAt` Created at. - `CustomerDetailsV1 CustomerDetails` Information about the customer associated with the charge or payout. - `required string ID` Unique identifier for the customer - `required CustomerType CustomerType` The type of customer - `"individual"Individual` - `"business"Business` - `required string Email` The customer's email address - `required string Name` The name of the customer - `required string Phone` The customer's phone number in E.164 format - `DateTimeOffset? EffectiveAt` Effective at. - `IReadOnlyDictionary? Metadata` Metadata. - `PaykeyDetailsV1 PaykeyDetails` - `required string ID` Unique identifier for the paykey. - `required string CustomerID` Unique identifier for the customer associated with the paykey. - `required string Label` Human-readable label that combines the bank name and masked account number to help easility represent this paykey in a UI - `Int? Balance` The most recent balance of the bank account associated with the paykey in dollars. - `PaymentRail PaymentRail` The payment rail used for the charge or payout. - `"ach"Ach` - `DateTimeOffset? ProcessedAt` Processed at. - `IReadOnlyDictionary? RelatedPayments` Related payments. - `"original"Original` - `"resubmit"Resubmit` - `"refund"Refund` - `DateTimeOffset? UpdatedAt` Updated at. - `required ResponseMetadata Meta` Metadata about the API request, including an identifier and timestamp. - `required string ApiRequestID` Unique identifier for this API request, useful for troubleshooting. - `required DateTimeOffset ApiRequestTimestamp` Timestamp for this API request, useful for troubleshooting. - `required ResponseType ResponseType` Indicates the structure of the returned content. - "object" means the `data` field contains a single JSON object. - "array" means the `data` field contains an array of objects. - "error" means the `data` field contains an error object with details of the issue. - "none" means no data is returned. - `"object"Object` - `"array"Array` - `"error"Error` - `"none"None` ### Example ```csharp PayoutUnmaskParams parameters = new() { ID = "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e" }; var response = await client.Payouts.Unmask(parameters); Console.WriteLine(response); ``` #### Response ```json { "data": { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "amount": 0, "config": { "auto_hold": true, "auto_hold_message": "auto_hold_message", "sandbox_outcome": "standard" }, "currency": "currency", "description": "description", "device": { "ip_address": "ip_address" }, "external_id": "external_id", "funding_ids": [ "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e" ], "paykey": "paykey", "payment_date": "2019-12-27", "status": "created", "status_details": { "changed_at": "2019-12-27T18:11:19.117Z", "message": "Payment successfully created and awaiting validation.", "reason": "insufficient_funds", "source": "system", "code": null }, "status_history": [ { "changed_at": "2019-12-27T18:11:19.117Z", "message": "Payment successfully created and awaiting validation.", "reason": "insufficient_funds", "source": "watchtower", "status": "created", "code": null } ], "trace_ids": { "foo": "string" }, "created_at": "2019-12-27T18:11:19.117Z", "customer_details": { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "customer_type": "individual", "email": "ron@swanson.com", "name": "Ron Swanson", "phone": "+1234567890" }, "effective_at": "2019-12-27T18:11:19.117Z", "metadata": { "foo": "string" }, "paykey_details": { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "customer_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "label": "Bank of America ****1234", "balance": 0 }, "payment_rail": "ach", "processed_at": "2019-12-27T18:11:19.117Z", "related_payments": { "foo": "original" }, "updated_at": "2019-12-27T18:11:19.117Z" }, "meta": { "api_request_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "api_request_timestamp": "2019-12-27T18:11:19.117Z" }, "response_type": "object" } ```