Stepeee Stepeee Plataforma de automatización total con IA

Método de conexión

1

Consulta tu clave de API

Puedes consultarla en el menú de la esquina superior derecha > Configuración > Cuenta > Clave de API.

2

Añádela a la cabecera de la solicitud

Añade la clave de API emitida a la cabecera Authorization en formato Bearer.

3

Envía la solicitud a la URL base

Envía las solicitudes a la URL base siguiente, seguida de la ruta del endpoint.

URL base

https://stepeee.com/public-api/v1

Ejemplo de solicitud

curl https://stepeee.com/public-api/v1/projects \
  -H "Authorization: Bearer sk_xxxxxxxxxxxxxxxx"
import requests

response = requests.get(
    "https://stepeee.com/public-api/v1/projects",
    headers={"Authorization": "Bearer sk_xxxxxxxxxxxxxxxx"},
)
print(response.json())
const response = await fetch("https://stepeee.com/public-api/v1/projects", {
  headers: { Authorization: "Bearer sk_xxxxxxxxxxxxxxxx" },
});
const data = await response.json();
console.log(data);
var request = URLRequest(url: URL(string: "https://stepeee.com/public-api/v1/projects")!)
request.setValue("Bearer sk_xxxxxxxxxxxxxxxx", forHTTPHeaderField: "Authorization")

let (data, _) = try await URLSession.shared.data(for: request)
print(String(data: data, encoding: .utf8)!)
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://stepeee.com/public-api/v1/projects"))
    .header("Authorization", "Bearer sk_xxxxxxxxxxxxxxxx")
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
$ch = curl_init("https://stepeee.com/public-api/v1/projects");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer sk_xxxxxxxxxxxxxxxx",
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close($ch);

echo $response;

Formato de respuesta y errores

Todas las respuestas se devuelven en el siguiente formato de envoltorio.

En caso de éxito

{ "data": ... }

En caso de error

{ "error": { "code": "...", "message": "..." } }

Códigos de estado

EstadoSignificado
401La clave de API no es válida o ha caducado
404El recurso no existe (también cuando no se tiene permiso de acceso)
422Los parámetros no son válidos
429Se ha superado el límite de solicitudes
500Se produjo un error inesperado

Proyectos

GET › /projects

Obtiene la lista de proyectos a los que puede acceder el propietario de la clave de API.

Ejemplo de solicitud
curl https://stepeee.com/public-api/v1/projects \
  -H "Authorization: Bearer sk_xxxxxxxxxxxxxxxx"
import requests

response = requests.get(
    "https://stepeee.com/public-api/v1/projects",
    headers={"Authorization": "Bearer sk_xxxxxxxxxxxxxxxx"},
)
print(response.json())
const response = await fetch("https://stepeee.com/public-api/v1/projects", {
  headers: { Authorization: "Bearer sk_xxxxxxxxxxxxxxxx" },
});
const data = await response.json();
console.log(data);
var request = URLRequest(url: URL(string: "https://stepeee.com/public-api/v1/projects")!)
request.setValue("Bearer sk_xxxxxxxxxxxxxxxx", forHTTPHeaderField: "Authorization")

let (data, _) = try await URLSession.shared.data(for: request)
print(String(data: data, encoding: .utf8)!)
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://stepeee.com/public-api/v1/projects"))
    .header("Authorization", "Bearer sk_xxxxxxxxxxxxxxxx")
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
$ch = curl_init("https://stepeee.com/public-api/v1/projects");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer sk_xxxxxxxxxxxxxxxx",
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
Ejemplo de respuesta
{
  "data": [
    {
      "project_unique": "a1b2c3d4e5",
      "project_name": "Sample Project",
      "description": "Sample project description",
      "created_at": "2026-01-10T09:00:00Z"
    }
  ],
  "meta": { "total": 1 }
}
GET › /projects/{project_unique}

Obtiene el detalle de 1 proyecto.

  • project_unique(string, ruta, obligatorio) — ID público del proyecto
Ejemplo de solicitud
curl https://stepeee.com/public-api/v1/projects/a1b2c3d4e5 \
  -H "Authorization: Bearer sk_xxxxxxxxxxxxxxxx"
import requests

response = requests.get(
    "https://stepeee.com/public-api/v1/projects/a1b2c3d4e5",
    headers={"Authorization": "Bearer sk_xxxxxxxxxxxxxxxx"},
)
print(response.json())
const response = await fetch("https://stepeee.com/public-api/v1/projects/a1b2c3d4e5", {
  headers: { Authorization: "Bearer sk_xxxxxxxxxxxxxxxx" },
});
const data = await response.json();
console.log(data);
var request = URLRequest(url: URL(string: "https://stepeee.com/public-api/v1/projects/a1b2c3d4e5")!)
request.setValue("Bearer sk_xxxxxxxxxxxxxxxx", forHTTPHeaderField: "Authorization")

