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

# Save Call Data

> Save Call Data.

### Authorizations

<ParamField header="X-Api-Key" type="string" required>
  Your Agni API key used to authenticate the request. Pass it in the `X-Api-Key` header. Find or rotate it from your Ravan AI account settings.
</ParamField>

***

### Body

<ParamField body="contact_id" type="string" required>
  The unique contact ID. Use the `id` returned by the Contact API.
</ParamField>

<ParamField body="org_id" type="string" required>
  The organization ID that owns the resource. Use the organization ID from your Agni account.
</ParamField>

<ParamField body="transcript" type="string">
  The full call transcript text.
</ParamField>

<ParamField body="summary" type="string">
  A concise summary of the call or interaction.
</ParamField>

<ParamField body="recording_url" type="string">
  The URL of the call recording. Use a publicly accessible URL if this is supplied by an external system.
</ParamField>

<ParamField body="duration_sec" type="integer">
  The call duration in seconds.
</ParamField>

<ParamField body="tags" type="string[]">
  A list of tags used to categorize or filter the contact.
</ParamField>

<ParamField body="custom_fields" type="object">
  Custom contact fields as key-value pairs. Use this for data that does not fit the standard contact fields.
</ParamField>

***

### Response

<ResponseField name="success" type="boolean">
  Whether the request succeeded.
</ResponseField>

<ResponseField name="message" type="string">
  Human-readable status message.
</ResponseField>


## OpenAPI

````yaml POST /api/v1/ghl/calls/data
openapi: 3.0.1
info:
  title: Agni API
  version: 1.0.0
  description: >-
    Agni API for managing agents, tools, widget settings, telephony, and
    integrations.
servers:
  - url: https://api.ravan.ai
security:
  - X-Api-Key: []
tags:
  - name: AgentService
  - name: AgentToolService
  - name: WidgetSettingsService
  - name: PhoneService
  - name: AppointmentService
  - name: GHLService
  - name: CalComService
  - name: CampaignService
  - name: ContactService
  - name: CallingService
  - name: RAGService
  - name: ModelService
  - name: HealthService
paths:
  /api/v1/ghl/calls/data:
    post:
      tags:
        - GHLService
      summary: Save Call Data
      operationId: SaveGHLCallData
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SaveGHLCallDataRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
components:
  schemas:
    SaveGHLCallDataRequest:
      type: object
      required:
        - contact_id
        - org_id
      properties:
        contact_id:
          type: string
          description: GHL contact ID
        org_id:
          type: string
          description: Organization ID
        transcript:
          type: string
          description: Call transcript
        summary:
          type: string
          description: Call summary
        recording_url:
          type: string
          description: Recording URL
        duration_sec:
          type: integer
          description: Call duration in seconds
        tags:
          type: array
          items:
            type: string
          description: Tags
        custom_fields:
          type: object
          description: Custom fields
    SuccessResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        data:
          type: object
          nullable: true
  securitySchemes:
    X-Api-Key:
      type: apiKey
      in: header
      name: X-Api-Key

````