{
  "info": {
    "name": "Car Policies — Fleet",
    "description": "Car Policy management (config, versioning, publication, assignment, simulation). Base URL points to dev2.dadycar.fr. Set {{token}} to a valid auth.service bearer token — view_carpolicy for reads, create/edit/delete_carpolicy for writes. {{car_policy_id}} is a policy id; {{assignment_id}} an assignment id; {{user_id}} a collaborator id.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [{ "key": "token", "value": "{{token}}", "type": "string" }]
  },
  "variable": [
    { "key": "base_url", "value": "https://dev2.dadycar.fr" },
    { "key": "token", "value": "" },
    { "key": "car_policy_id", "value": "1" },
    { "key": "assignment_id", "value": "1" },
    { "key": "user_id", "value": "1" }
  ],
  "item": [
    {
      "name": "List & Detail",
      "item": [
        {
          "name": "Policies — List",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": {
              "raw": "{{base_url}}/api/v1/fleet/car-policies/list?per_page=10&sort_by=created_at&sort_dir=desc",
              "host": ["{{base_url}}"],
              "path": ["api", "v1", "fleet", "car-policies", "list"],
              "query": [
                { "key": "per_page", "value": "10" },
                { "key": "sort_by", "value": "created_at" },
                { "key": "sort_dir", "value": "desc" },
                { "key": "status_filter", "value": "active", "disabled": true },
                { "key": "search_query", "value": "", "disabled": true }
              ]
            }
          }
        },
        {
          "name": "Policies — KPIs",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": {
              "raw": "{{base_url}}/api/v1/fleet/car-policies/kpis",
              "host": ["{{base_url}}"],
              "path": ["api", "v1", "fleet", "car-policies", "kpis"]
            }
          }
        },
        {
          "name": "Policy — Detail (Aperçu)",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": {
              "raw": "{{base_url}}/api/v1/fleet/car-policies/show/{{car_policy_id}}",
              "host": ["{{base_url}}"],
              "path": ["api", "v1", "fleet", "car-policies", "show", "{{car_policy_id}}"]
            }
          }
        },
        {
          "name": "Policy — Versions (Historique)",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": {
              "raw": "{{base_url}}/api/v1/fleet/car-policies/{{car_policy_id}}/versions",
              "host": ["{{base_url}}"],
              "path": ["api", "v1", "fleet", "car-policies", "{{car_policy_id}}", "versions"]
            }
          }
        },
        {
          "name": "Policy — Compare Versions",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": {
              "raw": "{{base_url}}/api/v1/fleet/car-policies/{{car_policy_id}}/versions/compare?version_a=1&version_b=2",
              "host": ["{{base_url}}"],
              "path": ["api", "v1", "fleet", "car-policies", "{{car_policy_id}}", "versions", "compare"],
              "query": [
                { "key": "version_a", "value": "1" },
                { "key": "version_b", "value": "2" }
              ]
            }
          }
        },
        {
          "name": "Policy — Assignments",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": {
              "raw": "{{base_url}}/api/v1/fleet/car-policies/{{car_policy_id}}/assignments",
              "host": ["{{base_url}}"],
              "path": ["api", "v1", "fleet", "car-policies", "{{car_policy_id}}", "assignments"]
            }
          }
        },
        {
          "name": "Policy — Assignable Collaborators",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": {
              "raw": "{{base_url}}/api/v1/fleet/car-policies/{{car_policy_id}}/assignable-collaborators",
              "host": ["{{base_url}}"],
              "path": ["api", "v1", "fleet", "car-policies", "{{car_policy_id}}", "assignable-collaborators"]
            }
          }
        },
        {
          "name": "Policy — Simulation (eligible vehicles + checklist)",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": {
              "raw": "{{base_url}}/api/v1/fleet/car-policies/{{car_policy_id}}/simulate",
              "host": ["{{base_url}}"],
              "path": ["api", "v1", "fleet", "car-policies", "{{car_policy_id}}", "simulate"]
            }
          }
        },
        {
          "name": "Policy — PDF",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": {
              "raw": "{{base_url}}/api/v1/fleet/car-policies/{{car_policy_id}}/pdf",
              "host": ["{{base_url}}"],
              "path": ["api", "v1", "fleet", "car-policies", "{{car_policy_id}}", "pdf"]
            }
          }
        },
        {
          "name": "Policies — Export CSV",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": {
              "raw": "{{base_url}}/api/v1/fleet/car-policies/export",
              "host": ["{{base_url}}"],
              "path": ["api", "v1", "fleet", "car-policies", "export"]
            }
          }
        }
      ]
    },
    {
      "name": "Filter / Config Options",
      "item": [
        {
          "name": "Options — Statuses",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": {
              "raw": "{{base_url}}/api/v1/fleet/car-policies/options/statuses",
              "host": ["{{base_url}}"],
              "path": ["api", "v1", "fleet", "car-policies", "options", "statuses"]
            }
          }
        },
        {
          "name": "Options — Motorisations",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": {
              "raw": "{{base_url}}/api/v1/fleet/car-policies/options/motorisations",
              "host": ["{{base_url}}"],
              "path": ["api", "v1", "fleet", "car-policies", "options", "motorisations"]
            }
          }
        },
        {
          "name": "Options — LOM Tiers",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": {
              "raw": "{{base_url}}/api/v1/fleet/car-policies/options/lom-tiers",
              "host": ["{{base_url}}"],
              "path": ["api", "v1", "fleet", "car-policies", "options", "lom-tiers"]
            }
          }
        },
        {
          "name": "Options — Cap Modes",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": {
              "raw": "{{base_url}}/api/v1/fleet/car-policies/options/cap-modes",
              "host": ["{{base_url}}"],
              "path": ["api", "v1", "fleet", "car-policies", "options", "cap-modes"]
            }
          }
        },
        {
          "name": "Options — Sorts",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": {
              "raw": "{{base_url}}/api/v1/fleet/car-policies/options/sorts",
              "host": ["{{base_url}}"],
              "path": ["api", "v1", "fleet", "car-policies", "options", "sorts"]
            }
          }
        },
        {
          "name": "Options — Rule Fields",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": {
              "raw": "{{base_url}}/api/v1/fleet/car-policies/options/rule-fields",
              "host": ["{{base_url}}"],
              "path": ["api", "v1", "fleet", "car-policies", "options", "rule-fields"]
            }
          }
        },
        {
          "name": "Options — Rule Operators",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": {
              "raw": "{{base_url}}/api/v1/fleet/car-policies/options/rule-operators",
              "host": ["{{base_url}}"],
              "path": ["api", "v1", "fleet", "car-policies", "options", "rule-operators"]
            }
          }
        },
        {
          "name": "Options — Rule Actions",
          "request": {
            "method": "GET",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": {
              "raw": "{{base_url}}/api/v1/fleet/car-policies/options/rule-actions",
              "host": ["{{base_url}}"],
              "path": ["api", "v1", "fleet", "car-policies", "options", "rule-actions"]
            }
          }
        }
      ]
    },
    {
      "name": "Editor & Lifecycle",
      "item": [
        {
          "name": "Policy — Create (Nouvelle policy, draft)",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Accept", "value": "application/json" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Policy Cadres Supérieurs 2025\",\n  \"description\": \"Politique véhicule pour les cadres supérieurs et directeurs.\",\n  \"tco_max\": 1200,\n  \"trade_up_enabled\": true,\n  \"trade_up_max_percent\": 30,\n  \"trade_down_enabled\": true,\n  \"co2_max\": 80,\n  \"motorisations\": [\"electric\", \"phev\", \"hybrid\"],\n  \"options_cap\": 8000,\n  \"options_cap_mode\": \"strict\",\n  \"mandatory_options\": [\"GPS intégré\", \"Caméra de recul\"],\n  \"forbidden_options\": [\"Toit ouvrant panoramique\"],\n  \"conditional_rules\": [\n    {\n      \"field\": \"annual_mileage\",\n      \"operator\": \"gte\",\n      \"value\": 40000,\n      \"action\": \"modify_tco\",\n      \"action_value\": 150\n    }\n  ],\n  \"signatory_name\": \"Marie Dupont\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/v1/fleet/car-policies/store",
              "host": ["{{base_url}}"],
              "path": ["api", "v1", "fleet", "car-policies", "store"]
            }
          }
        },
        {
          "name": "Policy — Update (Sauvegarder)",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Accept", "value": "application/json" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Policy Cadres Supérieurs 2025\",\n  \"tco_max\": 1200,\n  \"co2_max\": 80,\n  \"motorisations\": [\"electric\", \"phev\", \"hybrid\"]\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/v1/fleet/car-policies/update/{{car_policy_id}}",
              "host": ["{{base_url}}"],
              "path": ["api", "v1", "fleet", "car-policies", "update", "{{car_policy_id}}"]
            }
          }
        },
        {
          "name": "Policy — Publish (Publier)",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Accept", "value": "application/json" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"signatory_name\": \"Marie Dupont\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/v1/fleet/car-policies/{{car_policy_id}}/publish",
              "host": ["{{base_url}}"],
              "path": ["api", "v1", "fleet", "car-policies", "{{car_policy_id}}", "publish"]
            }
          }
        },
        {
          "name": "Policy — Duplicate (Dupliquer)",
          "request": {
            "method": "POST",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": {
              "raw": "{{base_url}}/api/v1/fleet/car-policies/{{car_policy_id}}/duplicate",
              "host": ["{{base_url}}"],
              "path": ["api", "v1", "fleet", "car-policies", "{{car_policy_id}}", "duplicate"]
            }
          }
        },
        {
          "name": "Policy — Archive (Archiver)",
          "request": {
            "method": "POST",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": {
              "raw": "{{base_url}}/api/v1/fleet/car-policies/{{car_policy_id}}/archive",
              "host": ["{{base_url}}"],
              "path": ["api", "v1", "fleet", "car-policies", "{{car_policy_id}}", "archive"]
            }
          }
        },
        {
          "name": "Policy — Delete",
          "request": {
            "method": "DELETE",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": {
              "raw": "{{base_url}}/api/v1/fleet/car-policies/delete/{{car_policy_id}}",
              "host": ["{{base_url}}"],
              "path": ["api", "v1", "fleet", "car-policies", "delete", "{{car_policy_id}}"]
            }
          }
        }
      ]
    },
    {
      "name": "Assignments",
      "item": [
        {
          "name": "Assign Collaborator (Affecter)",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Accept", "value": "application/json" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"user_id\": {{user_id}},\n  \"start_date\": \"2026-05-19\",\n  \"comment\": \"Affectation suite à promotion\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/v1/fleet/car-policies/{{car_policy_id}}/assign",
              "host": ["{{base_url}}"],
              "path": ["api", "v1", "fleet", "car-policies", "{{car_policy_id}}", "assign"]
            }
          }
        },
        {
          "name": "Remove Assignment",
          "request": {
            "method": "DELETE",
            "header": [{ "key": "Accept", "value": "application/json" }],
            "url": {
              "raw": "{{base_url}}/api/v1/fleet/car-policies/assignments/{{assignment_id}}",
              "host": ["{{base_url}}"],
              "path": ["api", "v1", "fleet", "car-policies", "assignments", "{{assignment_id}}"]
            }
          }
        }
      ]
    }
  ]
}