let (data, _) = try await URLSession.shared.data(for: request)
print(String(data: data, encoding: .utf8)!)
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://stepeee.com/public-api/v1/projects/a1b2c3d4e5"))
    .header("Authorization", "Bearer sk_xxxxxxxxxxxxxxxx")
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
$ch = curl_init("https://stepeee.com/public-api/v1/projects/a1b2c3d4e5");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer sk_xxxxxxxxxxxxxxxx",
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
Ejemplo de respuesta
{
  "data": {
    "project_unique": "a1b2c3d4e5",
    "project_name": "Sample Project",
    "description": "Sample project description",
    "is_readonly": false,
    "created_at": "2026-01-10T09:00:00Z"
  }
}

Contenidos

GET › /projects/{project_unique}/contents

Obtiene en una sola lista los contenidos generados en el proyecto (publicaciones, blogs, imágenes y videos).

  • project_unique(string, ruta, obligatorio) — ID público del proyecto
Ejemplo de solicitud
curl https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents \
  -H "Authorization: Bearer sk_xxxxxxxxxxxxxxxx"
import requests

response = requests.get(
    "https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents",
    headers={"Authorization": "Bearer sk_xxxxxxxxxxxxxxxx"},
)
print(response.json())
const response = await fetch("https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents", {
  headers: { Authorization: "Bearer sk_xxxxxxxxxxxxxxxx" },
});
const data = await response.json();
console.log(data);
var request = URLRequest(url: URL(string: "https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents")!)
request.setValue("Bearer sk_xxxxxxxxxxxxxxxx", forHTTPHeaderField: "Authorization")

let (data, _) = try await URLSession.shared.data(for: request)
print(String(data: data, encoding: .utf8)!)
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents"))
    .header("Authorization", "Bearer sk_xxxxxxxxxxxxxxxx")
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
$ch = curl_init("https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer sk_xxxxxxxxxxxxxxxx",
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
Ejemplo de respuesta
{
  "data": [
    {
      "mode": "moviemode",
      "variation_unique": "m1a2b3c4d5",
      "title": "Generated Title",
      "progress": { "step_process": 3, "is_complete": true },
      "created_at": "2026-01-12T03:00:00Z"
    }
  ],
  "meta": { "total": 1 }
}
GET › /projects/{project_unique}/contents/{variation_unique}

Obtiene el detalle de 1 contenido. Incluye el texto y los recursos generados, y el estado de publicación (resultado de la publicación en redes sociales, WordPress, etc.). La estructura de content varía según el modo.

  • project_unique(string, ruta, obligatorio) — ID público del proyecto
  • variation_unique(string, ruta, obligatorio) — ID público del contenido
Ejemplo de solicitud
curl https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents/m1a2b3c4d5 \
  -H "Authorization: Bearer sk_xxxxxxxxxxxxxxxx"
import requests

response = requests.get(
    "https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents/m1a2b3c4d5",
    headers={"Authorization": "Bearer sk_xxxxxxxxxxxxxxxx"},
)
print(response.json())
const response = await fetch("https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents/m1a2b3c4d5", {
  headers: { Authorization: "Bearer sk_xxxxxxxxxxxxxxxx" },
});
const data = await response.json();
console.log(data);
var request = URLRequest(url: URL(string: "https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents/m1a2b3c4d5")!)
request.setValue("Bearer sk_xxxxxxxxxxxxxxxx", forHTTPHeaderField: "Authorization")

let (data, _) = try await URLSession.shared.data(for: request)
print(String(data: data, encoding: .utf8)!)
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents/m1a2b3c4d5"))
    .header("Authorization", "Bearer sk_xxxxxxxxxxxxxxxx")
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
$ch = curl_init("https://stepeee.com/public-api/v1/projects/a1b2c3d4e5/contents/m1a2b3c4d5");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer sk_xxxxxxxxxxxxxxxx",
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
Ejemplo de respuesta
{
  "data": {
    "mode": "moviemode",
    "variation_unique": "m1a2b3c4d5",
    "title": "Generated Title",
    "progress": { "step_process": 3, "is_complete": true },
    "publish": [
      {
        "platform": "youtube",
        "status": "success",
        "post_url": "https://youtube.com/watch?v=xxxx",
        "posted_at": "2026-01-12T04:00:00Z"
      }
    ],
    "content": {
      "movie_unique": "v1a2b3c4d5e6f7g8h9i0",
      "download_url": "https://... (issued dynamically per request)",
      "thumbnail_url": "https://... (issued dynamically per request)"
    },
    "created_at": "2026-01-12T03:00:00Z"
  }
}