> ## Documentation Index
> Fetch the complete documentation index at: https://docs.synctera.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create External Card Transfer

> Create External Card Transfer




## OpenAPI

````yaml openapi-v2.json post /external_cards/transfers
openapi: 3.0.3
info:
  description: >
    <h2>Let's build something great.</h2><p>Welcome to the official reference
    documentation for Synctera APIs. Our APIs are the best way to automate your
    company's banking needs and are designed to be easy to understand and
    implement.</p><p>We're continuously growing this library and what you see
    here is just the start, but if you need something specific or have a
    question, <a class='text-blue-600' href='https://synctera.com/contact'
    target='_blank' rel='noreferrer'>contact us</a>.</p>
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  title: Synctera API
  version: v2
servers:
  - description: Production
    url: https://api.synctera.com/v2
  - description: Sandbox (no real world financial impact)
    url: https://api-sandbox.synctera.com/v2
security:
  - bearerAuth: []
tags:
  - description: Create and manage wire transfers
    name: Wires
  - description: Simulate receiving Wire transactions and returns
    name: Wire Transaction Simulations
  - description: >-
      Create and manage same currency and multi-currency international wire
      transfers
    name: International Wires (alpha)
  - description: Create and manage payments
    name: ACH
  - description: Simulate receiving ACH transactions and returns
    name: ACH Transaction Simulations
  - description: Configure vendor secrets for egress requests
    name: Egress Gateway Vendor Secret CRUD API
  - description: Configure webhook secrets for egress requests
    name: Egress Gateway Webhook Secret CRUD API
  - description: Create and manage documents.
    name: Documents
  - description: Create and manage EFT Canada transfers
    name: EFT Canada (Beta)
  - description: Create and manage sweep configurations
    name: Configs
  - description: Request to create and manage edd
    name: Trust
  - description: Requests to calculate and manage CRR
    name: CRR
  - description: Requests to issue and manage cards
    name: Cards
  - description: Push and pull from cards
    name: External Cards
  - description: Bulk card issuance
    name: Bulk Issuance
  - description: Requests to generate simulated transactions
    name: Card Transaction Simulations
  - description: Requests to generate simulated webhooks
    name: Card Webhook Simulations
  - description: Requests to create and manage card disputes
    name: Card Disputes
  - description: Requests to simulate card payments
    name: Card Simulations
  - description: Create and manage accounts
    name: Accounts
  - description: Create and manage transactions
    name: Transactions (beta)
  - description: Create and manage spending controls
    name: Spend Controls (beta)
  - description: |
      Requests to create and manage fees
    name: Fees (beta)
  - description: |
      Requests to create and manage Rewards
    name: Rewards (beta)
  - description: Create and manage disputes
    name: Disputes
  - description: Create and manage tenant-level transaction limits
    name: Tenant Limits (beta)
  - description: |
      Requests to create and manage batch payments
    name: Batch Payments (alpha)
  - description: Manage negative balance processes
    name: Negative Balance
  - description: |
      Manage fee products and fee configs for automated fee collection
    name: Fee Products
  - description: |
      Manage reward products and reward configs for automated cashback rewards
    name: Reward Products
  - description: Create and manage holds
    name: Hold
  - description: Create and manage transactions
    name: Transactions
  - description: Create and manage transactions
    name: Transactions (internal)
  - description: Create and manage scheduled transactions
    name: Scheduled Transactions (internal)
  - description: Create and manage spending controls
    name: Spend Controls
  - description: Create and manage tenant configurations
    name: Tenant Configs
  - description: Lookup merchant information
    name: Merchants
  - description: See balance history
    name: BalanceHistory
  - description: API for effective balances
    name: effective_balances
  - description: Transaction lines API
    name: transactions
  - description: Requests for risk evaluation and decisioning
    name: Risk Evaluations
  - description: Requests for transaction risk detection
    name: Transaction risk
  - description: Configuration and management of transaction monitoring rules
    name: Transaction Monitoring
  - description: Request to create and manage deposits using remote deposit capture
    name: Remote Check Deposit
  - description: Request to create and manage rdc configurations
    name: RDC Config
  - description: Apple Pay APIs
    name: Apple Pay
  - description: Requests to create and manage webhooks
    name: Webhooks
  - description: Requests to generate simulated transactions
    name: Cash Transaction Simulations (alpha)
  - description: >-
      Testing endpoints to simulate in-store cash deposits. Available in sandbox
      environments only.
    name: In-Store Cash Deposit Simulations
  - description: Create and manage barcodes for in-store cash deposits
    name: In-Store Cash Deposits
  - description: Create and manage Cash Order and Cash Deposit transfers
    name: Cash Orders and Deposits (alpha)
  - description: FDX authentication and data transfer using Plaid Core Exchange
    name: Plaid Core Exchange (beta)
  - description: Request to create and manage payment_schedules
    name: Cronut
  - description: Request to create and manage statements
    name: Statements
  - description: Create and manage Synctera Pay templates
    name: SyncteraPay
  - description: Account Template
    name: Account Templates
  - description: >-
      Account programs define configurations for payment rails and transaction
      capabilities across different account types.
    name: Account Programs
  - description: Requests to create and manage account products, including fees, interest.
    name: Account Products
  - description: |
      The internal account resource is used for managing links to internal
      accounts where the funds are managed by integrators.
    name: Internal Accounts
  - description: Requests to create and manage API keys
    name: API Keys
  - description: Requests to manage banks
    name: Banks
  - description: Requests to create and manage customers
    name: Customers
  - description: >
      A natural person (individual human) that is relevant to the Synctera
      platform in some way: e.g. a personal customer or a director/officer/owner
      of a business.
    name: Persons
  - description: >
      A legal entity (corporation, partnership, etc.) that is relevant to the
      Synctera platform in some way: a business customer or some other
      organization that has an ownership share in such a business customer.
    name: Businesses
  - description: >
      The fintech profile document resource is used to track the approval status
      of any documents

      which must be reviewed by a bank. This includes regulatory documents which
      will be presented

      to the fintech's end users, and also any documents that help the bank
      understand the

      fintech's fitness for duty.
    name: Fintech Profile
  - description: |
      The disclosures resource is used to track the status of disclosures and
      ensure that all parties have been shown the necessary disclosures to meet
      regulatory obligations.
    name: Disclosures
  - description: |
      The Disclosures resource is used to track the status of disclosures and
      ensure that customers have been shown the necessary disclosures to meet
      regulatory obligations.
    name: Disclosures (deprecated)
  - description: |
      The External Account resource is used for managing links to accounts
      that operate outside of the Synctera ecosystem.
    name: External Accounts
  - description: History
    name: History
  - description: Requests to initiate customer verification.
    name: KYC Verification (deprecated)
  - description: Requests to initiate customer verification.
    name: KYC/KYB Verifications
  - description: Requests to screen parties against sanctions watchlists
    name: Sanctions Screening
  - description: Requests to manage monitoring subscriptions and alerts for customers.
    name: Monitoring
  - description: Requests to manage partners
    name: Partners
  - description: Request to create and manage party groups and party group members
    name: Party Groups
  - description: Requests to create and manage roles
    name: Roles
  - description: >
      Represents the relationships between parties. A relationship can exist
      between personal customers, business customers, or non-customer
      persons/organizations.
    name: Relationships
  - description: Request to create and manage users
    name: Users
  - description: Request to enroll, renew, or cancel watchlist monitors
    name: Watchlist (deprecated)
  - description: Retrieve user identity information
    name: Identity
  - description: Endpoints for modifying or fetching posting dates
    name: Posting Dates
  - description: Admin API for Middesk configuration using the tenants API keys.
    name: Middesk
  - description: Requests to search and manage compliance searches
    name: Compliance Searches
  - description: Requests to configure vendors.
    name: Vendor Configurations
  - description: Requests to create and manage notes
    name: Notes
  - description: >
      Represents the compliance rules that are used to verify certain kinds of
      money movement.
    name: Compliance Rules
  - description: Requests to create licenses
    name: Licenses
  - description: >-
      Used to configure bank accounts for which synctera accounts are considered
      a "subledger" to
    name: Bank Account
  - description: Requests to search financial institutions
    name: Institutions (Beta)
  - description: Requests to manage addresses
    name: Addresses
  - description: Requests to Admins to grant permissions to user
    name: Request Permissions
  - description: Manage contacts for bank and fintech partners
    name: Contacts
  - description: Requests to create and manage personal ID configurations
    name: Personal ID Configuration
  - description: >-
      Migration mappings associate resources from an old tenant identity with a
      new tenant identity.
    name: Migration Mappings
  - description: Create a credit application.
    name: Applications (beta)
  - description: Billing period summaries
    name: Billing Period Summaries
  - description: Customer Service Details for disputes and billing inquiries
    name: Customer Service Details
  - description: Billing rates
    name: Billing Rates
  - description: Rates
    name: Rates
  - description: Lending Config
    name: Lending Config
  - description: Manage credit disputes
    name: Credit Disputes
  - description: Payments related to lending accounts
    name: Payments
  - description: Tenant Config
    name: Tenant Config
  - description: Bank Delinquency Configuration
    name: Bank Delinquency Configuration
  - description: >-
      Per bank/partner account-type mapping to FFIEC collateral codes used for
      regulatory call report furnishment.
    name: Collateral Code Configuration
  - description: >-
      Rules that map a posted payment transaction (bank/partner + transaction
      attributes) to a regulatory payment code. NULL match columns act as
      wildcards.
    name: Payment Code Configuration
  - description: Autopay configuration management for lending accounts
    name: Autopay Configs
  - description: Autopay payment records for billing periods
    name: Autopays
  - description: Configuration for mapping LoanPro events to Payola transaction parameters
    name: LoanPro Transaction Event Config
  - description: >-
      Aggregated write-off amounts for lending accounts, computed from posted
      transactions.
    name: Write Off Amounts
