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

# Add Call Tags

> Adds tags (metadata) to a call for use in filters, QA, and reporting.

<Tip>
  Check out our [Add Call Metadata guide](/guides/add-call-metadata) for examples of using this endpoint.
</Tip>

Adds tags (metadata) to a call for use in filters, QA, and reporting.

Tags should be provided as a list of objects, each containing a key, value, and type.

Note that this can fail either from the user not matching an active Reddy user or from failing the lookup of the conversation. Conversations are unique by the user and conversation ID together.

## Supported Data Types

* string
* integer
* boolean

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST 'https://app.reddy.io/api/v1/call/add_tags' \
    -H 'Authorization: Bearer your_api_key' \
    -H 'Content-Type: application/json' \
    -d '{
      "conversation_id": "12345",
      "agent_email": "agent@company.com",
      "tags": [
        {
          "key": "customer_type",
          "value": "premium",
          "type": "string"
        },
        {
          "key": "satisfaction_score",
          "value": 5,
          "type": "integer"
        },
        {
          "key": "issue_resolved",
          "value": true,
          "type": "boolean"
        }
      ]
    }'
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "success": true
  }
  ```
</ResponseExample>


## OpenAPI

````yaml api-reference/openapi.json POST /api/v1/call/add_tags
openapi: 3.1.0
info:
  title: Reddy API
  version: 1.0.0
  description: ''
servers: []
security: []
paths:
  /api/v1/call/add_tags:
    post:
      tags:
        - Call
      summary: Call Add Tags
      description: >-
        Adds tags (metadata) to a call for use in filters, QA, and reporting.


        Tags should be provided as a list of objects, each containing a key,
        value, and type.


        Note that this can fail either from the user not matching an active
        Reddy

        user or from failing the lookup of the conversation. Conversations are

        unique by the user and conversation ID together.


        ## Supported Data Types

        - string

        - integer

        - boolean


        ## Example


        ```json

        {
            "conversation_id": "123",
            "agent_email": "agent@reddy.io",
            "tags": [
                {"key": "customer_type", "value": "premium", "type": "string"},
                {"key": "satisfaction_score", "value": 5, "type": "integer"},
                {"key": "issue_resolved", "value": true, "type": "boolean"}
            ]
        }

        ```
      operationId: api_standard_api_call_events_call_add_tags
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CallTagData'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddTagsSuccess'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/UserDoesNotExist'
                  - $ref: '#/components/schemas/ConversationNotFound'
                title: Response
      security:
        - AuthBearer: []
components:
  schemas:
    CallTagData:
      properties:
        conversation_id:
          description: Unique identifier for the conversation
          title: Conversation Id
          type: string
        agent_email:
          description: Email address of the agent handling the call
          title: Agent Email
          type: string
        tags:
          description: Array of tag objects containing key, value, and type
          items:
            $ref: '#/components/schemas/Tag'
          title: Tags
          type: array
      required:
        - conversation_id
        - agent_email
        - tags
      title: CallTagData
      type: object
    AddTagsSuccess:
      description: Tags were successfully added to the call
      properties:
        success:
          title: Success
          type: boolean
      required:
        - success
      title: AddTagsSuccess
      type: object
    UserDoesNotExist:
      properties:
        error:
          default: User does not exist
          title: Error
          type: string
      title: UserDoesNotExist
      type: object
    ConversationNotFound:
      properties:
        error:
          default: Conversation not found.
          title: Error
          type: string
      title: ConversationNotFound
      type: object
    Tag:
      description: |-
        Schema representing a tag with a key and value.
        The value can be a single value of various types.
      properties:
        key:
          title: Key
          type: string
        value:
          anyOf:
            - type: string
            - type: integer
            - type: boolean
          title: Value
        type:
          enum:
            - string
            - integer
            - boolean
          title: Type
          type: string
      required:
        - key
        - value
        - type
      title: Tag
      type: object
  securitySchemes:
    AuthBearer:
      type: http
      scheme: bearer

````