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

# Add a new history item

> Creates a new donation history item for the authenticated user



## OpenAPI

````yaml /api-reference/oda-history-service-1.0.0.yml post /history/commands/add-item
openapi: 3.0.1
info:
  title: oda-history-service
  version: 1.0.0
servers: []
security: []
paths:
  /history/commands/add-item:
    post:
      summary: Add a new history item
      description: Creates a new donation history item for the authenticated user
      operationId: addHistoryItem
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddHistoryItemApi.AddHistoryItemCommand'
        required: true
      responses:
        '200':
          description: Successfully created the history item
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HttpResponse_Void_'
components:
  schemas:
    AddHistoryItemApi.AddHistoryItemCommand:
      type: object
      properties:
        paymentId:
          type: string
          description: Payment ID from the source system
          nullable: true
        nickname:
          type: string
          description: Donor's nickname
        recipientId:
          type: string
          description: Recipient ID (streamer/creator)
        amount:
          description: Donation amount
          allOf:
            - $ref: '#/components/schemas/Amount'
        message:
          type: string
          description: Message from the donor
        authorizationTimestamp:
          type: string
          description: Authorization timestamp
          format: date-time
        system:
          type: string
          description: Source system name
        externalId:
          type: string
          description: External ID from the source system
          nullable: true
        attachments:
          type: array
          description: Attached media files
          items:
            $ref: >-
              #/components/schemas/AddHistoryItemApi.AddHistoryItemCommand.Attachment
        links:
          type: array
          description: Attached media links
          items:
            type: string
        goals:
          type: array
          description: Target goals
          items:
            $ref: >-
              #/components/schemas/AddHistoryItemApi.AddHistoryItemCommand.TargetGoal
        reelResults:
          type: array
          description: Reel results from social media
          items:
            $ref: >-
              #/components/schemas/AddHistoryItemApi.AddHistoryItemCommand.ReelResult
        actions:
          type: array
          description: Action requests triggered by the donation
          items:
            $ref: >-
              #/components/schemas/AddHistoryItemApi.AddHistoryItemCommand.ActionRequest
        alertMedia:
          description: Alert media URL
          nullable: true
          allOf:
            - $ref: >-
                #/components/schemas/AddHistoryItemApi.AddHistoryItemCommand.AlertMedia
        vote:
          description: Vote information
          nullable: true
          allOf:
            - $ref: >-
                #/components/schemas/AddHistoryItemApi.AddHistoryItemCommand.Vote
        event:
          type: string
          description: Event type
        count:
          type: integer
          description: Related item count
          format: int32
          nullable: true
        level:
          type: integer
          description: Boosty subscription level
          format: int32
          nullable: true
        levelName:
          type: string
          description: Boosty subscription level name
          nullable: true
        triggerAlert:
          type: boolean
          description: Whether to trigger an alert
        triggerReel:
          type: boolean
          description: Whether to trigger a reel
        triggerDonaton:
          type: boolean
          description: Whether to trigger donation processing
        addToGoal:
          type: boolean
          description: Whether to add to goal
        addToTop:
          type: boolean
          description: Whether to add to top
      description: Command to add a new history item
    HttpResponse_Void_:
      required:
        - attributes
      type: object
      allOf:
        - $ref: '#/components/schemas/HttpMessage_Void_'
        - $ref: '#/components/schemas/MutableAttributeHolder'
        - $ref: '#/components/schemas/AttributeHolder'
        - type: object
          properties:
            attributes:
              $ref: '#/components/schemas/MutableConvertibleValues_Object_'
            status:
              $ref: '#/components/schemas/HttpStatus'
            cookies:
              $ref: '#/components/schemas/Cookies'
    Amount:
      required:
        - currency
        - major
        - minor
      type: object
      properties:
        minor:
          type: integer
          format: int32
        major:
          type: integer
          format: int32
        currency:
          type: string
      description: Donation amount
    AddHistoryItemApi.AddHistoryItemCommand.Attachment:
      type: object
      properties:
        id:
          type: string
          description: Attachment ID
      description: Media attachment
    AddHistoryItemApi.AddHistoryItemCommand.TargetGoal:
      type: object
      properties:
        goalId:
          type: string
          description: Goal ID
        goalTitle:
          type: string
          description: Goal title
      description: Target goal
    AddHistoryItemApi.AddHistoryItemCommand.ReelResult:
      type: object
      properties:
        title:
          type: string
          description: Title of the reel
      description: Reel result from social media
    AddHistoryItemApi.AddHistoryItemCommand.ActionRequest:
      type: object
      properties:
        id:
          type: string
          description: Action request ID
        actionId:
          type: string
          description: Action ID
        name:
          type: string
          description: Action name
        amount:
          type: integer
          description: Amount required for the action
          format: int32
        payload:
          type: object
          additionalProperties:
            type: object
          description: Action payload data
      description: Action request triggered by donation
    AddHistoryItemApi.AddHistoryItemCommand.AlertMedia:
      type: object
      properties:
        url:
          type: string
          description: Alert media URL
      description: Alert media
    AddHistoryItemApi.AddHistoryItemCommand.Vote:
      type: object
      properties:
        id:
          type: string
          description: Vote ID
          nullable: true
        name:
          type: string
          description: Vote name
        isNew:
          type: boolean
          description: Is this a new vote?
      description: Vote information
    HttpMessage_Void_:
      required:
        - attributes
        - body
        - characterEncoding
        - contentType
        - headers
        - locale
      type: object
      allOf:
        - $ref: '#/components/schemas/MutableAttributeHolder'
        - $ref: '#/components/schemas/AttributeHolder'
        - type: object
          properties:
            headers:
              $ref: '#/components/schemas/HttpHeaders'
            attributes:
              $ref: '#/components/schemas/MutableConvertibleValues_Object_'
            body:
              $ref: '#/components/schemas/Void'
            bodyWriter:
              nullable: true
              allOf:
                - $ref: '#/components/schemas/MessageBodyWriter_Void_'
            characterEncoding:
              type: string
            locale:
              type: string
            contentLength:
              type: integer
              format: int64
            contentType:
              $ref: '#/components/schemas/MediaType'
    MutableAttributeHolder:
      required:
        - attributes
      type: object
      allOf:
        - $ref: '#/components/schemas/AttributeHolder'
        - type: object
          properties:
            attributes:
              $ref: '#/components/schemas/MutableConvertibleValues_Object_'
    AttributeHolder:
      required:
        - attributes
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/ConvertibleValues_Object_'
    MutableConvertibleValues_Object_:
      type: object
      allOf:
        - $ref: '#/components/schemas/ConvertibleValues_Object_'
        - $ref: '#/components/schemas/ConversionServiceProvider'
        - type: object
          properties:
            conversionService:
              $ref: '#/components/schemas/ConversionService'
    HttpStatus:
      type: string
      enum:
        - CONTINUE
        - SWITCHING_PROTOCOLS
        - PROCESSING
        - EARLY_HINTS
        - OK
        - CREATED
        - ACCEPTED
        - NON_AUTHORITATIVE_INFORMATION
        - NO_CONTENT
        - RESET_CONTENT
        - PARTIAL_CONTENT
        - MULTI_STATUS
        - ALREADY_IMPORTED
        - IM_USED
        - MULTIPLE_CHOICES
        - MOVED_PERMANENTLY
        - FOUND
        - SEE_OTHER
        - NOT_MODIFIED
        - USE_PROXY
        - SWITCH_PROXY
        - TEMPORARY_REDIRECT
        - PERMANENT_REDIRECT
        - BAD_REQUEST
        - UNAUTHORIZED
        - PAYMENT_REQUIRED
        - FORBIDDEN
        - NOT_FOUND
        - METHOD_NOT_ALLOWED
        - NOT_ACCEPTABLE
        - PROXY_AUTHENTICATION_REQUIRED
        - REQUEST_TIMEOUT
        - CONFLICT
        - GONE
        - LENGTH_REQUIRED
        - PRECONDITION_FAILED
        - REQUEST_ENTITY_TOO_LARGE
        - REQUEST_URI_TOO_LONG
        - UNSUPPORTED_MEDIA_TYPE
        - REQUESTED_RANGE_NOT_SATISFIABLE
        - EXPECTATION_FAILED
        - I_AM_A_TEAPOT
        - ENHANCE_YOUR_CALM
        - MISDIRECTED_REQUEST
        - UNPROCESSABLE_ENTITY
        - LOCKED
        - FAILED_DEPENDENCY
        - TOO_EARLY
        - UPGRADE_REQUIRED
        - PRECONDITION_REQUIRED
        - TOO_MANY_REQUESTS
        - REQUEST_HEADER_FIELDS_TOO_LARGE
        - NO_RESPONSE
        - BLOCKED_BY_WINDOWS_PARENTAL_CONTROLS
        - UNAVAILABLE_FOR_LEGAL_REASONS
        - REQUEST_HEADER_TOO_LARGE
        - INTERNAL_SERVER_ERROR
        - NOT_IMPLEMENTED
        - BAD_GATEWAY
        - SERVICE_UNAVAILABLE
        - GATEWAY_TIMEOUT
        - HTTP_VERSION_NOT_SUPPORTED
        - VARIANT_ALSO_NEGOTIATES
        - INSUFFICIENT_STORAGE
        - LOOP_DETECTED
        - BANDWIDTH_LIMIT_EXCEEDED
        - NOT_EXTENDED
        - NETWORK_AUTHENTICATION_REQUIRED
        - CONNECTION_TIMED_OUT
    Cookies:
      type: object
      allOf:
        - $ref: '#/components/schemas/ConvertibleValues_Cookie_'
        - $ref: '#/components/schemas/ConversionServiceProvider'
        - type: object
          properties:
            all:
              type: array
              items:
                $ref: '#/components/schemas/Cookie'
    HttpHeaders:
      type: object
      allOf:
        - $ref: '#/components/schemas/Headers'
        - $ref: '#/components/schemas/ConvertibleMultiValues_String_'
        - $ref: '#/components/schemas/ConvertibleValues_List_String__'
        - $ref: '#/components/schemas/ConversionServiceProvider'
        - type: object
          properties:
            conversionService:
              $ref: '#/components/schemas/ConversionService'
            empty:
              type: boolean
            keepAlive:
              type: boolean
            origin:
              type: string
              nullable: true
            authorization:
              type: string
              nullable: true
            contentType:
              type: string
              nullable: true
    Void:
      type: object
    MessageBodyWriter_Void_:
      type: object
      properties:
        blocking:
          type: boolean
    MediaType:
      required:
        - name
        - parametersMap
      type: object
      properties:
        name:
          type: string
        type:
          type: string
        subtype:
          type: string
        extension:
          type: string
        parameters:
          $ref: '#/components/schemas/OptionalValues_String_'
        parametersMap:
          type: object
          additionalProperties:
            type: string
        quality:
          type: string
        qualityAsNumber:
          type: number
        version:
          type: string
        charset:
          type: string
          nullable: true
        textBased:
          type: boolean
    ConvertibleValues_Object_:
      type: object
      allOf:
        - $ref: '#/components/schemas/ConversionServiceProvider'
        - type: object
          properties:
            empty:
              type: boolean
            conversionService:
              $ref: '#/components/schemas/ConversionService'
    ConversionServiceProvider:
      required:
        - conversionService
      type: object
      properties:
        conversionService:
          $ref: '#/components/schemas/ConversionService'
    ConversionService:
      type: object
    ConvertibleValues_Cookie_:
      type: object
      allOf:
        - $ref: '#/components/schemas/ConversionServiceProvider'
        - type: object
          properties:
            empty:
              type: boolean
            conversionService:
              $ref: '#/components/schemas/ConversionService'
    Cookie:
      required:
        - name
        - value
      type: object
      properties:
        name:
          type: string
        value:
          type: string
        domain:
          type: string
          nullable: true
        path:
          type: string
          nullable: true
        httpOnly:
          type: boolean
        secure:
          type: boolean
        maxAge:
          type: integer
          format: int64
        sameSite:
          nullable: true
          allOf:
            - $ref: '#/components/schemas/SameSite'
    Headers:
      type: object
      allOf:
        - $ref: '#/components/schemas/ConvertibleMultiValues_String_'
        - $ref: '#/components/schemas/ConvertibleValues_List_String__'
        - $ref: '#/components/schemas/ConversionServiceProvider'
    ConvertibleMultiValues_String_:
      type: object
      allOf:
        - $ref: '#/components/schemas/ConvertibleValues_List_String__'
        - $ref: '#/components/schemas/ConversionServiceProvider'
        - type: object
          properties:
            empty:
              type: boolean
    ConvertibleValues_List_String__:
      type: object
      allOf:
        - $ref: '#/components/schemas/ConversionServiceProvider'
        - type: object
          properties:
            empty:
              type: boolean
            conversionService:
              $ref: '#/components/schemas/ConversionService'
    OptionalValues_String_:
      type: object
      properties:
        empty:
          type: boolean
    SameSite:
      type: string
      enum:
        - Lax
        - Strict
        - None
      x-enum-varnames:
        - Lax
        - Strict
        - None

````