ChatApp API (1.0.0)

Download OpenAPI specification:

Auth

Registra un nuevo usuario

Request Body schema: application/json
required
username
required
string
password
required
string

Responses

Request samples

Content type
application/json
{
  • "username": "johndoe",
  • "password": "secret123"
}

Response samples

Content type
application/json
{
  • "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  • "user": {
    }
}

Inicia sesión de usuario

Request Body schema: application/json
required
username
required
string
password
required
string

Responses

Request samples

Content type
application/json
{
  • "username": "johndoe",
  • "password": "secret123"
}

Response samples

Content type
application/json
{
  • "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  • "user": {
    }
}

Obtiene información del usuario autenticado

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "username": "string",
  • "profilePic": "string"
}

Chats

Obtiene todos los chats del usuario autenticado

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Crea un nuevo chat (1-a-1 o grupo)

Authorizations:
bearerAuth
Request Body schema: application/json
required
isGroup
required
boolean
name
string
userIds
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "isGroup": true,
  • "name": "Nuevo Grupo",
  • "userIds": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "chat-uuid-1234",
  • "isGroup": true,
  • "name": "Nuevo Grupo"
}

Sube una foto de perfil para un grupo

Authorizations:
bearerAuth
path Parameters
chatId
required
string
Request Body schema: multipart/form-data
file
string <binary>

Responses

Response samples

Content type
application/json
{
  • "profilePic": "/uploads/group-avatar.jpg"
}

Actualiza el nombre de un grupo

Authorizations:
bearerAuth
path Parameters
chatId
required
string
Request Body schema: application/json
required
name
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "Nombre Editado"
}

Response samples

Content type
application/json
{
  • "name": "Nombre Editado"
}

Obtiene todos los mensajes de un chat

Authorizations:
bearerAuth
path Parameters
chatId
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Elimina un chat

Authorizations:
bearerAuth
path Parameters
chatId
required
string

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Marca los mensajes de un chat como leídos

Authorizations:
bearerAuth
path Parameters
chatId
required
string

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Contacts

Obtiene la lista de contactos del usuario

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Añade un nuevo contacto

Authorizations:
bearerAuth
Request Body schema: application/json
required
contactId
required
string

Responses

Request samples

Content type
application/json
{
  • "contactId": "123e4567-e89b-12d3-a456-426614174002"
}

Response samples

Content type
application/json
{
  • "success": true
}

Messages

Envía un mensaje a un chat

Authorizations:
bearerAuth
Request Body schema: multipart/form-data
chatId
string
content
string
file
string <binary>

Archivo adjunto opcional

Responses

Response samples

Content type
application/json
{
  • "id": "msg-uuid-5678",
  • "chatId": "chat-uuid-1234",
  • "senderId": "user-uuid-9012",
  • "content": "Hola, ¿qué tal?",
  • "fileUrl": "/uploads/image.png",
  • "fileName": "image.png",
  • "createdAt": "2024-03-08T19:30:00.000Z",
  • "sender": {
    }
}

User

Sube una foto de usuario. Solo el propio usuario puede hacerlo.

Authorizations:
bearerAuth
Request Body schema: multipart/form-data
required
file
required
string <binary>

Imagen de perfil a subir

Responses

Response samples

Content type
application/json
{
  • "profilePic": "/uploads/filename.jpg"
}

Elimina la foto de perfil. Solo el propio usuario puede hacerlo.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Actualiza el nombre de usuario. Solo el propio usuario puede hacerlo.

Authorizations:
bearerAuth
query Parameters
username
string
Example: username=newjohndoe

Nombre de usuario nuevo.

Responses

Response samples

Content type
application/json
{
  • "user": {
    },
  • "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}

Obtiene todos los usuarios excepto el actual

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Busca usuarios por nombre de usuario

Authorizations:
bearerAuth
query Parameters
q
string
Example: q=jane

Término de búsqueda

Responses

Response samples

Content type
application/json
[
  • {
    }
]