Referencia API

API de Usuarios

API REST para consultar y gestionar información de usuarios: datos personales, ubicación, estado de conexión y metadatos de actividad.

Métodos disponibles: GET, POST, PUT y DELETE.

Base URL

https://devsapihub.com/api-users

Puedes consumir esta API con cualquier cliente HTTP o directamente desde el navegador.

Endpoints

Listar usuarios

GET /api-users GET

Retorna un array con todos los usuarios.

Obtener usuario por ID

GET /api-users/:id GET

Retorna un usuario según el identificador enviado en la ruta.

GET /api-users/1

Crear usuario

POST /api-users/user POST

Body JSON requerido:

{
  "name": "Urian Viera",
  "email": "urian.viera@example.com",
  "phone": "+1 202-555-0176",
  "avatar_url": "https://devsapihub.com/img-users/2.jpg",
  "birth_date": "1986-06-25",
  "gender": "male",
  "location": { "city": "Bogota", "country": "COL" },
  "address": "fontibon",
  "status": 1,
  "last_seen": "2025-04-17T18:30:00Z",
  "message": "Hey, Que haces?",
  "online": true
}

Respuesta: objeto recién creado.

Actualizar usuario

PUT /api-users/user/:id PUT

Ejemplo de consulta previa:

GET /api-users/user/3

Body JSON de actualización:

{
  "id": 3,
  "name": "Amina Yusuf actualizado",
  "email": "amina.yusuf@example.com",
  "phone": "+44 7456 321789",
  "avatar_url": "https://devsapihub.com/img-users/3.jpg",
  "birth_date": "1990-11-03",
  "gender": "female",
  "location": {
    "city": "London",
    "country": "UK"
  },
  "address": "22 Queen Street, London",
  "status": 1,
  "last_seen": "2025-04-17T15:20:00Z",
  "message": "Vamos para el cine?",
  "online": true
}

Respuesta: recurso actualizado con los nuevos valores.

Filtrar usuarios por estado online

GET /api-users/online/:status GET

Retorna usuarios online u offline según el valor booleano enviado en :status.

GET /api-users/online/true

Respuesta: array de usuarios o error cuando no hay coincidencias.

Filtrar usuarios por país

GET /api-users/country/:country GET

Retorna usuarios cuyo país coincide con el parámetro indicado (sin distinguir mayúsculas/minúsculas).

GET /api-users/country/USA

Respuesta: array de usuarios o error cuando no hay coincidencias.

Eliminar usuario

DELETE /api-users/user/:id DELETE

Elimina el recurso correspondiente al ID indicado.

DELETE /api-users/2

Respuesta: listado actualizado.

Ejemplos de consumo

# Listar todos los usuarios
curl -X GET "https://devsapihub.com/api-users"

# Obtener un usuario por ID
curl -X GET "https://devsapihub.com/api-users/1"

# Filtrar usuarios online
curl -X GET "https://devsapihub.com/api-users/online/true"

# Filtrar usuarios por país
curl -X GET "https://devsapihub.com/api-users/country/Colombia"

# Crear un nuevo usuario
curl -X POST "https://devsapihub.com/api-users/user" \
  -H "Content-Type: application/json" \
  -d '{
        "name": "Ana Torres",
        "email": "ana.torres@example.com",
        "phone": "+57 3001234567",
        "avatar_url": "https://devsapihub.com/img-users/avatar.jpg",
        "birth_date": "1995-08-10",
        "gender": "female",
        "location": { "city": "Bogotá", "country": "Colombia" },
        "address": "Cra 7 #45-12, Bogotá",
        "status": 1,
        "online": true
      }'
const getUsers = async () => {
  try {
    const res = await fetch("https://devsapihub.com/api-users");
    const data = await res.json();

    if (!res.ok) {
      throw new Error("Error en la respuesta de la API");
    }

    console.log(data);
  } catch (error) {
    console.error("Error al obtener los usuarios:", error.message);
  }
};

getUsers();
import requests
response = requests.get("https://devsapihub.com/api-users")
print(response.json())
import axios from "axios";

const getUsers = async () => {
  try {
    const res = await axios.get("https://devsapihub.com/api-users");
    console.log(res.data);
  } catch (error) {
    console.error("Error al obtener los usuarios:", error.message);
  }
};

getUsers();
import { useEffect, useState } from 'react';

export default function App() {
  const [users, setUsers] = useState([]);

  useEffect(() => {
    const getUsers = async () => {
      try {
        const resp = await fetch('https://devsapihub.com/api-users');
        const data = await resp.json();

        setUsers(data);
      } catch (error) {
        console.error(error);
      }
    };

    getUsers();
  }, []);

  return (
    <>
      <h1>Usuarios</h1>
      {users.map((user) => (
        <div key={user.id}>
          <img
            src={user.avatar_url}
            alt={user.name}
            style={{ width: '80px', height: '80px', borderRadius: '50%' }}
          />
          <h3>{user.name}</h3>
          <p><strong>Email:</strong> {user.email}</p>
          <p><strong>Ciudad:</strong> {user.location.city}, {user.location.country}</p>
          <p>
            <strong>Estado:</strong>{' '}
            {user.online ? 'En línea' : 'Desconectado'}
          </p>
        </div>
      ))}
    </>
  );
}
<?php
$response = @file_get_contents('https://devsapihub.com/api-users');
$data = json_decode($response, true);

echo '<pre>';
echo $data ? print_r($data, true) : 'Error al obtener o decodificar los datos.';
echo '</pre>';
?>

Demo de interfaz

Ejemplo práctico de una vista de usuarios conectada a datos de API.

Explorar en CodePen