Devis

Statuts : DRAFTSENTACCEPTEDDECLINEDEXPIREDCONVERTED

Un devis CONVERTED a été converti en facture et est en lecture seule.

GETLister les devis

GET/quotes
ParamètreTypeDescription
pageintegerNuméro de page (défaut : 1)
limitintegerÉléments par page, max 100 (défaut : 20)
searchstringRecherche dans numéro et titre du devis
statusstringFiltrer par statut
customerIdstringFiltrer par ID client
sortstringcreatedAt | -createdAt | validUntil | -validUntil
curl "https://paymavo.com/api/v1/quotes?status=ACCEPTED" \
  -H "Authorization: Bearer sk_live_xxx"

GETObtenir un devis

GET/quotes/{id}
curl https://paymavo.com/api/v1/quotes/clx456 \
  -H "Authorization: Bearer sk_live_xxx"

POSTCréer un devis

POST/quotes
ParamètreTypeDescription
customerId*stringID client
title*stringTitre du devis (max 200 car.)
items*arrayLignes — description, quantity, unitPrice (cents)
descriptionstringDescription du devis
validUntildate-timeDate de validité (par défaut : 30 jours à partir de maintenant)
termsstringConditions générales
notesstringNotes internes
discountTypestringpercentage | fixed
discountValueintegerMontant de la remise
curl -X POST https://paymavo.com/api/v1/quotes \
  -H "Authorization: Bearer sk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "customerId": "clx...",
    "title": "Brand redesign proposal",
    "validUntil": "2026-04-01T00:00:00.000Z",
    "items": [
      { "description": "Discovery & strategy", "quantity": 1, "unitPrice": 150000 },
      { "description": "Design system", "quantity": 1, "unitPrice": 350000 }
    ]
  }'

PATCHModifier un devis

PATCH/quotes/{id}

Impossible de modifier un devis CONVERTED — l'API renvoie 409.

curl -X PATCH https://paymavo.com/api/v1/quotes/clx456 \
  -H "Authorization: Bearer sk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{ "validUntil": "2026-05-01T00:00:00.000Z" }'

DELETESupprimer un devis

DELETE/quotes/{id}

Impossible de supprimer un devis CONVERTED.

curl -X DELETE https://paymavo.com/api/v1/quotes/clx456 \
  -H "Authorization: Bearer sk_live_xxx"

POSTEnvoyer un devis par courriel

POST/quotes/{id}/send

Génère le PDF et l'envoie au client (ou à une adresse courriel personnalisée). Statut SENT.

curl -X POST https://paymavo.com/api/v1/quotes/clx456/send \
  -H "Authorization: Bearer sk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{ "email": "client@example.com" }'

POSTConvertir un devis en facture

POST/quotes/{id}/convert-to-invoice

Crée une facture à partir du devis et marque le devis comme CONVERTED. L'API renvoie 409 si déjà converti.

curl -X POST https://paymavo.com/api/v1/quotes/clx456/convert-to-invoice \
  -H "Authorization: Bearer sk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{ "dueDate": "2026-05-01", "paymentMethod": "ONLINE_PAYMENT" }'

GETObtenir le PDF du devis

GET/quotes/{id}/pdf

Renvoie l'URL Cloudinary du PDF du devis. Le PDF est généré à la volée s'il n'a pas encore été créé.

curl "https://paymavo.com/api/v1/quotes/clx456/pdf" \
  -H "Authorization: Bearer sk_live_xxx"