---
title: "Create a destination"
method: POST
path: "/v2/destinations"
---

# Create a destination

`POST /v2/destinations`

## Request

- Base URL: `https://api.slash.com`
- URL: `https://api.slash.com/v2/destinations`
- Auth: API key in header `X-API-Key`

Save bank instructions on a recipient. Use the returned destination id in the matching per-rail transfer create endpoint.

## Headers

- `X-Idempotency-Key` string, required

## Request body

- union: Bank instructions to save on a recipient.
  - object: Save US routing and account details for ACH, wire, or realtime payments.
    - `recipientId` string, required: The recipient to save the destination on.
    - `type` 'bank_account', required
    - `name` string, required: Your label for the destination.
    - `accountNumber` string, required
    - `routingNumber` string, required
    - `accountType` 'checking' | 'savings', required
    - `beneficiary` object, required
      - `name` string, required
      - `address` DestinationAddress, required
        - `line1` string, required: Fedwire characters only: letters, digits, spaces and `. ? ! , ; : _ @ & / \ ' " ~ ( ) < > $ # % + - = { } * | [ ] ^`.
        - `line2` string: Fedwire characters only: letters, digits, spaces and `. ? ! , ; : _ @ & / \ ' " ~ ( ) < > $ # % + - = { } * | [ ] ^`.
        - `city` string, required: Fedwire characters only: letters, digits, spaces and `. ? ! , ; : _ @ & / \ ' " ~ ( ) < > $ # % + - = { } * | [ ] ^`.
        - `state` string: Fedwire characters only: letters, digits, spaces and `. ? ! , ; : _ @ & / \ ' " ~ ( ) < > $ # % + - = { } * | [ ] ^`.
        - `postalCode` string: Fedwire characters only: letters, digits, spaces and `. ? ! , ; : _ @ & / \ ' " ~ ( ) < > $ # % + - = { } * | [ ] ^`.
        - `countryCode` string: ISO 3166-1 alpha-2 country code.
      - `email` string, email
      - `phone` string
  - object: Save SWIFT and beneficiary details for international wires.
    - `recipientId` string, required: The recipient to save the destination on.
    - `type` 'international_wire', required
    - `name` string, required: Your label for the destination.
    - `accountNumber` string, required
    - `swiftBic` string, required
    - `accountType` 'checking' | 'savings', required
    - `beneficiary` object, required
      - `name` string, required: SWIFT characters only: letters, digits, spaces and `/ - ? : ( ) . , ' +`.
      - `address` object, required: Beneficiary address; `countryCode` is required for international wires.
        - `line1` string, required: Fedwire characters only: letters, digits, spaces and `. ? ! , ; : _ @ & / \ ' " ~ ( ) < > $ # % + - = { } * | [ ] ^`.
        - `line2` string: Fedwire characters only: letters, digits, spaces and `. ? ! , ; : _ @ & / \ ' " ~ ( ) < > $ # % + - = { } * | [ ] ^`.
        - `city` string, required: Fedwire characters only: letters, digits, spaces and `. ? ! , ; : _ @ & / \ ' " ~ ( ) < > $ # % + - = { } * | [ ] ^`.
        - `state` string: Fedwire characters only: letters, digits, spaces and `. ? ! , ; : _ @ & / \ ' " ~ ( ) < > $ # % + - = { } * | [ ] ^`.
        - `postalCode` string: Fedwire characters only: letters, digits, spaces and `. ? ! , ; : _ @ & / \ ' " ~ ( ) < > $ # % + - = { } * | [ ] ^`.
        - `countryCode` string, required: ISO 3166-1 alpha-2 country code.
      - `email` string, email
      - `phone` string
      - `legalId` string
      - `legalType` 'individual' | 'business' | 'non_profit' | 'sole_proprietor'
    - `bankCountryCode` string
    - `localBankCode` string
    - `localAccountNumber` string

## Response `200`

The created destination.

- union: Saved payment instructions belonging to a recipient.
  - DestinationBankAccount: US routing and account details usable for ACH, wire, or realtime payments.
    - `id` string, required: Destination id.
    - `recipientId` string, required: The recipient that owns this destination.
    - `name` string, required: Display name visible to your organization.
    - `status` 'active' | 'pending' | 'disabled' | 'archived', required
    - `supportedTransferTypes` string[], required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `archivedAt` string, date-time
    - `type` 'bank_account', required
    - `bankAccount` object, required
      - `bankName` string, required
      - `accountType` 'checking' | 'savings', required
      - `accountNumberLastFour` string, required
      - `routingNumber` string, required
  - DestinationInternationalWire: SWIFT beneficiary details usable for international wire payments.
    - `id` string, required: Destination id.
    - `recipientId` string, required: The recipient that owns this destination.
    - `name` string, required: Display name visible to your organization.
    - `status` 'active' | 'pending' | 'disabled' | 'archived', required
    - `supportedTransferTypes` string[], required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `archivedAt` string, date-time
    - `type` 'international_wire', required
    - `internationalWire` object, required
      - `beneficiaryName` string, required
      - `accountType` 'checking' | 'savings', required
      - `accountNumberLastFour` string, required
      - `swiftBic` string, required
      - `bankCountryCode` string
      - `localBankCode` string
      - `localAccountNumberLastFour` string

## Other responses

- `400`: - `international_wire_details_invalid` — The bank rejected the international wire details for the destination country; `fields` lists which. - `invalid_beneficiary_address` — The beneficiary address cannot be used for this destination; `problems` says why. - `invalid_swift_bic` — The SWIFT/BIC code does not match any bank. - `routing_number_blocked` — Slash does not send to this routing number. - `routing_number_not_found` — The routing number does not belong to any US bank. - `unsupported_beneficiary_name` — The beneficiary name has characters banks do not accept. - `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.
- `401`: - `unauthorized` — API key authentication is missing or invalid.
- `403`: - `forbidden` — The credential is not permitted to perform this action on the resource. When the resource is a field of the request, `details` names that `field` and the `id` it received. - `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity. - `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime. - `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.
- `404`: - `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.
- `409`: - `conflict (idempotency key reused)` — A consumed `X-Idempotency-Key` was reused; the original response is not replayed.
- `429`: The request exceeded the applicable rate limit. The response body is plain text, not the error object; clients must not depend on its wording.
- `500`: - `internal` — Slash could not complete the request. Quote `referenceId` when contacting Slash support.

## Changes

- **2026-10-31** `6a0c9924f20c`: 13 breaking, 7 warning
  - the `oneOf[subschema #1: US bank account]/name` request property's maxLength was decreased to `127`
  - the `oneOf[subschema #2: International bank account]/name` request property's maxLength was decreased to `127`
  - added the pattern `^[A-Za-z0-9 /?:().,'+-]*$` to the request property `oneOf[subschema #2: International bank account]/beneficiary/name`
  - added the pattern `^[A-Za-z0-9\s.?!,;:_@&/\\'"~()<>$#%+={}*|\[\]^-]*$` to the request property `oneOf[subschema #1: US bank account]/beneficiary/address/city`
  - …16 more
- **2026-10-16** `8b5d371ffeea`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/slashfi/apis/slash-public-api/changes/v2/destinations/post.md)

---

[API](https://skmtc.dev/slashfi/apis/slash-public-api.md) - [All operations](https://skmtc.dev/slashfi/apis/slash-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/slashfi/apis/slash-public-api/revisions/eaed2d63c9e2?raw)
