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

# Actualizar Lote

> Actualiza los metadatos de un lote específico. Solo los metadatos pueden ser actualizados después de la creación del lote.

<Tip>
  **Semántica de fusión:** Las actualizaciones de metadatos siguen el enfoque de Stripe: se añaden nuevas claves, se actualizan las claves existentes y las claves establecidas en una cadena vacía `""` se eliminan.
</Tip>


## OpenAPI

````yaml es/openapi/batches.json PATCH /v1/batches/{batch_id}
openapi: 3.0.3
info:
  title: API de Lotes
  version: 1.0.0
servers:
  - url: https://api.olostep.com
security: []
paths:
  /v1/batches/{batch_id}:
    patch:
      summary: Actualizar metadatos del lote
      description: >-
        Actualiza los metadatos de un lote específico. Solo se puede actualizar
        el campo `metadata`. Sigue la semántica de fusión de Stripe: se añaden
        nuevas claves, se actualizan claves existentes y las claves establecidas
        en cadena vacía se eliminan.
      parameters:
        - name: batch_id
          in: path
          required: true
          schema:
            type: string
          description: El ID del lote a actualizar.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                metadata:
                  $ref: '#/components/schemas/Metadata'
              required:
                - metadata
            example:
              metadata:
                status: reviewed
                reviewer: jane@example.com
      responses:
        '200':
          description: Metadatos del lote actualizados con éxito.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: ID del Lote
                  object:
                    type: string
                    description: El tipo de objeto. "batch" para este endpoint.
                  status:
                    type: string
                    description: '`in_progress` o `completed`'
                  created:
                    type: number
                    description: Época creada
                  total_urls:
                    type: number
                    description: Conteo de URLs en el lote
                  completed_urls:
                    type: number
                    description: Conteo de URLs completadas
                  metadata:
                    $ref: '#/components/schemas/Metadata'
              example:
                id: batch_abc123def456
                object: batch
                status: completed
                created: 1704067200
                total_urls: 10
                completed_urls: 10
                metadata:
                  batch_name: Q1 Product Sync
                  status: reviewed
                  reviewer: jane@example.com
        '400':
          description: >-
            Solicitud incorrecta: metadatos faltantes o inválidos. Consulta
            [Solicitud Incorrecta](/api-reference/errors/bad_request) para más
            detalles.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                id: error_abc123
                object: error
                code: invalid_metadata
                type: https://docs.olostep.com/api-reference/errors/bad_request
                status: 400
                title: Solicitud Incorrecta
                detail: No metadata field provided. Only metadata can be updated.
                created: 1704067200
                metadata: {}
        '401':
          description: >-
            Las credenciales de autenticación faltan o son inválidas. Consulta
            [Unauthorized](/api-reference/errors/unauthorized) para más
            detalles.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                id: error_abc123
                object: error
                code: invalid_api_key
                type: https://docs.olostep.com/api-reference/errors/unauthorized
                status: 401
                title: No autorizado
                detail: Your API key is invalid
                created: 1704067200
                metadata: {}
        '404':
          description: >-
            Lote no encontrado para el ID proporcionado. Consulta [No
            Encontrado](/api-reference/errors/not_found) para más detalles.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                id: error_abc123
                object: error
                code: batch_not_found
                type: https://docs.olostep.com/api-reference/errors/not_found
                status: 404
                title: No Encontrado
                detail: Batch not found
                created: 1704067200
                metadata: {}
        '500':
          description: >-
            Error interno del servidor. Consulta [Internal
            Error](/api-reference/errors/internal_error) para más detalles.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                id: error_abc123
                object: error
                code: internal_server_error
                type: https://docs.olostep.com/api-reference/errors/internal_error
                status: 500
                title: Error Interno del Servidor
                detail: An unexpected error occurred
                created: 1704067200
                metadata: {}
      security:
        - Authorization: []
components:
  schemas:
    Metadata:
      type: object
      description: >-
        Conjunto de pares clave-valor para almacenar información adicional sobre
        un objeto. Sigue el enfoque de Stripe con reglas de validación: máximo
        50 claves, clave máximo 40 caracteres (sin corchetes), valor máximo 500
        caracteres, todos los valores almacenados como cadenas.
      additionalProperties:
        type: string
        maxLength: 500
        description: >-
          Valor de metadatos (máximo 500 caracteres). Los números y booleanos se
          convierten automáticamente a cadenas.
      maxProperties: 50
      example:
        order_id: '12345'
        customer_name: John Doe
        priority: high
        processed: 'true'
      x-validation-rules:
        max_keys: 50
        key_max_length: 40
        key_forbidden_chars:
          - '['
          - ']'
        value_max_length: 500
        value_types:
          - string
          - number (coerced)
          - boolean (coerced)
    Error:
      type: object
      description: Respuesta de error de Detalles del Problema RFC 7807
      properties:
        id:
          type: string
          description: Identificador único de error
        object:
          type: string
          enum:
            - error
          description: Siempre 'error'
        code:
          type: string
          description: Código de error legible por máquina
        type:
          type: string
          format: uri
          description: Referencia URI que identifica el tipo de problema
        status:
          type: integer
          description: Código de estado HTTP
        title:
          type: string
          description: Resumen corto y legible por humanos
        detail:
          type: string
          description: Explicación legible por humanos
        created:
          type: integer
          description: Marca de tiempo Unix
        metadata:
          $ref: '#/components/schemas/Metadata'
        errors:
          type: array
          description: Array opcional de detalles adicionales del error
          items: {}
      required:
        - id
        - object
        - code
        - type
        - status
        - title
        - detail
        - created
  securitySchemes:
    Authorization:
      type: http
      scheme: bearer
      description: >-
        Encabezado de autenticación Bearer de la forma Bearer <token>, donde
        <token> es tu token de autenticación.

````