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

# Create a transaction



## OpenAPI

````yaml https://givebutter.com/docs/api.json post /v1/transactions
openapi: 3.1.0
info:
  title: Givebutter API Documentation
  version: 1.0.0
  description: >-
    Givebutter Public API - Access and manage your campaigns, contacts,
    transactions, and more.
servers:
  - url: https://api.givebutter.com/
security:
  - http: []
paths:
  /v1/transactions:
    post:
      tags:
        - Transactions
      summary: Create a transaction
      operationId: transactions.store
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StoreTransactionRequest'
      responses:
        '200':
          description: '`TransactionResource`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionResource'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '404':
          $ref: '#/components/responses/NotFoundHttpException'
        '422':
          $ref: '#/components/responses/ValidationException'
components:
  schemas:
    StoreTransactionRequest:
      type: object
      properties:
        campaign_code:
          type:
            - string
            - 'null'
        campaign_title:
          type: string
          maxLength: 255
        campaign_team_id:
          type:
            - integer
            - 'null'
        team_member_id:
          type:
            - integer
            - 'null'
        contact_id:
          type:
            - integer
            - 'null'
        contact_external_id:
          type:
            - string
            - 'null'
          maxLength: 255
        fund_code:
          type:
            - string
            - 'null'
          maxLength: 255
        method:
          $ref: '#/components/schemas/PaymentMethodEnum'
        transacted_at:
          type: string
          format: date-time
        mark_deposited:
          type:
            - boolean
            - 'null'
        timezone:
          type:
            - string
            - 'null'
        acknowledged_at:
          type:
            - string
            - 'null'
          format: date-time
        external_label:
          type:
            - string
            - 'null'
          maxLength: 255
        external_id:
          type:
            - string
            - 'null'
          maxLength: 255
        contact_contact_since:
          type:
            - string
            - 'null'
          format: date-time
        amount:
          type: string
        fee_covered:
          type:
            - string
            - 'null'
        platform_fee:
          type:
            - string
            - 'null'
        processing_fee:
          type:
            - string
            - 'null'
        check_number:
          type:
            - string
            - 'null'
          maxLength: 255
        check_deposited_at:
          type:
            - string
            - 'null'
          format: date-time
        company:
          type:
            - string
            - 'null'
          maxLength: 255
        internal_note:
          type:
            - string
            - 'null'
          maxLength: 255
        first_name:
          type:
            - string
            - 'null'
          maxLength: 255
        last_name:
          type:
            - string
            - 'null'
          maxLength: 255
        email:
          type:
            - string
            - 'null'
          maxLength: 255
        phone:
          type:
            - string
            - 'null'
        address_1:
          type:
            - string
            - 'null'
          maxLength: 255
        address_2:
          type:
            - string
            - 'null'
          maxLength: 255
        city:
          type:
            - string
            - 'null'
          maxLength: 255
        state:
          type:
            - string
            - 'null'
          maxLength: 255
        zipcode:
          type:
            - string
            - 'null'
          maxLength: 255
        country:
          type:
            - string
            - 'null'
        dedication_type:
          $ref: '#/components/schemas/DedicationType'
        dedication_name:
          type:
            - string
            - 'null'
          maxLength: 255
        dedication_recipient_name:
          type:
            - string
            - 'null'
          maxLength: 255
        dedication_recipient_email:
          type:
            - string
            - 'null'
        giving_space_message:
          type:
            - string
            - 'null'
          maxLength: 65535
        appeal_code:
          type:
            - string
            - 'null'
          maxLength: 255
        appeal_name:
          type:
            - string
            - 'null'
          maxLength: 255
        appeal_status:
          type:
            - string
            - 'null'
      required:
        - method
        - transacted_at
        - amount
      title: StoreTransactionRequest
    TransactionResource:
      anyOf:
        - type: object
          properties:
            id:
              type: string
            plan_id:
              type: string
            pledge_id:
              type: string
            amount:
              type: number
            fee:
              type: number
            fee_covered:
              type: number
            donated:
              type: number
            payout:
              type: number
            captured:
              type: string
            captured_at:
              type: string
            timezone:
              type: string
            refunded:
              type: string
            refunded_at:
              type: string
            line_items:
              type: array
              items:
                $ref: '#/components/schemas/TransactionLineItemResource'
            fair_market_value_amount:
              type:
                - string
                - 'null'
            tax_deductible_amount:
              type:
                - string
                - 'null'
            is_recurring:
              type: string
          required:
            - id
            - plan_id
            - pledge_id
            - amount
            - fee
            - fee_covered
            - donated
            - payout
            - captured
            - captured_at
            - timezone
            - refunded
            - refunded_at
            - line_items
            - fair_market_value_amount
            - tax_deductible_amount
            - is_recurring
        - type: object
          properties:
            id:
              type: string
            number:
              type: string
            campaign_id:
              type: string
            campaign_code:
              type: string
            campaign_title:
              type: string
            plan_id:
              type: string
            pledge_id:
              type: string
            team_id:
              type: string
            team_name:
              type: string
            member_id:
              type: string
            member_name:
              type: string
            fund_id:
              type: string
            fund_code:
              type: string
            contact_id:
              type: string
            first_name:
              type: string
            last_name:
              type: string
            company_name:
              type: string
            company:
              type: string
            email:
              type: string
            phone:
              type: string
            address:
              type: string
            status:
              type: string
            payment_method:
              type: string
            method:
              type: string
            is_offline:
              type: string
            check_number:
              anyOf:
                - type: string
                - type: object
            check_deposited_at:
              anyOf:
                - type: string
                - type: object
            internal_note:
              type: string
            amount:
              type: number
            fee:
              type: number
            fee_covered:
              type: number
            donated:
              type: number
            payout:
              type: number
            currency:
              type: string
            transacted_at:
              type: string
            created_at:
              type: string
            updated_at:
              type: string
            timezone:
              type: string
            giving_space:
              anyOf:
                - $ref: '#/components/schemas/GivingSpaceResource'
                - type: 'null'
            dedication:
              anyOf:
                - $ref: '#/components/schemas/DedicationResource'
                - type: 'null'
            transactions:
              type: array
              prefixItems:
                - $ref: '#/components/schemas/TransactionResource'
              minItems: 1
              maxItems: 1
              additionalItems: false
            custom_fields:
              type: array
              items:
                $ref: '#/components/schemas/CustomFieldResponseResource'
            utm_parameters:
              type: string
            external_id:
              anyOf:
                - $ref: '#/components/schemas/ExternalIdResource'
                - type: 'null'
            communication_opt_in:
              type: string
            session_id:
              type: string
            attribution_data:
              type: string
            fair_market_value_amount:
              type:
                - string
                - 'null'
            tax_deductible_amount:
              type:
                - string
                - 'null'
            is_recurring:
              type: string
            payout_id:
              anyOf:
                - type: string
                - type: object
          required:
            - id
            - number
            - campaign_id
            - campaign_code
            - campaign_title
            - plan_id
            - pledge_id
            - team_id
            - team_name
            - member_id
            - member_name
            - fund_id
            - fund_code
            - contact_id
            - first_name
            - last_name
            - company_name
            - company
            - email
            - phone
            - address
            - status
            - payment_method
            - method
            - is_offline
            - check_number
            - check_deposited_at
            - internal_note
            - amount
            - fee
            - fee_covered
            - donated
            - payout
            - currency
            - transacted_at
            - created_at
            - updated_at
            - timezone
            - giving_space
            - dedication
            - transactions
            - custom_fields
            - utm_parameters
            - external_id
            - communication_opt_in
            - session_id
            - attribution_data
            - fair_market_value_amount
            - tax_deductible_amount
            - is_recurring
            - payout_id
      title: TransactionResource
    PaymentMethodEnum:
      type: string
      enum:
        - ach
        - card
        - cash
        - check
        - digital_wallet
        - donor_advised_fund
        - paypal
        - venmo
        - cashapp
        - terminal
        - stock
        - in-kind
        - property
        - other
        - none
      title: PaymentMethodEnum
    DedicationType:
      type: string
      enum:
        - in_memory_of
        - in_honor_of
      title: DedicationType
    TransactionLineItemResource:
      type: object
      properties:
        type:
          type: string
        subtype:
          type: string
        description:
          type: string
        quantity:
          type: integer
        price:
          type: number
        discount:
          type: number
        total:
          type: number
        created_at:
          type: string
        updated_at:
          type: string
      required:
        - type
        - subtype
        - description
        - quantity
        - price
        - discount
        - total
        - created_at
        - updated_at
      title: TransactionLineItemResource
    GivingSpaceResource:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        amount:
          type: number
        message:
          type: string
        created_at:
          type: string
        updated_at:
          type: string
      required:
        - id
        - name
        - amount
        - message
        - created_at
        - updated_at
      title: GivingSpaceResource
    DedicationResource:
      type: object
      properties:
        type:
          type: string
        name:
          type: string
        recipient:
          type: object
          properties:
            name:
              type:
                - string
                - 'null'
            email:
              type:
                - string
                - 'null'
          required:
            - name
            - email
        created_at:
          type: string
        updated_at:
          type: string
      required:
        - type
        - name
        - recipient
        - created_at
        - updated_at
      title: DedicationResource
    CustomFieldResponseResource:
      type: object
      properties:
        id:
          type: integer
        field_id:
          type: integer
        title:
          type: string
        description:
          type:
            - string
            - 'null'
        type:
          type: string
        value:
          type: string
        created_at:
          type: string
        updated_at:
          type: string
      required:
        - id
        - field_id
        - title
        - description
        - type
        - value
        - created_at
        - updated_at
      title: CustomFieldResponseResource
    ExternalIdResource:
      type: object
      properties:
        id:
          type: integer
        label:
          type: string
        external_id:
          type: string
        created_at:
          type: string
        updated_at:
          type: string
      required:
        - id
        - label
        - external_id
        - created_at
        - updated_at
      title: ExternalIdResource
  responses:
    AuthorizationException:
      description: Authorization error
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Error overview.
            required:
              - message
    NotFoundHttpException:
      description: Not found
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Error overview.
            required:
              - message
    ValidationException:
      description: Validation error
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Errors overview.
              errors:
                type: object
                description: A detailed description of each field that failed validation.
                additionalProperties:
                  type: array
                  items:
                    type: string
            required:
              - message
              - errors
  securitySchemes:
    http:
      type: http
      scheme: bearer

````