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

# React to an Instagram direct message

> Adds or replaces the connected account's emoji reaction on a direct message. Instagram accepts any emoji here, not a fixed list, so send the character itself (🎉) and not a name like "love". Sending a different emoji on a message that already carries one replaces it: Instagram allows at most one reaction per sender per message. Note the reaction webhook reports only six named types (love, like, laugh, wow, sad, angry) and classifies everything else as "other" while still carrying the raw character, so an unusual emoji sends fine but reads back unnamed. Use DELETE on this path to remove a reaction.



## OpenAPI

````yaml /api-reference/openapi.json post /platforms/instagram/accounts/{id}/messages/{messageId}/reaction
openapi: 3.0.0
info:
  description: >-
    Unified social media inbox API. Read and respond to comments, DMs, reviews,
    and mentions across Instagram, Facebook, Threads, Google Business Profile,
    TikTok, LinkedIn, and YouTube through a single REST API. X/Twitter and
    Trustpilot coming soon.
  title: SocialAPI.AI
  contact:
    name: SocialAPI.AI Support
    email: support@social-api.ai
  license:
    name: MIT
  version: '1.0'
servers:
  - url: https://api.social-api.ai/v1
security: []
paths:
  /platforms/instagram/accounts/{id}/messages/{messageId}/reaction:
    post:
      tags:
        - Instagram
      summary: React to an Instagram direct message
      description: >-
        Adds or replaces the connected account's emoji reaction on a direct
        message. Instagram accepts any emoji here, not a fixed list, so send the
        character itself (🎉) and not a name like "love". Sending a different
        emoji on a message that already carries one replaces it: Instagram
        allows at most one reaction per sender per message. Note the reaction
        webhook reports only six named types (love, like, laugh, wow, sad,
        angry) and classifies everything else as "other" while still carrying
        the raw character, so an unusual emoji sends fine but reads back
        unnamed. Use DELETE on this path to remove a reaction.
      parameters:
        - example: acc_01HZ9X3Q4R5M6N7P8V2K0W1J
          description: Connected account ID
          name: id
          in: path
          required: true
          schema:
            type: string
        - example: m_AbCdEfGhIjKl
          description: Instagram message ID to react to
          name: messageId
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/api_endpoints.InstagramReactionRequest'
        description: Participant and emoji
        required: true
      responses:
        '200':
          description: Reaction applied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api_endpoints.SuccessResponse'
        '400':
          description: >-
            Invalid body, missing participant_id, or reaction is not a single
            emoji
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api_endpoints.ErrorResponse'
        '401':
          description: Invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api_endpoints.ErrorResponse'
        '404':
          description: Account or message not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api_endpoints.ErrorResponse'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api_endpoints.ErrorResponse'
        '501':
          description: Platform does not support message reactions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api_endpoints.ErrorResponse'
        '502':
          description: Upstream Instagram API error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api_endpoints.ErrorResponse'
      security:
        - BearerAuth: []
components:
  schemas:
    api_endpoints.InstagramReactionRequest:
      type: object
      properties:
        participant_id:
          description: >-
            ParticipantID is the IGSID of the other participant in the
            conversation.
          type: string
          example: '2287522528728101'
        reaction:
          description: >-
            Reaction is the emoji to apply. Any emoji Instagram accepts, not a
            fixed

            list. Send the character itself, not a name like "love".
          type: string
          example: 🎉
    api_endpoints.SuccessResponse:
      type: object
      properties:
        success:
          type: boolean
          example: true
    api_endpoints.ErrorResponse:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/api_endpoints.ErrorBody'
    api_endpoints.ErrorBody:
      type: object
      properties:
        code:
          type: string
          example: resource.not_found
        message:
          type: string
          example: Account not found
        meta:
          type: object
          additionalProperties: {}
  securitySchemes:
    BearerAuth:
      description: >-
        Prefix your API key with "Bearer ". Example: `Authorization: Bearer
        sapi_key_...`
      type: apiKey
      name: Authorization
      in: header

````