{
  "info": { "name": "CVReader API V2", "description": "20 documented V2 API-key operations. Paths and parserType values match the staging contracts checked on 1 October 2026. Standard parsing: BASIC or omitted; AI 56: case-sensitive ADVANCED; AI 96: extended-parser with entitled account. The deployed backend returns application/json errors; RFC 9457 is not currently guaranteed. Set baseUrl and apiKey privately. Settings and webhook dispatch require explicit configuration. Resume/job deletion examples are last.", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" },
  "auth": {
    "type": "apikey",
    "apikey": [
      { "key": "key", "value": "Authorization", "type": "string" },
      { "key": "value", "value": "ApiKey {{apiKey}}", "type": "string" },
      { "key": "in", "value": "header", "type": "string" }
    ]
  },
  "variable": [
    { "key": "baseUrl", "value": "https://YOUR_API_HOST" },
    { "key": "apiKey", "value": "YOUR_API_KEY" },
    { "key": "resumeId", "value": "00000000-0000-0000-0000-000000000001" },
    { "key": "jobId", "value": "00000000-0000-0000-0000-000000000002" },
    { "key": "jobIdOrReference", "value": "SYNTHETIC-JAVA-001" },
    { "key": "resumeSettingsJson", "value": "" },
    { "key": "runWebhooks", "value": "false" }
  ],
  "item": [
    {
      "name": "Parse a CV file",
      "request": {
        "method": "POST",
        "header": [
          { "key": "Accept", "value": "application/json" }
        ],
        "url": "{{baseUrl}}/api/v2/resumes/parser",
        "body": {
          "mode": "formdata",
          "formdata": [
            { "key": "file", "type": "file", "src": "" },
            { "key": "parserType", "value": "ADVANCED", "type": "text" }
          ]
        }
      },
      "event": [
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "exec": [
              "pm.test('HTTP 200', () => pm.response.to.have.status(200));",
              "pm.test('No server error', () => pm.expect(pm.response.code).to.be.below(500));",
              "pm.test('Trace ID returned', () => pm.expect(pm.response.headers.get('X-Trace-Id')).to.be.a('string').and.not.empty);",
              "if (pm.response.code < 300) { const b = pm.response.json(); if (b.resumeId || b.id) pm.collectionVariables.set('resumeId', b.resumeId || b.id); }"
            ]
          }
        }
      ]
    },
    {
      "name": "Run the extended CV parser",
      "request": {
        "method": "POST",
        "header": [
          { "key": "Accept", "value": "application/json" }
        ],
        "url": "{{baseUrl}}/api/v2/resumes/extended-parser",
        "body": {
          "mode": "formdata",
          "formdata": [
            { "key": "file", "type": "file", "src": "" }
          ]
        }
      },
      "event": [
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "exec": [
              "pm.test('HTTP 200', () => pm.response.to.have.status(200));",
              "pm.test('No server error', () => pm.expect(pm.response.code).to.be.below(500));",
              "pm.test('Trace ID returned', () => pm.expect(pm.response.headers.get('X-Trace-Id')).to.be.a('string').and.not.empty);"
            ]
          }
        }
      ]
    },
    {
      "name": "List owned resumes",
      "request": {
        "method": "GET",
        "header": [
          { "key": "Accept", "value": "application/json" }
        ],
        "url": "{{baseUrl}}/api/v2/resumes?page=0&size=10"
      },
      "event": [
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "exec": [
              "pm.test('HTTP 200', () => pm.response.to.have.status(200));",
              "pm.test('No server error', () => pm.expect(pm.response.code).to.be.below(500));",
              "pm.test('Trace ID returned', () => pm.expect(pm.response.headers.get('X-Trace-Id')).to.be.a('string').and.not.empty);"
            ]
          }
        }
      ]
    },
    {
      "name": "Create a resume",
      "request": {
        "method": "POST",
        "header": [
          { "key": "Accept", "value": "application/json" },
          { "key": "Content-Type", "value": "application/json" }
        ],
        "url": "{{baseUrl}}/api/v2/resumes",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"resume\": {\n    \"candidate\": {\n      \"firstName\": \"Alex\",\n      \"lastName\": \"Sample\",\n      \"jobTitle\": \"Senior Java Engineer\",\n      \"personalEmail\": \"alex.sample@example.invalid\",\n      \"city\": \"Paris\",\n      \"country\": \"France\"\n    },\n    \"profile\": \"SYNTHETIC-20260930235501: Synthetic senior Java engineer with 8 years of experience in Java, Spring Boot, PostgreSQL and REST APIs.\",\n    \"experiences\": [\n      {\n        \"startMonth\": \"01\",\n        \"startYear\": \"2020\",\n        \"endMonth\": \"09\",\n        \"endYear\": \"2026\",\n        \"mission\": \"Senior Java Engineer\",\n        \"company\": \"Example Systems (synthetic)\",\n        \"location\": \"Paris\",\n        \"description\": \"Built Spring Boot REST APIs and PostgreSQL services; led a team of four engineers.\",\n        \"currentPosition\": true\n      }\n    ],\n    \"educations\": [\n      {\n        \"dateReceived\": \"2018\",\n        \"title\": \"Master of Computer Science\",\n        \"school\": \"Example University (synthetic)\",\n        \"description\": \"Software engineering\"\n      }\n    ],\n    \"languages\": [\n      {\n        \"name\": \"French\",\n        \"level\": \"C2\"\n      },\n      {\n        \"name\": \"English\",\n        \"level\": \"C1\"\n      }\n    ],\n    \"skills\": [\n      {\n        \"name\": \"Java\",\n        \"level\": \"Expert\"\n      },\n      {\n        \"name\": \"Spring Boot\",\n        \"level\": \"Expert\"\n      },\n      {\n        \"name\": \"PostgreSQL\",\n        \"level\": \"Advanced\"\n      }\n    ],\n    \"softSkills\": [\n      \"Leadership\",\n      \"Communication\"\n    ],\n    \"references\": []\n  }\n}",
          "options": {
            "raw": { "language": "json" }
          }
        }
      },
      "event": [
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "exec": [
              "pm.test('HTTP 201', () => pm.response.to.have.status(201));",
              "pm.test('No server error', () => pm.expect(pm.response.code).to.be.below(500));",
              "pm.test('Trace ID returned', () => pm.expect(pm.response.headers.get('X-Trace-Id')).to.be.a('string').and.not.empty);",
              "if (pm.response.code < 300) { const b = pm.response.json(); if (b.resumeId || b.id) pm.collectionVariables.set('resumeId', b.resumeId || b.id); }"
            ]
          }
        }
      ]
    },
    {
      "name": "Get an owned resume",
      "request": {
        "method": "GET",
        "header": [
          { "key": "Accept", "value": "application/json" }
        ],
        "url": "{{baseUrl}}/api/v2/resumes/{{resumeId}}"
      },
      "event": [
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "exec": [
              "pm.test('HTTP 200', () => pm.response.to.have.status(200));",
              "pm.test('No server error', () => pm.expect(pm.response.code).to.be.below(500));",
              "pm.test('Trace ID returned', () => pm.expect(pm.response.headers.get('X-Trace-Id')).to.be.a('string').and.not.empty);"
            ]
          }
        }
      ]
    },
    {
      "name": "Update an owned resume",
      "request": {
        "method": "PUT",
        "header": [
          { "key": "Accept", "value": "application/json" },
          { "key": "Content-Type", "value": "application/json" }
        ],
        "url": "{{baseUrl}}/api/v2/resumes/{{resumeId}}",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"resume\": {\n    \"candidate\": {\n      \"firstName\": \"Alex\",\n      \"lastName\": \"Sample\",\n      \"jobTitle\": \"Senior Java Engineer\",\n      \"personalEmail\": \"alex.sample@example.invalid\",\n      \"city\": \"Paris\",\n      \"country\": \"France\"\n    },\n    \"profile\": \"SYNTHETIC-20260930235501: Synthetic senior Java engineer with 8 years of experience in Java, Spring Boot, PostgreSQL and REST APIs.\",\n    \"experiences\": [\n      {\n        \"startMonth\": \"01\",\n        \"startYear\": \"2020\",\n        \"endMonth\": \"09\",\n        \"endYear\": \"2026\",\n        \"mission\": \"Senior Java Engineer\",\n        \"company\": \"Example Systems (synthetic)\",\n        \"location\": \"Paris\",\n        \"description\": \"Built Spring Boot REST APIs and PostgreSQL services; led a team of four engineers.\",\n        \"currentPosition\": true\n      }\n    ],\n    \"educations\": [\n      {\n        \"dateReceived\": \"2018\",\n        \"title\": \"Master of Computer Science\",\n        \"school\": \"Example University (synthetic)\",\n        \"description\": \"Software engineering\"\n      }\n    ],\n    \"languages\": [\n      {\n        \"name\": \"French\",\n        \"level\": \"C2\"\n      },\n      {\n        \"name\": \"English\",\n        \"level\": \"C1\"\n      }\n    ],\n    \"skills\": [\n      {\n        \"name\": \"Java\",\n        \"level\": \"Expert\"\n      },\n      {\n        \"name\": \"Spring Boot\",\n        \"level\": \"Expert\"\n      },\n      {\n        \"name\": \"PostgreSQL\",\n        \"level\": \"Advanced\"\n      }\n    ],\n    \"softSkills\": [\n      \"Leadership\",\n      \"Communication\"\n    ],\n    \"references\": []\n  }\n}",
          "options": {
            "raw": { "language": "json" }
          }
        }
      },
      "event": [
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "exec": [
              "pm.test('HTTP 200', () => pm.response.to.have.status(200));",
              "pm.test('No server error', () => pm.expect(pm.response.code).to.be.below(500));",
              "pm.test('Trace ID returned', () => pm.expect(pm.response.headers.get('X-Trace-Id')).to.be.a('string').and.not.empty);"
            ]
          }
        }
      ]
    },
    {
      "name": "Parse and save a job file",
      "request": {
        "method": "POST",
        "header": [
          { "key": "Accept", "value": "application/json" }
        ],
        "url": "{{baseUrl}}/api/v2/jobs/parser",
        "body": {
          "mode": "formdata",
          "formdata": [
            { "key": "file", "type": "file", "src": "" }
          ]
        }
      },
      "event": [
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "exec": [
              "pm.test('HTTP 200', () => pm.response.to.have.status(200));",
              "pm.test('No server error', () => pm.expect(pm.response.code).to.be.below(500));",
              "pm.test('Trace ID returned', () => pm.expect(pm.response.headers.get('X-Trace-Id')).to.be.a('string').and.not.empty);",
              "if (pm.response.code < 300) { const b = pm.response.json(); if (b.id) pm.collectionVariables.set('jobId', b.id); if (b.reference) pm.collectionVariables.set('jobIdOrReference', b.reference); }"
            ]
          }
        }
      ]
    },
    {
      "name": "List owned jobs",
      "request": {
        "method": "GET",
        "header": [
          { "key": "Accept", "value": "application/json" }
        ],
        "url": "{{baseUrl}}/api/v2/jobs?page=0&size=20"
      },
      "event": [
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "exec": [
              "pm.test('HTTP 200', () => pm.response.to.have.status(200));",
              "pm.test('No server error', () => pm.expect(pm.response.code).to.be.below(500));",
              "pm.test('Trace ID returned', () => pm.expect(pm.response.headers.get('X-Trace-Id')).to.be.a('string').and.not.empty);"
            ]
          }
        }
      ]
    },
    {
      "name": "Create a job",
      "request": {
        "method": "POST",
        "header": [
          { "key": "Accept", "value": "application/json" },
          { "key": "Content-Type", "value": "application/json" }
        ],
        "url": "{{baseUrl}}/api/v2/jobs",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"title\": \"Synthetic Senior Java Engineer\",\n  \"reference\": \"SYNTHETIC-JAVA-001\",\n  \"description\": \"Synthetic test vacancy: 5 years Java, Spring Boot, PostgreSQL and REST API experience. French and English. Lead a team of four engineers.\",\n  \"company\": \"Example Systems (synthetic)\",\n  \"country\": \"FR\",\n  \"city\": \"Paris\",\n  \"skills\": \"Java, Spring Boot, PostgreSQL, REST\",\n  \"experienceYears\": 5,\n  \"status\": \"ACTIVE\",\n  \"postedDate\": \"2026-10-01T00:00:00\",\n  \"expiryDate\": \"2026-11-01T00:00:00\"\n}",
          "options": {
            "raw": { "language": "json" }
          }
        }
      },
      "event": [
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "exec": [
              "pm.test('HTTP 201', () => pm.response.to.have.status(201));",
              "pm.test('No server error', () => pm.expect(pm.response.code).to.be.below(500));",
              "pm.test('Trace ID returned', () => pm.expect(pm.response.headers.get('X-Trace-Id')).to.be.a('string').and.not.empty);",
              "if (pm.response.code < 300) { const b = pm.response.json(); if (b.id) pm.collectionVariables.set('jobId', b.id); if (b.reference) pm.collectionVariables.set('jobIdOrReference', b.reference); }"
            ]
          }
        }
      ]
    },
    {
      "name": "Get an owned job",
      "request": {
        "method": "GET",
        "header": [
          { "key": "Accept", "value": "application/json" }
        ],
        "url": "{{baseUrl}}/api/v2/jobs/{{jobIdOrReference}}"
      },
      "event": [
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "exec": [
              "pm.test('HTTP 200', () => pm.response.to.have.status(200));",
              "pm.test('No server error', () => pm.expect(pm.response.code).to.be.below(500));",
              "pm.test('Trace ID returned', () => pm.expect(pm.response.headers.get('X-Trace-Id')).to.be.a('string').and.not.empty);"
            ]
          }
        }
      ]
    },
    {
      "name": "Update an owned job",
      "request": {
        "method": "PUT",
        "header": [
          { "key": "Accept", "value": "application/json" },
          { "key": "Content-Type", "value": "application/json" }
        ],
        "url": "{{baseUrl}}/api/v2/jobs/{{jobIdOrReference}}",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"title\": \"Synthetic Senior Java Engineer\",\n  \"reference\": \"SYNTHETIC-JAVA-001\",\n  \"description\": \"Synthetic test vacancy: 5 years Java, Spring Boot, PostgreSQL and REST API experience. French and English. Lead a team of four engineers.\",\n  \"company\": \"Example Systems (synthetic)\",\n  \"country\": \"FR\",\n  \"city\": \"Paris\",\n  \"skills\": \"Java, Spring Boot, PostgreSQL, REST\",\n  \"experienceYears\": 5,\n  \"status\": \"ACTIVE\",\n  \"postedDate\": \"2026-10-01T00:00:00\",\n  \"expiryDate\": \"2026-11-01T00:00:00\"\n}",
          "options": {
            "raw": { "language": "json" }
          }
        }
      },
      "event": [
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "exec": [
              "pm.test('HTTP 200', () => pm.response.to.have.status(200));",
              "pm.test('No server error', () => pm.expect(pm.response.code).to.be.below(500));",
              "pm.test('Trace ID returned', () => pm.expect(pm.response.headers.get('X-Trace-Id')).to.be.a('string').and.not.empty);"
            ]
          }
        }
      ]
    },
    {
      "name": "Fully match stored resources",
      "request": {
        "method": "POST",
        "header": [
          { "key": "Accept", "value": "application/json" },
          { "key": "Content-Type", "value": "application/json" }
        ],
        "url": "{{baseUrl}}/api/v2/recruiter-scores/match",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"jobId\": \"{{jobId}}\",\n  \"candidateId\": \"{{resumeId}}\"\n}",
          "options": {
            "raw": { "language": "json" }
          }
        }
      },
      "event": [
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "exec": [
              "pm.test('HTTP 200', () => pm.response.to.have.status(200));",
              "pm.test('No server error', () => pm.expect(pm.response.code).to.be.below(500));",
              "pm.test('Trace ID returned', () => pm.expect(pm.response.headers.get('X-Trace-Id')).to.be.a('string').and.not.empty);"
            ]
          }
        }
      ]
    },
    {
      "name": "Parse and fully match two files",
      "request": {
        "method": "POST",
        "header": [
          { "key": "Accept", "value": "application/json" }
        ],
        "url": "{{baseUrl}}/api/v2/recruiter-scores/match/files",
        "body": {
          "mode": "formdata",
          "formdata": [
            { "key": "resumeFile", "type": "file", "src": "" },
            { "key": "jobFile", "type": "file", "src": "" }
          ]
        }
      },
      "event": [
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "exec": [
              "pm.test('HTTP 200', () => pm.response.to.have.status(200));",
              "pm.test('No server error', () => pm.expect(pm.response.code).to.be.below(500));",
              "pm.test('Trace ID returned', () => pm.expect(pm.response.headers.get('X-Trace-Id')).to.be.a('string').and.not.empty);"
            ]
          }
        }
      ]
    },
    {
      "name": "Queue top candidates webhook",
      "request": {
        "method": "POST",
        "header": [
          { "key": "Accept", "value": "application/json" }
        ],
        "url": "{{baseUrl}}/api/v2/recruiter-scores/jobs/{{jobId}}/top-candidates/webhook",
        "description": "Requires an authorized webhook receiver. Dispatch is skipped unless runWebhooks is explicitly set to true. This collection does not configure a destination or rotate a signing secret."
      },
      "event": [
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "exec": [
              "pm.test('HTTP 202', () => pm.response.to.have.status(202));",
              "pm.test('No server error', () => pm.expect(pm.response.code).to.be.below(500));",
              "pm.test('Trace ID returned', () => pm.expect(pm.response.headers.get('X-Trace-Id')).to.be.a('string').and.not.empty);"
            ]
          }
        },
        {
          "listen": "prerequest",
          "script": {
            "type": "text/javascript",
            "exec": [
              "if (pm.collectionVariables.get('runWebhooks') !== 'true') pm.execution.skipRequest();"
            ]
          }
        }
      ]
    },
    {
      "name": "Queue top jobs webhook",
      "request": {
        "method": "POST",
        "header": [
          { "key": "Accept", "value": "application/json" }
        ],
        "url": "{{baseUrl}}/api/v2/recruiter-scores/resumes/{{resumeId}}/top-jobs/webhook",
        "description": "Requires an authorized webhook receiver. Dispatch is skipped unless runWebhooks is explicitly set to true. This collection does not configure a destination or rotate a signing secret."
      },
      "event": [
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "exec": [
              "pm.test('HTTP 202', () => pm.response.to.have.status(202));",
              "pm.test('No server error', () => pm.expect(pm.response.code).to.be.below(500));",
              "pm.test('Trace ID returned', () => pm.expect(pm.response.headers.get('X-Trace-Id')).to.be.a('string').and.not.empty);"
            ]
          }
        },
        {
          "listen": "prerequest",
          "script": {
            "type": "text/javascript",
            "exec": [
              "if (pm.collectionVariables.get('runWebhooks') !== 'true') pm.execution.skipRequest();"
            ]
          }
        }
      ]
    },
    {
      "name": "Update PDF generation settings",
      "request": {
        "method": "PUT",
        "header": [
          { "key": "Accept", "value": "application/json" },
          { "key": "Content-Type", "value": "application/json" }
        ],
        "url": "{{baseUrl}}/api/v2/pdf-generation/settings",
        "body": {
          "mode": "raw",
          "raw": "{{resumeSettingsJson}}",
          "options": {
            "raw": { "language": "json" }
          }
        },
        "description": "Replaces the full account settings. Provide an approved complete ResumeSettings JSON in resumeSettingsJson to preserve existing values. Skipped until provided."
      },
      "event": [
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "exec": [
              "pm.test('HTTP 200', () => pm.response.to.have.status(200));",
              "pm.test('No server error', () => pm.expect(pm.response.code).to.be.below(500));",
              "pm.test('Trace ID returned', () => pm.expect(pm.response.headers.get('X-Trace-Id')).to.be.a('string').and.not.empty);"
            ]
          }
        },
        {
          "listen": "prerequest",
          "script": {
            "type": "text/javascript",
            "exec": [
              "if (!pm.collectionVariables.get('resumeSettingsJson')) pm.execution.skipRequest();"
            ]
          }
        }
      ]
    },
    {
      "name": "Generate one resume PDF",
      "request": {
        "method": "POST",
        "header": [
          { "key": "Accept", "value": "*/*" }
        ],
        "url": "{{baseUrl}}/api/v2/pdf-generation/resumes/{{resumeId}}"
      },
      "event": [
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "exec": [
              "pm.test('HTTP 200', () => pm.response.to.have.status(200));",
              "pm.test('No server error', () => pm.expect(pm.response.code).to.be.below(500));",
              "pm.test('Trace ID returned', () => pm.expect(pm.response.headers.get('X-Trace-Id')).to.be.a('string').and.not.empty);"
            ]
          }
        }
      ]
    },
    {
      "name": "Queue multiple PDFs through a webhook",
      "request": {
        "method": "POST",
        "header": [
          { "key": "Accept", "value": "application/json" },
          { "key": "Content-Type", "value": "application/json" }
        ],
        "url": "{{baseUrl}}/api/v2/pdf-generation/webhook",
        "body": {
          "mode": "raw",
          "raw": "[\n  \"{{resumeId}}\"\n]",
          "options": {
            "raw": { "language": "json" }
          }
        },
        "description": "Requires an authorized webhook receiver. Dispatch is skipped unless runWebhooks is explicitly set to true. This collection does not configure a destination or rotate a signing secret."
      },
      "event": [
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "exec": [
              "pm.test('HTTP 202', () => pm.response.to.have.status(202));",
              "pm.test('No server error', () => pm.expect(pm.response.code).to.be.below(500));",
              "pm.test('Trace ID returned', () => pm.expect(pm.response.headers.get('X-Trace-Id')).to.be.a('string').and.not.empty);"
            ]
          }
        },
        {
          "listen": "prerequest",
          "script": {
            "type": "text/javascript",
            "exec": [
              "if (pm.collectionVariables.get('runWebhooks') !== 'true') pm.execution.skipRequest();"
            ]
          }
        }
      ]
    },
    {
      "name": "Disposable resource cleanup",
      "item": [
        {
          "name": "Delete an owned job",
          "request": {
            "method": "DELETE",
            "header": [
              { "key": "Accept", "value": "application/json" }
            ],
            "url": "{{baseUrl}}/api/v2/jobs/{{jobIdOrReference}}",
            "description": "Deletes the selected resource. Use only disposable resources created for this test. Review the IDs before running cleanup."
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('HTTP 204', () => pm.response.to.have.status(204));",
                  "pm.test('No server error', () => pm.expect(pm.response.code).to.be.below(500));",
                  "pm.test('Trace ID returned', () => pm.expect(pm.response.headers.get('X-Trace-Id')).to.be.a('string').and.not.empty);"
                ]
              }
            }
          ]
        },
        {
          "name": "Delete an owned resume",
          "request": {
            "method": "DELETE",
            "header": [
              { "key": "Accept", "value": "application/json" }
            ],
            "url": "{{baseUrl}}/api/v2/resumes/{{resumeId}}",
            "description": "Deletes the selected resource. Use only disposable resources created for this test. Review the IDs before running cleanup."
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('HTTP 204', () => pm.response.to.have.status(204));",
                  "pm.test('No server error', () => pm.expect(pm.response.code).to.be.below(500));",
                  "pm.test('Trace ID returned', () => pm.expect(pm.response.headers.get('X-Trace-Id')).to.be.a('string').and.not.empty);"
                ]
              }
            }
          ]
        }
      ]
    }
  ]
}