paths:
  /external_cards/transfers:
    post:
      tags:
        - External Cards
      summary: Create External Card Transfer
      description: |
        Create External Card Transfer
      operationId: createExternalCardTransfer
      parameters:
        - $ref: '#/components/parameters/idempotency_key'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/transfer_request'
        description: Details of the External Card Transfer to create
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/create_transfer_response'
          description: External Card Transfer created
        '400':
          $ref: '#/components/responses/bad_request'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/forbidden'
        '422':
          $ref: '#/components/responses/unprocessable_entity'
        '500':
          $ref: '#/components/responses/internal_server_error'
components:
  parameters:
    idempotency_key:
      description: >-
        An idempotency key is an arbitrary unique value generated by client to
        detect subsequent retries of the same request. It is recommended that a
        UUID or a similar random identifier be used as an idempotency key. A
        different key must be used for each request, unless it is a retry.
      in: header
      name: Idempotency-Key
      schema:
        example: 7d943c51-e4ff-4e57-9558-08cab6b963c7
        type: string
  schemas:
    transfer_request:
      discriminator:
        mapping:
          PULL:
            $ref: '#/components/schemas/transfer_request_pull'
          PUSH:
            $ref: '#/components/schemas/transfer_request_push'
        propertyName: type
      oneOf:
        - $ref: '#/components/schemas/transfer_request_pull'
        - $ref: '#/components/schemas/transfer_request_push'
      type: object
    create_transfer_response:
      discriminator:
        mapping:
          PULL:
            $ref: '#/components/schemas/create_transfer_response_pull'
          PUSH:
            $ref: '#/components/schemas/create_transfer_response_push'
        propertyName: type
      oneOf:
        - $ref: '#/components/schemas/create_transfer_response_pull'
        - $ref: '#/components/schemas/create_transfer_response_push'
      type: object
    transfer_request_pull:
      allOf:
        - $ref: '#/components/schemas/transfer_request_base'
        - properties:
            external_card_id:
              $ref: '#/components/schemas/external_card_id'
            three_ds_id:
              description: >-
                Unique identifier of an External Card Transfer 3-D Secure
                Authorization - conditionally required according to your
                program's 3DS policy
              example: 40e2de9e-4375-4fa1-9393-92da972a9338
              format: uuid
              type: string
            type:
              $ref: '#/components/schemas/create_transfer_type'
          required:
            - type
            - external_card_id
          type: object
      description: Push/pull funds to/from an External Card
      title: Pull Request
      type: object
    transfer_request_push:
      allOf:
        - $ref: '#/components/schemas/transfer_request_base'
        - properties:
            external_card_id:
              $ref: '#/components/schemas/external_card_id'
            originating_customer_id:
              description: >-
                For person-to-person PUSH transactions this is the customer_id
                of the sender who must have privileges to access funds in the
                originating account in order to send funds to the recipient
                cardholder
              example: 7d943c51-e4ff-4e57-9558-08cab6b963c7
              format: uuid
              type: string
            type:
              $ref: '#/components/schemas/create_transfer_type'
          required:
            - type
            - external_card_id
          type: object
      description: Push/pull funds to/from an External Card
      title: Push Request
      type: object
    create_transfer_response_pull:
      allOf:
        - $ref: '#/components/schemas/transfer_response_base'
        - properties:
            external_card_id:
              $ref: '#/components/schemas/external_card_id'
            three_ds_id:
              $ref: '#/components/schemas/transfer_three_ds_id'
            type:
              $ref: '#/components/schemas/create_transfer_type'
          required:
            - type
            - external_card_id
          type: object
      description: Pull funds from an External Card
      title: Pull Response
      type: object
    create_transfer_response_push:
      allOf:
        - $ref: '#/components/schemas/transfer_response_base'
        - properties:
            external_card_id:
              $ref: '#/components/schemas/external_card_id'
            originating_customer_id:
              $ref: '#/components/schemas/transfer_originating_customer_id'
            type:
              $ref: '#/components/schemas/create_transfer_type'
          required:
            - type
            - external_card_id
          type: object
      description: Push funds to an External Card
      title: Push Response
      type: object
    error:
      description: Synctera error responses in API v1 implement a custom error schema.
      properties:
        code:
          description: >
            A machine-readable string that identifies the error for programmatic
            use.
          example: BAD_REQUEST_BODY
          type: string
        detail:
          description: |
            A human-readable string explaining this particular error.
          example: 'Missing required fields: first_name, dob'
          type: string
        status:
          description: HTTP status code for this response
          example: 400
          type: integer
      title: Synctera error response
      type: object
    transfer_request_base:
      properties:
        amount:
          description: Amount of the transfer in cents (USD)
          minimum: 1
          type: integer
        merchant:
          $ref: '#/components/schemas/merchant'
        originating_account_id:
          description: >-
            The ID of the account to which the transfer will be
            initiated/received
          example: 7d943c51-e4ff-4e57-9558-08cab6b963c7
          format: uuid
          type: string
        tenant:
          $ref: '#/components/schemas/tenant_id'
      required:
        - originating_account_id
        - amount
      type: object
    external_card_id:
      description: The ID of the External Card associated with the operation
      example: 7d943c51-e4ff-4e57-9558-08cab6b963c7
      format: uuid
      type: string
    create_transfer_type:
      description: |
        Type of transfer operation.

        Type | Description
        --- | ---
        PUSH | Push funds to an External Card from an Account
        PULL | Pull funds from an External Card to an Account
      enum:
        - PUSH
        - PULL
      example: PULL
      type: string
    transfer_response_base:
      properties:
        account_id:
          description: >-
            The ID of the Synctera account into which or from which funds were
            moved
          example: 7d943c51-e4ff-4e57-9558-08cab6b963c7
          format: uuid
          type: string
        amount:
          description: Amount of the transfer in cents
          type: integer
        creation_time:
          example: '2010-05-06T12:23:34.321Z'
          format: date-time
          type: string
        currency:
          $ref: '#/components/schemas/currency_code'
        customer_id:
          $ref: '#/components/schemas/transfer_customer_id'
        id:
          description: The ID of the transfer
          type: string
        last_updated_time:
          example: '2010-05-06T12:23:34.321Z'
          format: date-time
          type: string
        merchant:
          $ref: '#/components/schemas/merchant'
        network_decline_details:
          description: >-
            If available, a human readable string indicating why a transfer was
            declined downstream of our system
          type: string
        reason:
          description: >-
            The reason for the status, e.g. INSUFFICIENT_FUNDS, SUSPECTED_FRAUD,
            NETWORK_DECLINED
          type: string
        status:
          $ref: '#/components/schemas/transfer_status'
        tenant:
          $ref: '#/components/schemas/tenant_id'
        transaction_id:
          description: The transaction ID
          format: uuid
          type: string
      required:
        - id
        - account_id
        - amount
        - currency
        - status
        - customer_id
        - creation_time
        - last_updated_time
        - merchant
        - tenant
      type: object
    transfer_three_ds_id:
      description: >-
        Unique identifier of an External Card Transfer 3-D Secure Authorization
        - conditionally required according to your program's 3DS policy
      example: 40e2de9e-4375-4fa1-9393-92da972a9338
      format: uuid
      type: string
    transfer_originating_customer_id:
      description: >-
        For person-to-person PUSH transactions this is the customer_id of the
        sender who must have privileges to access funds in the originating
        account in order to send funds to the recipient cardholder
      example: 7d943c51-e4ff-4e57-9558-08cab6b963c7
      format: uuid
      type: string
    merchant:
      description: >-
        Merchant descriptor information that will be shown on statement and
        transaction details. If not provided, FinTech information will be used.
      properties:
        address:
          $ref: '#/components/schemas/address'
        email:
          description: Merchant's email
          example: alice@example.com
          type: string
        name:
          description: Merchant's name
          type: string
        phone_number:
          description: >-
            Merchant's phone number with country code in E.164 format. Must have
            a valid country code. Area code and local phone number are not
            validated.
          example: '+14374570680'
          pattern: ^\+[1-9]\d{1,14}$
          type: string
      required:
        - name
        - address
      type: object
    tenant_id:
      description: |
        The id of the tenant containing the resource.
      example: abcdef_ghijkl
      type: string
    currency_code:
      description: ISO 4217  Alpha-3 currency code
      example: USD
      maxLength: 3
      minLength: 3
      type: string
    transfer_customer_id:
      description: The customer_id of the cardholder
      example: 7d943c51-e4ff-4e57-9558-08cab6b963c7
      format: uuid
      type: string
    transfer_status:
      description: The status of the transfer
      enum:
        - SUCCEEDED
        - PENDING
        - DECLINED
        - CANCELED
        - UNKNOWN
      type: string
    address:
      properties:
        address_line_1:
          description: Street address line 1
          example: 100 Main St.
          type: string
        address_line_2:
          description: Street address line 2
          example: Suite 99
          type: string
        address_type:
          description: |
            Specifies the address type.
          enum:
            - BILLING
            - LEGAL
            - SHIPPING
            - OPERATING
            - OTHER
          example: SHIPPING
          readOnly: true
          type: string
        city:
          description: City
          example: New York
          type: string
        country_code:
          description: ISO-3166-1 Alpha-2 country code
          example: US
          pattern: ^[A-Z]{2}$
          type: string
        id:
          $ref: '#/components/schemas/id'
        is_registered_agent:
          description: >-
            Indicates whether an address is a registered agent. Omitted if the
            address is not a registered agent.
          example: true
          type: boolean
        nickname:
          description: >
            A nickname for the address. This is used to identify the address in
            the UI.
          example: Home
          type: string
        postal_code:
          description: >
            Postal code.

            For US, formats of 12345 or 12345-1234 are accepted.

            For CA, formats of A1A 1A1 or A1A1A1 (regardless of case) are
            accepted, and will be converted to A1A 1A1 format.
          example: '28620'
          type: string
        state:
          description: >
            State, region, province, or prefecture.

            This is the ISO-3166-2 subdivision code, excluding the country
            prefix.

            For example, TX for Texas USA or TAM for Tamaulipas Mexico.

            Its length varies by country, e.g. 2 characters for US, 3 for MX.
          example: NY
          type: string
      required:
        - address_line_1
        - country_code
      type: object
    id:
      description: The unique identifier for this resource.
      example: 7d943c51-e4ff-4e57-9558-08cab6b963c7
      format: uuid
      readOnly: true
      type: string
  responses:
    bad_request:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
      description: Bad request
    unauthorized:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
      description: Unauthorized
    forbidden:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
      description: Forbidden
    unprocessable_entity:
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/error'
      description: Unprocessable entity request response
    internal_server_error:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
      description: Internal server error
  securitySchemes:
    bearerAuth:
      bearerFormat: api_key
      scheme: bearer
      type: http

````