POST
Dupliquer la mission

Autorisations

X-Api-Key
string
header
requis

Clé API liée à un groupe (med_live_… en production, med_test_… en test). Fournie en clair une seule fois à la création depuis le profil client.

En-têtes

Idempotency-Key
string

Clé d'idempotence fournie par le client (un UUID v4 par opération), conservée 24 h. Recommandée sur toutes les créations. Rejouer la même clé avec un corps identique sur la même route renvoie la réponse en cache (Idempotent-Replayed: true). L'empreinte couvre la méthode, le chemin (donc la mission visée) et le corps : la même clé pour une autre requête renvoie 409 idempotency_key_reused. Requête identique encore en traitement : 409 request_in_progress avec Retry-After.

Les réponses 5xx, 404 et 422 documents_failed ne sont pas mémorisées : un nouvel essai avec la même clé et le même corps est retraité.

Après un 502 (code: relay_timeout), une erreur réseau ou un 5xx, réessayez avec la même clé et le même corps : la requête est relancée, et une mission créée malgré l'erreur vous est renvoyée (201, Idempotent-Replayed: true) au lieu d'être créée une seconde fois. Exception : si la réponse porte outcome_unknown: true, ne réessayez pas, vérifiez d'abord (GET /transports). Seuls la création de mission et le dépôt de documents sont dédoublonnés ainsi ; sans clé, un nouvel essai peut créer un doublon.

Exemple:

"1f3c2b7a-9d4e-4a1b-8c2f-0e6d5a4b3c2d"

Paramètres de chemin

id
string
requis

Identifiant de la mission (offer_id).

Corps

application/json
dates
object
requis

Une entrée par jambe existante : enlevement-aller, livraison-aller, et, si la source a un retour, enlevement-retour, livraison-retour. Toutes obligatoires, dans le futur, ordonnées, et au-delà du délai minimal de commande (sinon 422 too_early avec min_date).

options
object

Par jambe : soit un tableau des options de la source à conserver (libellés tels qu'ils figurent sur la source ; absent = toutes), soit un objet { keep, add } pour ajouter des options au prix de votre grille, avec leurs obligations (params, cf. GET /options). Une clé inconnue renvoie 422 unknown_option, une obligation manquante 422 requirements_not_met. Un créneau need_appointment ajoute d'office l'option « Prise de rendez-vous ».

documents
object

Réponse

Mission créée par duplication.

Mission créée par duplication (DTO allow-list).

id
string
requis

Identifiant de la nouvelle mission (offer_id).

options
object | null
requis

Options finales par jambe (conservées, ajoutées, prise de rendez-vous automatique), clés {nom} - {prix}.

transport_id
string
requis
Exemple:

"M-58121"

status
enum<string>
requis

Statut public stable d'une mission (ou de sa jambe retour) : scheduled (planifiée, en attente de convoyeur), assigned (convoyeur attribué, véhicule pas encore enlevé), in_transit (aller en cours), in_transit_return (retour en cours), awaiting_documents (en attente des PV / documents), under_review (documents en validation), completed (terminée, jamais une mission annulée), incident (anomalie signalée), cancelled (mission annulée).

Options disponibles:
scheduled,
assigned,
in_transit,
in_transit_return,
awaiting_documents,
under_review,
completed,
incident,
cancelled
price
object | null
requis
return_trip
object | null
requis
duplicated_from
object
requis

Référence courte vers une mission.

documents
object
requis
warnings
string[]
requis