> ## 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-v1.json post /external_cards/transfers
openapi: 3.0.3
info:
  description: >-
    This is the official reference documentation for Synctera APIs. If you need
    something specific or have a question, <a class='text-blue-600'
    href='https://synctera.com/contact-us' 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: 1.181.0
servers:
  - description: Production
    url: https://api.synctera.com/v1
  - description: Sandbox (no real world financial impact)
    url: https://api-sandbox.synctera.com/v1
security:
  - bearerAuth: []
tags:
  - description: |
      Requests to create and manage Rewards
    name: Rewards (beta)
  - description: Requests to generate simulated webhooks
    name: Card Webhook Simulations
  - description: >-
      Testing endpoints to simulate in-store cash deposits. Available in sandbox
      environments only.
    name: In-Store Cash Deposit Simulations
  - description: Create and manage spending controls
    name: Spend Controls (beta)
  - description: Rates
    name: Rates
  - description: Requests to create and manage webhooks
    name: Webhooks
  - description: Tenant Config
    name: Tenant Config
  - description: FDX authentication and data transfer using Plaid Core Exchange
    name: Plaid Core Exchange (beta)
  - description: Create and manage disputes
    name: Disputes
  - description: Requests to simulate card payments
    name: Card Simulations
  - description: |
      Manage fee products and fee configs for automated fee collection
    name: Fee Products
  - description: Apple Pay APIs
    name: Apple Pay
  - description: Lending Config
    name: Lending Config
  - description: Payments related to lending accounts
    name: Payments
  - description: Manage negative balance processes
    name: Negative Balance
  - description: Configuration for mapping LoanPro events to Payola transaction parameters
    name: LoanPro Transaction Event Config
  - description: Requests to generate simulated transactions
    name: Cash Transaction Simulations (alpha)
  - description: Create and manage transactions
    name: Transactions (beta)
  - description: Autopay payment records for billing periods
    name: Autopays
  - description: Create and manage accounts
    name: Accounts
  - description: |
      Requests to create and manage batch payments
    name: Batch Payments (alpha)
  - description: Billing rates
    name: Billing Rates
  - description: Bank Delinquency Configuration
    name: Bank Delinquency 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: Create and manage Synctera Pay templates
    name: SyncteraPay
  - description: |
      Manage reward products and reward configs for automated cashback rewards
    name: Reward Products
  - description: Requests to create and manage card disputes
    name: Card Disputes
  - description: >-
      Per bank/partner account-type mapping to FFIEC collateral codes used for
      regulatory call report furnishment.
    name: Collateral Code Configuration
  - description: Bulk card issuance
    name: Bulk Issuance
  - description: Autopay configuration management for lending accounts
    name: Autopay Configs
  - description: Request to create and manage exclusions
    name: Statements
  - description: Create and manage barcodes for in-store cash deposits
    name: In-Store Cash Deposits
  - description: Customer Service Details for disputes and billing inquiries
    name: Customer Service Details
  - description: Create a credit application.
    name: Applications (beta)
  - description: Requests to generate simulated transactions
    name: Card Transaction Simulations
  - description: Billing period summaries
    name: Billing Period Summaries
  - description: Requests to issue and manage cards
    name: Cards
  - description: Push and pull from cards
    name: External Cards
  - description: |
      Requests to create and manage fees
    name: Fees (beta)
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_push'
        - $ref: '#/components/schemas/transfer_request_pull'
      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_push'
        - $ref: '#/components/schemas/create_transfer_response_pull'
      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:
            - external_card_id
            - type
          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:
            - external_card_id
            - type
          type: object
      description: Push/pull funds to/from an External Card
      title: Push Request
      type: object
    create_transfer_response_pull:
      allOf:
        - 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:
            - external_card_id
            - type
          type: object
        - $ref: '#/components/schemas/transfer_response_base'
      description: Pull funds from an External Card
      title: Pull Response
      type: object
    create_transfer_response_push:
      allOf:
        - 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:
            - external_card_id
            - type
          type: object
        - $ref: '#/components/schemas/transfer_response_base'
      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:
        - amount
        - originating_account_id
      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:
        - PULL
        - PUSH
      example: PULL
      type: string
    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_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:
        - account_id
        - amount
        - creation_time
        - currency
        - customer_id
        - id
        - last_updated_time
        - merchant
        - status
        - tenant
      type: object
    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:
        - address
        - name
      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:
        - CANCELED
        - DECLINED
        - PENDING
        - SUCCEEDED
        - UNKNOWN
      type: string
    address:
      properties:
        address_line_1:
          description: Street address line 1
          example: 100 Main St.
          maxLength: 100
          type: string
        address_line_2:
          description: Street address line 2
          example: Suite 99
          maxLength: 100
          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
        postal_code:
          description: Postal code
          example: '49633'
          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
        - city
        - country_code
        - postal_code
        - state
      type: object
  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/json:
          schema:
            $ref: '#/components/schemas/error'
      description: Unprocessable entity
    internal_server_error:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
      description: Internal server error
  securitySchemes:
    bearerAuth:
      bearerFormat: api_key
      scheme: bearer
      type: http

````