Extender Lease

Extiende la concesión de una tarea actualmente reservada.

Autenticación

Requiere autenticación. Pasa tu clave API mediante el encabezado X-API-Key o Authorization: Bearer.

Parámetros de Ruta

Parámetro Tipo Descripción
id string Identificador único del scheduler
task string Identificador único de la tarea

Cuerpo de la Solicitud

Campo Tipo Descripción
extension integer Tiempo adicional de concesión en segundos
1{
2  "extension": "30s"
3}

Ejemplo de Solicitud

curl -X POST "https://api.hola.cloud/schedulers/sched-a1b2c3d4-e5f6-7890-abcd-ef1234567890/tasks/tarea-x1y2z3/extend" \
  -H "X-API-Key: TU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "extension": "30s"
  }'
POST /schedulers/sched-a1b2c3d4-e5f6-7890-abcd-ef1234567890/tasks/tarea-x1y2z3/extend HTTP/1.1
Host: api.hola.cloud
X-API-Key: TU_API_KEY
Content-Type: application/json

{
    "extension": "30s"
  }
package main

import (
	"fmt"
	"io"
	"net/http"
	"encoding/json"
	"strings"
)

func main() {
	payload := map[string]any{"extension": "30s"}
	bodyBytes, err := json.Marshal(payload)
	if err != nil {
		panic(err)
	}
	body := string(bodyBytes)

	req, err := http.NewRequest("POST", "https://api.hola.cloud/schedulers/sched-a1b2c3d4-e5f6-7890-abcd-ef1234567890/tasks/tarea-x1y2z3/extend", strings.NewReader(body))
	if err != nil {
		panic(err)
	}
	req.Header.Set("X-API-Key", "TU_API_KEY")
	req.Header.Set("Content-Type", "application/json")

	resp, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer resp.Body.Close()

	responseBody, err := io.ReadAll(resp.Body)
	if err != nil {
		panic(err)
	}
	fmt.Println(string(responseBody))
}
<?php
$payload = ['extension' => '30s'];
$body = json_encode($payload);

$ch = curl_init();

curl_setopt_array($ch, [
    CURLOPT_URL => 'https://api.hola.cloud/schedulers/sched-a1b2c3d4-e5f6-7890-abcd-ef1234567890/tasks/tarea-x1y2z3/extend',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_POSTFIELDS => $body,
    CURLOPT_HTTPHEADER => [
        'X-API-Key: TU_API_KEY',
        'Content-Type: application/json',
    ],
]);

$response = curl_exec($ch);
if ($response === false) {
    throw new Exception(curl_error($ch));
}
curl_close($ch);

echo $response;
import requests

import json

headers = {
    "X-API-Key": "TU_API_KEY",
    "Content-Type": "application/json",
}

payload = {"extension": "30s"}
body = json.dumps(payload)

response = requests.request(
    "POST",
    "https://api.hola.cloud/schedulers/sched-a1b2c3d4-e5f6-7890-abcd-ef1234567890/tasks/tarea-x1y2z3/extend",
    headers=headers,
    data=body
)

print(response.text)
const payload = {"extension": "30s"};

const response = await fetch("https://api.hola.cloud/schedulers/sched-a1b2c3d4-e5f6-7890-abcd-ef1234567890/tasks/tarea-x1y2z3/extend", {
  method: "POST",
  headers: {
    "X-API-Key": "TU_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify(payload)
});

console.log(await response.text());
const payload = {"extension": "30s"};

const response = await fetch("https://api.hola.cloud/schedulers/sched-a1b2c3d4-e5f6-7890-abcd-ef1234567890/tasks/tarea-x1y2z3/extend", {
  method: "POST",
  headers: {
    "X-API-Key": "TU_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify(payload)
});

const text = await response.text();
console.log(text);
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;
import java.util.List;

public class Main {
    public static void main(String[] args) throws Exception {
        var payload = Map.of("extension", "30s");
        var body = new ObjectMapper().writeValueAsString(payload);

        var request = HttpRequest.newBuilder()
            .uri(URI.create("https://api.hola.cloud/schedulers/sched-a1b2c3d4-e5f6-7890-abcd-ef1234567890/tasks/tarea-x1y2z3/extend"))
            .method("POST", HttpRequest.BodyPublishers.ofString(body))
            .header("X-API-Key", "TU_API_KEY")
            .header("Content-Type", "application/json")
            .build();

        var response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
        System.out.println(response.body());
    }
}

Ejemplo de Respuesta

1HTTP/1.1 200 OK
2Content-Type: application/json
1{
2  "id": "tarea-x1y2z3",
3  "lease_expires_at": "2025-06-21T12:02:31Z"
4}

Códigos de Error

Estado Código Descripción
400 validation_error Valor de extensión faltante o inválido
401 unauthorized Clave API faltante o inválida
404 not_found Scheduler o tarea no encontrados
409 conflict La tarea no está reservada o la concesión ya expiró
500 internal_error Error interno del servidor

Comentarios

Deja un comentario