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

# Valor Residual Histórico

> Obtener la serie histórica de valor residual de un bono específico, filtrada por rango de fechas y plazo de liquidación

<Note>
  Este endpoint obtiene la serie histórica de valor residual de un bono específico, filtrada por rango de fechas y plazo de liquidación.
</Note>

## Parámetros de Ruta

<ParamField path="symbol" type="string" required default="AL30">
  El símbolo del bono (ej., "AL30", "GD30").
</ParamField>

## Parámetros de Consulta

<ParamField query="from_date" type="string" required>
  Fecha de inicio del rango en formato YYYY-MM-DD.
</ParamField>

<ParamField query="to_date" type="string" required>
  Fecha de fin del rango en formato YYYY-MM-DD.
</ParamField>

<ParamField query="settlement_entry" type="string" required>
  Plazo de liquidación. Valores posibles: `CI` (contado inmediato), `24hs` (24 horas), `48hs` (48 horas), `72hs` (72 horas).
</ParamField>

## Ejemplo de Solicitud

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET "https://api.doctacapital.com.ar/api/v1/bonds/analytics/AL30/cashflows/residual-value?from_date=2025-01-01&to_date=2025-01-10&settlement_entry=24hs" \
    -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
  ```
</RequestExample>

## Respuesta Exitosa

La respuesta es un array de objetos con los valores residuales para cada día hábil del rango solicitado.

<ResponseField name="[].operation_date" type="string">
  Fecha de operación en formato YYYY-MM-DD.
</ResponseField>

<ResponseField name="[].settlement_entry" type="string">
  Plazo de liquidación utilizado (ej., "24hs").
</ResponseField>

<ResponseField name="[].settlement_date" type="string">
  Fecha de liquidación correspondiente en formato YYYY-MM-DD.
</ResponseField>

<ResponseField name="[].residual_value" type="number">
  Valor residual del bono en la fecha de liquidación.
</ResponseField>

## Ejemplo de Respuesta Exitosa

<ResponseExample>
  ```json Success theme={null}
  [
    {
      "operation_date": "2025-01-02",
      "settlement_entry": "24hs",
      "settlement_date": "2025-01-03",
      "residual_value": 96.0
    },
    {
      "operation_date": "2025-01-03",
      "settlement_entry": "24hs",
      "settlement_date": "2025-01-06",
      "residual_value": 96.0
    },
    {
      "operation_date": "2025-01-06",
      "settlement_entry": "24hs",
      "settlement_date": "2025-01-07",
      "residual_value": 96.0
    },
    {
      "operation_date": "2025-01-07",
      "settlement_entry": "24hs",
      "settlement_date": "2025-01-08",
      "residual_value": 96.0
    },
    {
      "operation_date": "2025-01-08",
      "settlement_entry": "24hs",
      "settlement_date": "2025-01-09",
      "residual_value": 96.0
    },
    {
      "operation_date": "2025-01-09",
      "settlement_entry": "24hs",
      "settlement_date": "2025-01-10",
      "residual_value": 88.0
    },
    {
      "operation_date": "2025-01-10",
      "settlement_entry": "24hs",
      "settlement_date": "2025-01-13",
      "residual_value": 88.0
    }
  ]
  ```
</ResponseExample>

## Respuestas de Error

### 500 Error Interno del Servidor

Error interno del servidor.

```json theme={null}
{
  "type": "/errors/internal-server-error",
  "title": "Internal server error",
  "status": 500,
  "detail": "Internal server error",
  "correlation_id": "6cd1fd05-63e9-4863-832f-d873e58e9d67"
}
```

### 401 No Autorizado

Token de acceso inválido o faltante.

```json theme={null}
{
  "type": "/errors/authentication-required",
  "title": "Authorization header missing",
  "status": 401,
  "detail": "Authorization header missing",
  "correlation_id": "d6e20e07-0580-4e2d-9480-00a68c1ae493"
}
```

### 404 No Encontrado

Ticker no encontrado.

```json theme={null}
{
  "type": "/errors/not-found",
  "title": "Resource not found",
  "status": 404,
  "detail": "Ticker not found"
}
```

## Notas

* Los datos están disponibles solo para días hábiles (excluyendo fines de semana y feriados)
* El valor residual refleja el capital remanente del bono luego de cada amortización
* La fecha de liquidación (`settlement_date`) se calcula automáticamente según el plazo de liquidación y el calendario de días hábiles


## OpenAPI

````yaml GET /api/v1/bonds/analytics/{symbol}/cashflows/residual-value
openapi: 3.1.0
info:
  title: API de Bonos de Docta
  description: >-
    API centrada en bonos de Argentina: instrumentos, detalle, cashflows y
    curvas/yields.
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.doctacapital.com.ar
security: []
paths:
  /api/v1/bonds/analytics/{symbol}/cashflows/residual-value:
    get:
      tags:
        - Bonds
      description: >-
        Obtener la serie histórica de valor residual de un bono específico,
        filtrada por rango de fechas y plazo de liquidación
      parameters:
        - name: symbol
          in: path
          description: El símbolo del bono
          required: true
          schema:
            type: string
          example: AL30
        - name: from_date
          in: query
          description: Fecha de inicio del rango (YYYY-MM-DD)
          required: true
          schema:
            type: string
            format: date
          example: '2025-01-01'
        - name: to_date
          in: query
          description: Fecha de fin del rango (YYYY-MM-DD)
          required: true
          schema:
            type: string
            format: date
          example: '2025-01-10'
        - name: settlement_entry
          in: query
          description: 'Plazo de liquidación: CI (contado inmediato), 24hs, 48hs o 72hs'
          required: true
          schema:
            type: string
            enum:
              - CI
              - 24hs
              - 48hs
              - 72hs
          example: 24hs
      responses:
        '200':
          description: Serie de valores residuales obtenida exitosamente
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResidualValueResponse'
        '401':
          description: No autorizado - token de acceso inválido o faltante
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                type: /errors/authentication-required
                title: Authorization header missing
                status: 401
                detail: Authorization header missing
                correlation_id: d6e20e07-0580-4e2d-9480-00a68c1ae493
        '404':
          description: Ticker no encontrado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                type: /errors/not-found
                title: Resource not found
                status: 404
                detail: Ticker not found
        '500':
          description: Error interno del servidor
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                type: /errors/internal-server-error
                title: Internal server error
                status: 500
                detail: Internal server error
                correlation_id: 6cd1fd05-63e9-4863-832f-d873e58e9d67
      security:
        - bearerAuth: []
components:
  schemas:
    ResidualValueResponse:
      type: array
      description: Serie de valores residuales históricos
      items:
        $ref: '#/components/schemas/ResidualValueDataPoint'
    Error:
      required:
        - type
        - title
        - status
        - detail
        - correlation_id
      type: object
      properties:
        type:
          description: El identificador del tipo de error
          type: string
          example: /errors/authentication-required
        title:
          description: Una breve descripción del error
          type: string
          example: Invalid client credentials
        status:
          description: El código de estado HTTP
          type: integer
          example: 401
        detail:
          description: Una descripción detallada del error
          type: string
          example: Invalid client credentials
        correlation_id:
          description: Un identificador único para rastrear esta solicitud de error
          type: string
          format: uuid
          example: 2eb07802-94de-468a-b70f-75a49f3e9516
    ResidualValueDataPoint:
      type: object
      properties:
        operation_date:
          type: string
          format: date
          description: Fecha de operación
        settlement_entry:
          type: string
          description: Plazo de liquidación
        settlement_date:
          type: string
          format: date
          description: Fecha de liquidación
        residual_value:
          type: number
          description: Valor residual del bono
      required:
        - operation_date
        - settlement_entry
        - settlement_date
        - residual_value
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````