# Borrar el reloj de prueba

`DELETE https://api.fiscalisto.com/v1/issuers/{id}/test_clock`

El emisor vuelve a la hora real; lo que el reloj dejó pendiente lo hacen los procesos diarios.

## Parámetros

| Nombre | Dónde | Obligatorio | Descripción |
| --- | --- | --- | --- |
| `id` | ruta | sí | El id del objeto. |

## Con el SDK de TypeScript

```ts
import { Fiscalisto } from "fiscalisto";

// La llave viene de FISCALISTO_API_KEY.
const fiscalisto = new Fiscalisto();

const testClock = await fiscalisto.testClocks.delete("clk_0q1Vmmw52sbD");
```

## Con el SDK de Python

```python
from fiscalisto import Fiscalisto

# La llave viene de FISCALISTO_API_KEY.
fiscalisto = Fiscalisto()

test_clock = fiscalisto.test_clocks.delete("clk_0q1Vmmw52sbD")
```

## Con el SDK de PHP

```php
<?php

use Fiscalisto\Fiscalisto;

// La llave viene de FISCALISTO_API_KEY.
$fiscalisto = new Fiscalisto();

$testClock = $fiscalisto->testClocks->delete('clk_0q1Vmmw52sbD');
```

## Con el SDK de .NET

```csharp
using Fiscalisto;

// La llave viene de FISCALISTO_API_KEY.
var fiscalisto = new FiscalistoClient();

var testClock = await fiscalisto.TestClocks.DeleteAsync("clk_0q1Vmmw52sbD");
```

## Con el SDK de Go

```go
package main

import (
	"context"
	"fmt"
	"log"

	fiscalisto "fiscalisto.com/go"
)

func main() {
	// La llave viene de FISCALISTO_API_KEY.
	client, err := fiscalisto.NewClient("")
	if err != nil {
		log.Fatal(err)
	}
	ctx := context.Background()

	testClock, err := client.TestClocks.Delete(ctx, "clk_0q1Vmmw52sbD")
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println(testClock.ID)
}
```

## Con el SDK de Java

```java
import com.fiscalisto.FiscalistoClient;

// La llave viene de FISCALISTO_API_KEY.
var fiscalisto = new FiscalistoClient();

var testClock = fiscalisto.testClocks().delete("clk_0q1Vmmw52sbD");
System.out.println(testClock.getId());
```

## Respuesta 200

Correcto.

Un objeto `TestClock`:

| Campo | Tipo | Siempre viene | Descripción |
| --- | --- | --- | --- |
| `id` | string | sí | clk_ y la clave del emisor. |
| `object` | `"test_clock"` | sí | Qué tipo de objeto es («invoice», «customer»…). |
| `livemode` | `false` | sí | true en producción (llaves fk_live_), false en pruebas (fk_test_). Lo de pruebas no vale ante el SAT. |
| `issuer` | string | sí | El emisor de pruebas que vive en esta hora. |
| `frozen_time` | string (date-time) | sí | La hora del reloj: el «hoy» del emisor para sus facturas recurrentes, cotizaciones, cuentas por cobrar y tickets. |
| `status` | `ready`, `advancing` | sí | advancing mientras una solicitud lo adelanta; ready en cualquier otro momento. |
| `created_at` | string (date-time) o null | sí | Cuándo se creó, ISO 8601 con la hora de la Ciudad de México (-06:00). |
| `advanced` | objeto |  | Al adelantarlo: lo que se hizo en el camino. |
| `advanced.recurring_invoices` | integer | sí | Facturas recurrentes timbradas en el camino. (de -9007199254740991 a 9007199254740991) |
| `advanced.quotes_expired` | integer | sí | Cotizaciones que vencieron en el camino. (de -9007199254740991 a 9007199254740991) |
| `advanced.global_invoices` | integer | sí | Facturas globales de tickets timbradas en el camino. (de -9007199254740991 a 9007199254740991) |
| `stopped_early` | boolean |  | true si se detuvo antes de requested_time porque ya timbró 25 comprobantes en esta solicitud: adelántelo otra vez para seguir. |
| `requested_time` | string (date-time) |  | A dónde se pidió adelantarlo (con stopped_early). |
| `deleted` | boolean |  | Siempre true. |

```json
{
  "id": "clk_0q1Vmmw52sbD",
  "object": "test_clock",
  "livemode": false,
  "issuer": "iss_0q1Vmmw52sbD",
  "frozen_time": "2026-12-01T09:00:00-06:00",
  "status": "ready",
  "created_at": "2026-10-25T09:40:00-06:00",
  "advanced": {
    "recurring_invoices": 2,
    "quotes_expired": 1,
    "global_invoices": 1
  }
}
```

## Errores

Puede responder 400, 401, 403, 404, 429, 500 con el cuerpo de error de siempre; cada código está en https://fiscalisto.com/docs/api/errores.md.
