Skip to main content
PATCH
/
scheduled-documents
/
{id}
Actualizar documento programado
curl --request PATCH \
  --url https://api.tupana.ai/v1/scheduled-documents/{id} \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "status": "inactive",
  "amount": 120000,
  "currency_day": 15,
  "references": [
    {
      "dte_type_code": "33",
      "reference_folio": "100",
      "reference_date": "2024-01-15",
      "reference_reason": "ANULA DOCUMENTO DE LA REFERENCIA"
    }
  ],
  "details": [
    {
      "item_name": "Servicio actualizado",
      "item_description": "Descripción del servicio",
      "quantity": 1,
      "unit_price": 120000
    }
  ]
}
'
{
  "id": 789,
  "sender": {
    "id": 123,
    "name": "Empresa Ejemplo SpA",
    "rut": "76543210-1"
  },
  "receiver": {
    "id": 456,
    "name": "Cliente ABC Ltda",
    "rut": "12345678-9"
  },
  "dte_type": {
    "id": 1,
    "code": "33",
    "description": "Factura Electrónica"
  },
  "frequency": "monthly",
  "frequency_display": "Mensual",
  "day_of_month": 15,
  "day_of_week": null,
  "next_execution": "2024-02-15T10:00:00Z",
  "status": "active",
  "status_display": "Activo",
  "amount": 100000,
  "currency": "CLP",
  "currency_day": 10,
  "completed_occurrences": 5,
  "max_occurrences": null,
  "start_date": "2024-02-01",
  "emission_day_adjustment": "none",
  "end_type": "never",
  "end_date": "2024-12-31",
  "details": [
    {
      "id": 1,
      "item_name": "Servicio mensual de consultoría",
      "item_description": "Consultoría especializada en tecnología",
      "quantity": 1,
      "unit_price": 100000,
      "item_total": 100000,
      "unit_of_measurement": "UN",
      "item_code": "PROD-001",
      "item_type_code": "1"
    }
  ],
  "references": [
    {
      "id": 1,
      "dte_type_code": "33",
      "reference_folio": "123",
      "reference_date": "2024-01-15",
      "reference_reason": "ANULA DOCUMENTO DE LA REFERENCIA"
    }
  ],
  "created_at": "2024-01-15T10:00:00Z",
  "updated_at": "2024-01-20T15:30:00Z"
}

Qué hace

  • Actualiza parcialmente un documento programado existente
  • Permite modificar solo los campos que se desean cambiar (PATCH)
  • Actualiza la configuración de frecuencia, estado, montos o detalles
  • Recalcula automáticamente la próxima ejecución si se cambia la frecuencia
  • Mantiene la integridad del documento programado

Ejemplos de uso

  • Cambiar la frecuencia de ejecución de un documento programado
  • Pausar o reactivar un documento programado (cambiar estado)
  • Actualizar montos o productos/servicios del documento
  • Modificar el día de ejecución (día del mes o día de la semana)
  • Cambiar el número máximo de ejecuciones permitidas

Endpoints relacionados

Authorizations

Authorization
string
header
required

API Key para autenticación. Debe proporcionarse en el header Authorization con el formato: 'Api-Key YOUR-API-KEY' (incluye el prefijo 'Api-Key ' seguido de tu API key)

Path Parameters

id
integer
required

ID del documento programado

Example:

789

Query Parameters

master_entity_id
integer
required

ID de la entidad maestra

Example:

123

Body

application/json

Campos a actualizar del documento programado

status
enum<string>

Estado del documento programado

Available options:
active,
inactive
Example:

"inactive"

amount
number

Monto total del documento

Required range: x >= 0
Example:

120000

frequency
enum<string>

Frecuencia de ejecución del documento programado. Valores: 'daily' (diario), 'weekly' (semanal), 'monthly' (mensual), 'quarterly' (trimestral), 'semiannual' (semestral), 'yearly' (anual).

Available options:
daily,
weekly,
monthly,
quarterly,
semiannual,
yearly
Example:

"weekly"

day_of_month
integer

Día del mes en que se ejecutará el documento (1-31). Requerido para frecuencias: monthly, quarterly, semiannual, yearly. Si el día no existe en un mes (ej: 31 en febrero), se usará el último día del mes.

Required range: 1 <= x <= 31
Example:

20

day_of_week
integer

Día de la semana en que se ejecutará el documento (1=Lunes, 2=Martes, 3=Miércoles, 4=Jueves, 5=Viernes, 6=Sábado, 7=Domingo). Requerido para frecuencia semanal (weekly).

Required range: 1 <= x <= 7
Example:

2

start_date
string<date>

Fecha de inicio de la programación (YYYY-MM-DD). Define desde cuándo comenzará a ejecutarse el documento programado. La primera ejecución será calculada a partir de esta fecha según la frecuencia configurada.

Example:

"2024-02-01"

emission_day_adjustment
enum<string>

