Propuestas
Crea, envía y gestiona propuestas. Aprueba, rechaza y convierte propuestas en proyectos.
REST API — Todos los endpoints requieren autenticación mediante Bearer token. IncluyeAuthorization: Bearer {token}en cada solicitud. Los tokens se gestionan en Configuración de GitScrum → API. Base URL:https://services.gitscrum.com— Todas las rutas de solicitud en esta documentación son relativas a esta URL base.
Crea, envía y gestiona propuestas durante todo su ciclo de vida. Aprueba, rechaza o convierte propuestas aprobadas en proyectos.
Listar propuestas
GET /proposals?company_slug={slug}Devuelve todas las propuestas del workspace.
Parámetros de query
| Parámetro | Tipo | Descripción |
|---|---|---|
company_slug | string | Identificador del workspace |
status | string | Filtro: draft, sent, approved, rejected |
client_uuid | string | Filtrar por UUID del cliente |
Respuesta
{
"data": [
{
"uuid": "prop-abc-123",
"title": "Mobile App Development",
"status": "sent",
"client": {
"uuid": "client-abc-123",
"name": "Acme Corp"
},
"total_amount": 75000,
"currency": "USD",
"valid_until": "2026-03-15",
"sent_at": "2026-02-01T10:00:00Z",
"approved_at": null,
"rejected_at": null,
"created_at": "2026-01-25T09:00:00Z"
}
]
}Obtener propuesta
GET /proposals/{uuid}?company_slug={slug}Devuelve los detalles completos de la propuesta.
Parámetros de ruta
| Parámetro | Tipo | Descripción |
|---|---|---|
uuid | string | UUID de la propuesta |
Respuesta
{
"data": {
"uuid": "prop-abc-123",
"title": "Mobile App Development",
"status": "sent",
"client": {
"uuid": "client-abc-123",
"name": "Acme Corp"
},
"content": "## Project scope\n\nFull mobile app development...",
"total_amount": 75000,
"currency": "USD",
"valid_until": "2026-03-15",
"sent_at": "2026-02-01T10:00:00Z",
"approved_at": null,
"rejected_at": null,
"reason": null,
"created_at": "2026-01-25T09:00:00Z"
}
}Estadísticas
GET /proposals/stats?company_slug={slug}Devuelve estadísticas de propuestas del workspace.
Respuesta
{
"data": {
"total": 24,
"draft": 3,
"sent": 5,
"approved": 14,
"rejected": 2,
"total_value": 450000,
"approved_value": 320000
}
}Crear propuesta
POST /proposalsCrea una nueva propuesta en estado de borrador.
Cuerpo de la solicitud
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
title | string | Sí | Título de la propuesta |
company_slug | string | Sí | Identificador del workspace |
contactcompanyuuid | string | No | UUID del cliente |
content | string | No | Cuerpo de la propuesta (markdown) |
total_amount | number | No | Valor total |
currency | string | No | USD, EUR o BRL |
valid_until | string | No | Fecha de expiración (YYYY-MM-DD) |
Ejemplo
curl -X POST https://services.gitscrum.com/proposals \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"title": "E-commerce Platform Redesign",
"company_slug": "acme",
"contact_company_uuid": "client-abc-123",
"content": "## Scope\n\nComplete redesign of the e-commerce platform.",
"total_amount": 45000,
"currency": "USD",
"valid_until": "2026-04-01"
}'Actualizar propuesta
PUT /proposals/{uuid}Actualiza una propuesta existente.
Parámetros de ruta
| Parámetro | Tipo | Descripción |
|---|---|---|
uuid | string | UUID de la propuesta |
Cuerpo de la solicitud
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
company_slug | string | Sí | Identificador del workspace |
title | string | No | Título de la propuesta |
content | string | No | Cuerpo de la propuesta (markdown) |
total_amount | number | No | Valor total |
currency | string | No | Código de moneda |
valid_until | string | No | Fecha de expiración |
Enviar propuesta
POST /proposals/{uuid}/send?company_slug={slug}Envía la propuesta al cliente.
Parámetros de ruta
| Parámetro | Tipo | Descripción |
|---|---|---|
uuid | string | UUID de la propuesta |
Aprobar propuesta
POST /proposals/{uuid}/approve?company_slug={slug}Marca la propuesta como aprobada.
Parámetros de ruta
| Parámetro | Tipo | Descripción |
|---|---|---|
uuid | string | UUID de la propuesta |
Rechazar propuesta
POST /proposals/{uuid}/reject?company_slug={slug}Marca la propuesta como rechazada.
Parámetros de ruta
| Parámetro | Tipo | Descripción |
|---|---|---|
uuid | string | UUID de la propuesta |
Cuerpo de la solicitud
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
reason | string | No | Razón del rechazo |
Eliminar propuesta
DELETE /proposals/{uuid}?company_slug={slug}Elimina permanentemente una propuesta.
Parámetros de ruta
| Parámetro | Tipo | Descripción |
|---|---|---|
uuid | string | UUID de la propuesta |
Convertir a proyecto
POST /proposals/{uuid}/convert-to-project?company_slug={slug}Convierte una propuesta aprobada en un proyecto.
Parámetros de ruta
| Parámetro | Tipo | Descripción |
|---|---|---|
uuid | string | UUID de la propuesta (debe estar aprobada) |
Respuesta
{
"data": {
"proposal_uuid": "prop-abc-123",
"project": {
"slug": "e-commerce-platform-redesign",
"name": "E-commerce Platform Redesign"
}
}
}Ciclo de vida de la propuesta
draft → sent → approved → converted to project
↘ rejected- Crear — la propuesta inicia como
draft - Enviar — se entrega al cliente, cambia estado a
sent - Aprobar/Rechazar — se registra la decisión del cliente
- Convertir — la propuesta aprobada se convierte en proyecto
Referencia de campos
| Campo | Tipo | Descripción |
|---|---|---|
uuid | string | Identificador único de la propuesta |
title | string | Título de la propuesta |
status | string | draft, sent, approved o rejected |
client | object | Cliente asociado |
content | string | Cuerpo de la propuesta (markdown) |
total_amount | number | Valor total propuesto |
currency | string | Código de moneda (USD/EUR/BRL) |
valid_until | string | Fecha de expiración |
sent_at | datetime | Cuándo se envió la propuesta |
approved_at | datetime | Cuándo se aprobó la propuesta |
rejected_at | datetime | Cuándo se rechazó la propuesta |
reason | string | Razón del rechazo |
created_at | datetime | Timestamp de creación del registro |