---
updatedAt: 2026-06-30T16:05:21.000Z
agentTools:
  projectIndex: https://docs.pelcro.com/llms.txt
---

# Create vendor payout detail

Create payout details (bank account) for a vendor.

## Overview

Create payout details (bank account) for a vendor. Each vendor can have at most one payout detail.

**Example:** Set up ACH payment details for a vendor so they can receive payouts.

***

## Important Behaviors

* **1:1 constraint**: Returns 409 if the vendor already has payout details configured.
* **Routing number validation**: Must be exactly 9 digits and pass ABA checksum validation.
* **Masked in responses**: Routing and account numbers are masked (only last 4 digits shown) in all API responses.
* **Defaults to disabled**: `payout_method_status` defaults to `disabled`. Must be explicitly enabled and authorized before payouts can be processed.
* **Webhook**: Triggers the `vendor_payout_detail.created` webhook event.

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "core-api",
    "version": "1.88"
  },
  "servers": [
    {
      "url": "https://www.pelcro.com/api/v1/core"
    }
  ],
  "components": {
    "securitySchemes": {
      "sec0": {
        "type": "apiKey",
        "in": "header",
        "name": "Authorization",
        "x-bearer-format": "bearer"
      },
      "sec1": {
        "type": "apiKey",
        "in": "query",
        "name": "site_id"
      }
    }
  },
  "security": [
    {
      "sec0": [],
      "sec1": []
    }
  ],
  "paths": {
    "/vendors/payout-details": {
      "post": {
        "description": "Create payout details (bank account) for a vendor.",
        "responses": {
          "201": {
            "description": "Created.",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{\n  \"data\": {\n    \"id\": 1,\n    \"vendor_id\": 50,\n    \"account_id\": 100,\n    \"account_holder_name\": \"Jane Smith\",\n    \"bank_name\": \"Chase\",\n    \"routing_number\": \"****0021\",\n    \"account_number\": \"****7890\",\n    \"account_type\": \"checking\",\n    \"currency\": \"usd\",\n    \"country\": \"US\",\n    \"payout_method_status\": \"disabled\",\n    \"vendor_internal_identifier\": \"V0000000050\",\n    \"transaction_type\": \"credit\",\n    \"authorization_status\": null,\n    \"authorization_timestamp\": null,\n    \"authorization_method\": null,\n    \"authorized_by\": null,\n    \"is_payout_ready\": false,\n    \"created_at\": 1650974042,\n    \"updated_at\": 1650974042\n  },\n  \"status\": \"success\"\n}"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request.",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "status": 400,
                        "message": "Invalid request, please try again."
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthenticated.",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": "Unauthenticated."
                    }
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict.",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "status": 409,
                        "message": "This vendor already has payout details configured. Use PUT to update."
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "site_id",
            "in": "query",
            "description": "The unique identifier of the site associated with your account.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "default": "Bearer eyJ***"
            }
          }
        ],
        "operationId": "post_vendors-payout-details",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "vendor_id",
                  "account_holder_name",
                  "routing_number",
                  "account_number",
                  "account_type"
                ],
                "properties": {
                  "vendor_id": {
                    "type": "integer",
                    "description": "The vendor user ID to create payout details for."
                  },
                  "account_holder_name": {
                    "type": "string",
                    "maxLength": 255,
                    "description": "Name on the bank account."
                  },
                  "bank_name": {
                    "type": "string",
                    "nullable": true,
                    "maxLength": 255,
                    "description": "Name of the bank."
                  },
                  "routing_number": {
                    "type": "string",
                    "minLength": 9,
                    "maxLength": 9,
                    "pattern": "^[0-9]{9}$",
                    "description": "9-digit ABA routing number. Must pass ABA checksum validation."
                  },
                  "account_number": {
                    "type": "string",
                    "minLength": 4,
                    "maxLength": 17,
                    "description": "Bank account number. 4 to 17 digits.",
                    "pattern": "^[0-9]{4,17}$"
                  },
                  "account_type": {
                    "type": "string",
                    "enum": [
                      "checking",
                      "savings"
                    ],
                    "description": "Bank account type."
                  },
                  "currency": {
                    "type": "string",
                    "minLength": 3,
                    "maxLength": 3,
                    "description": "3-letter currency code (e.g. usd)."
                  },
                  "country": {
                    "type": "string",
                    "minLength": 2,
                    "maxLength": 2,
                    "description": "2-letter country code (e.g. US)."
                  },
                  "payout_method_status": {
                    "type": "string",
                    "enum": [
                      "enabled",
                      "disabled"
                    ],
                    "description": "Payout method status. Defaults to disabled."
                  },
                  "authorization_method": {
                    "type": "string",
                    "nullable": true,
                    "enum": [
                      "written",
                      "electronic"
                    ],
                    "description": "Authorization method for the payout."
                  }
                }
              }
            }
          }
        },
        "summary": "Create vendor payout detail"
      }
    }
  },
  "x-readme": {
    "headers": [],
    "explorer-enabled": true,
    "proxy-enabled": true
  },
  "x-readme-fauxas": true
}
```