Ajuste de fecha de emisión a días hábiles. Si la fecha calculada cae en fin de semana o feriado, se ajusta según esta opción: 'none' (sin ajuste, emite en la fecha calculada aunque sea fin de semana), 'next' (ajusta al próximo día hábil), 'previous' (ajusta al anterior día hábil).

Available options:
none,
next,
previous
Example:

"none"

end_type
enum<string>

Tipo de finalización de la programación: 'never' (nunca finaliza, se ejecuta indefinidamente), 'on_date' (finaliza en una fecha específica, requiere end_date), 'after_occurrences' (finaliza después de un número máximo de ejecuciones, requiere max_occurrences).

Available options:
never,
on_date,
after_occurrences
Example:

"never"

end_date
string<date>

Fecha de finalización de la programación (YYYY-MM-DD). Solo aplica y es requerido si end_type es 'on_date'. El documento programado dejará de ejecutarse después de esta fecha.

Example:

"2024-12-31"

max_occurrences
integer | null

Número máximo de ejecuciones. Solo aplica y es requerido si end_type es 'after_occurrences'. El documento programado dejará de ejecutarse después de alcanzar este número de ejecuciones.

Required range: x >= 1
Example:

24

currency_day
integer | null

Día del mes (1-31) para tomar el valor del tipo de cambio (UF o USD). Si no se indica, se usa el día de emisión.

Required range: 1 <= x <= 31
Example:

10

references
object[]

Referencias a documentos (ej. factura anulada por nota de crédito). Máximo 3 referencias. Si se envía, reemplaza todas las referencias existentes.

Maximum array length: 3
details
object[]

Detalles/productos del documento. Si se envía, reemplaza todos los detalles existentes. Misma estructura que en creación.

Response

Documento programado actualizado exitosamente

id
integer

ID único del documento programado

Example:

789

sender
object

Información de la entidad emisora

receiver
object

Información de la entidad receptora

dte_type
object

Tipo de documento tributario

frequency
enum<string>

Frecuencia de ejecución

Available options:
daily,
weekly,
monthly,
quarterly,
semiannual,
yearly
Example:

"monthly"

frequency_display
string

Frecuencia en formato legible

Example:

"Mensual"

day_of_month
integer | null

Día del mes en que se ejecutará el documento (1-31). Requerido para frecuencias: monthly, quarterly, semiannual, yearly. Si el día no existe en un mes (ej: 31 en febrero), se usará el último día del mes.

Example:

15

day_of_week
integer | null

Día de la semana para ejecución (1=Lunes, 7=Domingo)

Example:

null

next_execution
string<date-time>

Fecha y hora de la próxima ejecución

Example:

"2024-02-15T10:00:00Z"

status
enum<string>

Estado del documento programado

Available options:
active,
inactive,
completed
Example:

"active"

status_display
string

Estado en formato legible

Example:

"Activo"

amount
number

Monto del documento

Example:

100000

currency
enum<string>

Moneda del documento

Available options:
CLP,
UF,
USD,
EUR
Example:

"CLP"

currency_day
integer | null

Día del mes (1-31) para tomar el valor del tipo de cambio. Aplica cuando la moneda es UF o USD; si no se indica, se usa el día de emisión.

Required range: 1 <= x <= 31
Example:

10

completed_occurrences
integer

Número de veces que se ha ejecutado

Example:

5

max_occurrences
integer | null

Número máximo de ejecuciones

Example:

null

start_date
string<date> | null

Fecha de inicio de la programación (YYYY-MM-DD). Define desde cuándo comenzará a ejecutarse el documento programado. Si no se proporciona, se usa la fecha actual. La primera ejecución será calculada a partir de esta fecha según la frecuencia configurada.

Example:

"2024-02-01"

emission_day_adjustment
enum<string>
default:none

Ajuste de fecha de emisión a días hábiles: 'none' (sin ajuste), 'next' (próximo día hábil), 'previous' (anterior día hábil)

Available options:
none,
next,
previous
Example:

"none"

end_type
enum<string>
default:never

Tipo de finalización de la programación: 'never' (nunca finaliza, se ejecuta indefinidamente), 'on_date' (finaliza en una fecha específica, requiere end_date), 'after_occurrences' (finaliza después de un número máximo de ejecuciones, requiere max_occurrences). Por defecto: 'never'.

Available options:
never,
on_date,
after_occurrences
Example:

"never"

end_date
string<date> | null

Fecha de finalización de la programación (YYYY-MM-DD). Solo aplica y es requerido si end_type es 'on_date'. El documento programado dejará de ejecutarse después de esta fecha.

Example:

"2024-12-31"

details
object[]

Detalles/productos del documento

references
object[]

Referencias a documentos (ej. factura anulada por nota de crédito). Máximo 3 referencias.

Maximum array length: 3
created_at
string<date-time>

Fecha de creación

Example:

"2024-01-15T10:00:00Z"

updated_at
string<date-time>

Fecha de última actualización

Example:

"2024-01-20T15:30:00Z"