Violation Reports Tutorial

Post a violation report

You create it from a contract. All the documents are posted along with the data

POST /contracts/88888888444455556666000000000001/violation_reports HTTP/1.0
Authorization: Bearer broker
{
  "data": {
    "details": {
      "reason": "contractBreach",
      "description": "Постачальник порушив контракт.",
      "documents": [
        {
          "title": "evidences.doc",
          "url": "http://ds.k8s.prozorro.local/get/88888888444455556666000000000004?Signature=tugyM7kLI9EeApkIpbgvJ2bIe6pY2C8HGZ0B4zsU6AB33DmdpAdaHMKCXUzNhxcCyults0aRC2hrxYFHe0%2FGBA%3D%3D&KeyID=a8968c46",
          "hash": "md5:00000000000000000000000000000000",
          "format": "application/msword",
          "documentType": "violationReportEvidence"
        }
      ]
    }
  }
}
HTTP/1.0 201 Created
Location: http://lb-api-sandbox.prozorro.gov.ua/api/2.5/violation_reports/88888888444455556666000000000006
Content-Type: application/json; charset=utf-8
X-Request-ID: 88888888-4444-5555-6666-000000000005
Content-Length: 2383
{
  "data": {
    "details": {
      "reason": "contractBreach",
      "description": "Постачальник порушив контракт.",
      "documents": [
        {
          "id": "88888888444455556666000000000007",
          "hash": "md5:00000000000000000000000000000000",
          "url": "http://lb-api-sandbox.prozorro.gov.ua/api/2.5/violation_reports/88888888444455556666000000000006/details/documents/88888888444455556666000000000007?download=88888888444455556666000000000004",
          "dateModified": "2025-10-12T15:35:35+03:00",
          "datePublished": "2025-10-12T15:35:35+03:00",
          "documentType": "violationReportEvidence",
          "title": "evidences.doc",
          "format": "application/msword",
          "language": "uk"
        }
      ],
      "dateModified": "2025-10-12T15:35:35+03:00"
    },
    "id": "88888888444455556666000000000006",
    "violationReportID": "UA-D-2025-10-12-000001",
    "status": "draft",
    "tender_id": "88888888444455556666000000000002",
    "contract_id": "88888888444455556666000000000001",
    "dateCreated": "2025-10-12T15:35:35+03:00",
    "dateModified": "2025-10-12T15:35:35+03:00",
    "author": {
      "name": "Adam Bryan",
      "identifier": {
        "id": "534962516",
        "scheme": "UA-EDR"
      },
      "address": {
        "streetAddress": "298 Michael Street Apt. 869",
        "postalCode": "66552",
        "countryName": "Chad",
        "addressDetails": {}
      },
      "contactPoint": {
        "name": "Nathan Lee",
        "email": "marc75@example.org",
        "telephone": "560.702.9241x61926",
        "faxNumber": "8314738249",
        "url": "http://www.lucero-collier.com/"
      },
      "kind": "general",
      "signerInfo": {}
    },
    "defendants": [
      {
        "name": "Hannah Peterson",
        "identifier": {
          "id": "500071620",
          "scheme": "UA-EDR"
        },
        "address": {
          "streetAddress": "81790 Connie Islands Suite 835",
          "postalCode": "87381",
          "countryName": "Qatar",
          "addressDetails": {}
        },
        "contactPoint": {
          "name": "Chase Simpson",
          "email": "jerry22@example.com",
          "telephone": "(381)680-2072",
          "faxNumber": "461.576.2320x55262",
          "url": "https://wilson-schneider.com/"
        },
        "scale": "micro",
        "signerInfo": {}
      }
    ],
    "authority": {
      "name": "Nicole Schmidt",
      "identifier": {
        "id": "K94288046",
        "scheme": "UA-EDR"
      },
      "address": {
        "streetAddress": "8891 Eric Station",
        "postalCode": "83706",
        "countryName": "Argentina",
        "addressDetails": {}
      },
      "contactPoint": {
        "name": "Jeremy Wood",
        "email": "shane44@example.net",
        "telephone": "570.847.0352x0101",
        "faxNumber": "824.553.4561x9450",
        "url": "http://www.roth.com/"
      },
      "kind": "special"
    }
  }
}

While in draft state, it can be changed

PATCH /violation_reports/88888888444455556666000000000006 HTTP/1.0
Authorization: Bearer broker
{
  "data": {
    "details": {
      "reason": "goodsNonCompliance",
      "description": "Якість товару не відповідає нормі."
    }
  }
}
HTTP/1.0 200 OK
Content-Type: application/json; charset=utf-8
X-Request-ID: 88888888-4444-5555-6666-000000000008
Content-Length: 2299
{
  "data": {
    "details": {
      "reason": "goodsNonCompliance",
      "description": "Якість товару не відповідає нормі.",
      "documents": [
        {
          "id": "88888888444455556666000000000007",
          "hash": "md5:00000000000000000000000000000000",
          "url": "http://lb-api-sandbox.prozorro.gov.ua/api/2.5/violation_reports/88888888444455556666000000000006/details/documents/88888888444455556666000000000007?download=88888888444455556666000000000004",
          "dateModified": "2025-10-12T15:35:35+03:00",
          "datePublished": "2025-10-12T15:35:35+03:00",
          "documentType": "violationReportEvidence",
          "title": "evidences.doc",
          "format": "application/msword",
          "language": "uk"
        }
      ],
      "dateModified": "2025-10-12T15:36:05+03:00"
    },
    "id": "88888888444455556666000000000006",
    "violationReportID": "UA-D-2025-10-12-000001",
    "status": "draft",
    "tender_id": "88888888444455556666000000000002",
    "contract_id": "88888888444455556666000000000001",
    "dateCreated": "2025-10-12T15:35:35+03:00",
    "dateModified": "2025-10-12T15:35:35+03:00",
    "author": {
      "name": "Adam Bryan",
      "identifier": {
        "id": "534962516",
        "scheme": "UA-EDR"
      },
      "address": {
        "streetAddress": "298 Michael Street Apt. 869",
        "postalCode": "66552",
        "countryName": "Chad"
      },
      "contactPoint": {
        "name": "Nathan Lee",
        "email": "marc75@example.org",
        "telephone": "560.702.9241x61926",
        "faxNumber": "8314738249",
        "url": "http://www.lucero-collier.com/"
      },
      "kind": "general"
    },
    "defendants": [
      {
        "name": "Hannah Peterson",
        "identifier": {
          "id": "500071620",
          "scheme": "UA-EDR"
        },
        "address": {
          "streetAddress": "81790 Connie Islands Suite 835",
          "postalCode": "87381",
          "countryName": "Qatar"
        },
        "contactPoint": {
          "name": "Chase Simpson",
          "email": "jerry22@example.com",
          "telephone": "(381)680-2072",
          "faxNumber": "461.576.2320x55262",
          "url": "https://wilson-schneider.com/"
        },
        "scale": "micro"
      }
    ],
    "authority": {
      "name": "Nicole Schmidt",
      "identifier": {
        "id": "K94288046",
        "scheme": "UA-EDR"
      },
      "address": {
        "streetAddress": "8891 Eric Station",
        "postalCode": "83706",
        "countryName": "Argentina"
      },
      "contactPoint": {
        "name": "Jeremy Wood",
        "email": "shane44@example.net",
        "telephone": "570.847.0352x0101",
        "faxNumber": "824.553.4561x9450",
        "url": "http://www.roth.com/"
      },
      "kind": "special"
    }
  }
}

You can delete a document

DELETE /violation_reports/88888888444455556666000000000006/details/documents/88888888444455556666000000000007 HTTP/1.0
Authorization: Bearer broker
HTTP/1.0 204 No Content
X-Request-ID: 88888888-4444-5555-6666-000000000009

Then post a new one

POST /violation_reports/88888888444455556666000000000006/details/documents HTTP/1.0
Authorization: Bearer broker
{
  "data": {
    "title": "evidence_document_2.pdf",
    "url": "http://ds.k8s.prozorro.local/get/8888888844445555666600000000000a?Signature=G2NaSpLaZEm4bsREAxLnoUae7HcXAhcngo7y6Oxy4Rry8uprs2eo7HQ6yj4ECVPjgDilkKUiYaN261D1l2PrAw%3D%3D&KeyID=a8968c46",
    "hash": "md5:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
    "format": "application/pdf",
    "documentType": "violationReportEvidence"
  }
}
HTTP/1.0 201 Created
Content-Type: application/json; charset=utf-8
X-Request-ID: 88888888-4444-5555-6666-00000000000b
Content-Length: 517
{
  "data": {
    "id": "8888888844445555666600000000000c",
    "hash": "md5:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
    "url": "http://lb-api-sandbox.prozorro.gov.ua/api/2.5/violation_reports/88888888444455556666000000000006/details/documents/8888888844445555666600000000000c?download=8888888844445555666600000000000a",
    "dateModified": "2025-10-12T15:36:35+03:00",
    "datePublished": "2025-10-12T15:36:35+03:00",
    "documentType": "violationReportEvidence",
    "title": "evidence_document_2.pdf",
    "format": "application/pdf",
    "language": "uk"
  }
}

Or you can update document version with PUT method

PUT /violation_reports/88888888444455556666000000000006/details/documents/8888888844445555666600000000000c HTTP/1.0
Authorization: Bearer broker
{
  "data": {
    "title": "evidence_updated.pdf",
    "url": "http://ds.k8s.prozorro.local/get/8888888844445555666600000000000d?Signature=WNfiqLtCHXyRo9pRkByNSN77zQHKjWFlLV0huu1Th83zRRkclWoC0psO0lzbIZ48hB5jcosTYen2CysbWmOeAQ%3D%3D&KeyID=a8968c46",
    "hash": "md5:11111111111111111111111111111111",
    "format": "application/pdf",
    "documentType": "violationReportEvidence"
  }
}
HTTP/1.0 201 Created
Content-Type: application/json; charset=utf-8
X-Request-ID: 88888888-4444-5555-6666-00000000000e
Content-Length: 514
{
  "data": {
    "id": "8888888844445555666600000000000c",
    "hash": "md5:11111111111111111111111111111111",
    "url": "http://lb-api-sandbox.prozorro.gov.ua/api/2.5/violation_reports/88888888444455556666000000000006/details/documents/8888888844445555666600000000000c?download=8888888844445555666600000000000d",
    "dateModified": "2025-10-12T15:37:10+03:00",
    "datePublished": "2025-10-12T15:37:10+03:00",
    "documentType": "violationReportEvidence",
    "title": "evidence_updated.pdf",
    "format": "application/pdf",
    "language": "uk"
  }
}

Update document details can be changed using PATCH method

PATCH /violation_reports/88888888444455556666000000000006/details/documents/8888888844445555666600000000000c HTTP/1.0
Authorization: Bearer broker
{
  "data": {
    "title": "доказ_оновлений.pdf",
    "title_en": "evidence_updated.pdf",
    "description": "Висновок експерта, щодо пошкодженої деревини.",
    "description_en": "Expert opinion regarding damaged wood."
  }
}
HTTP/1.0 200 OK
Content-Type: application/json; charset=utf-8
X-Request-ID: 88888888-4444-5555-6666-000000000010
Content-Length: 938
{
  "data": {
    "id": "8888888844445555666600000000000c",
    "hash": "md5:11111111111111111111111111111111",
    "url": "http://lb-api-sandbox.prozorro.gov.ua/api/2.5/violation_reports/88888888444455556666000000000006/details/documents/8888888844445555666600000000000c?download=8888888844445555666600000000000d",
    "dateModified": "2025-10-12T15:37:45+03:00",
    "datePublished": "2025-10-12T15:37:10+03:00",
    "documentType": "violationReportEvidence",
    "title": "доказ_оновлений.pdf",
    "title_en": "evidence_updated.pdf",
    "description": "Висновок експерта, щодо пошкодженої деревини.",
    "description_en": "Expert opinion regarding damaged wood.",
    "format": "application/pdf",
    "language": "uk"
  }
}

Now you can publish your violation report by changing its status

PATCH /violation_reports/88888888444455556666000000000006 HTTP/1.0
Authorization: Bearer broker
{
  "data": {
    "status": "pending"
  }
}
HTTP/1.0 200 OK
Content-Type: application/json; charset=utf-8
X-Request-ID: 88888888-4444-5555-6666-000000000011
Content-Length: 2878
{
  "data": {
    "details": {
      "reason": "goodsNonCompliance",
      "description": "Якість товару не відповідає нормі.",
      "documents": [
        {
          "id": "8888888844445555666600000000000c",
          "hash": "md5:11111111111111111111111111111111",
          "url": "http://lb-api-sandbox.prozorro.gov.ua/api/2.5/violation_reports/88888888444455556666000000000006/details/documents/8888888844445555666600000000000c?download=8888888844445555666600000000000d",
          "dateModified": "2025-10-12T15:37:45+03:00",
          "datePublished": "2025-10-12T15:37:10+03:00",
          "documentType": "violationReportEvidence",
          "title": "доказ_оновлений.pdf",
          "title_en": "evidence_updated.pdf",
          "description": "Висновок експерта, щодо пошкодженої деревини.",
          "description_en": "Expert opinion regarding damaged wood.",
          "format": "application/pdf",
          "language": "uk"
        }
      ],
      "dateModified": "2025-10-12T15:37:45+03:00"
    },
    "id": "88888888444455556666000000000006",
    "violationReportID": "UA-D-2025-10-12-000001",
    "status": "pending",
    "tender_id": "88888888444455556666000000000002",
    "contract_id": "88888888444455556666000000000001",
    "dateCreated": "2025-10-12T15:35:35+03:00",
    "dateModified": "2025-10-12T15:38:20+03:00",
    "datePublished": "2025-10-12T15:38:20+03:00",
    "author": {
      "name": "Adam Bryan",
      "identifier": {
        "id": "534962516",
        "scheme": "UA-EDR"
      },
      "address": {
        "streetAddress": "298 Michael Street Apt. 869",
        "postalCode": "66552",
        "countryName": "Chad"
      },
      "contactPoint": {
        "name": "Nathan Lee",
        "email": "marc75@example.org",
        "telephone": "560.702.9241x61926",
        "faxNumber": "8314738249",
        "url": "http://www.lucero-collier.com/"
      },
      "kind": "general"
    },
    "defendants": [
      {
        "name": "Hannah Peterson",
        "identifier": {
          "id": "500071620",
          "scheme": "UA-EDR"
        },
        "address": {
          "streetAddress": "81790 Connie Islands Suite 835",
          "postalCode": "87381",
          "countryName": "Qatar"
        },
        "contactPoint": {
          "name": "Chase Simpson",
          "email": "jerry22@example.com",
          "telephone": "(381)680-2072",
          "faxNumber": "461.576.2320x55262",
          "url": "https://wilson-schneider.com/"
        },
        "scale": "micro"
      }
    ],
    "authority": {
      "name": "Nicole Schmidt",
      "identifier": {
        "id": "K94288046",
        "scheme": "UA-EDR"
      },
      "address": {
        "streetAddress": "8891 Eric Station",
        "postalCode": "83706",
        "countryName": "Argentina"
      },
      "contactPoint": {
        "name": "Jeremy Wood",
        "email": "shane44@example.net",
        "telephone": "570.847.0352x0101",
        "faxNumber": "824.553.4561x9450",
        "url": "http://www.roth.com/"
      },
      "kind": "special"
    },
    "defendantPeriod": {
      "startDate": "2025-10-12T15:38:20+03:00",
      "endDate": "2025-10-16T00:00:00+03:00"
    }
  }
}

See defendantPeriod that restrict the periods of the response can be posted. The decision can be posted once the period ends.

Post the defendant statement

Post a draft dependant statement

POST /violation_reports/88888888444455556666000000000006/defendantStatements HTTP/1.0
Authorization: Bearer broker
{
  "data": {
    "description": "В усьому винні бобри.",
    "documents": [
      {
        "title": "beavers.gif",
        "url": "http://ds.k8s.prozorro.local/get/88888888444455556666000000000012?Signature=B8ZkEn5DCSUgAux1D9k1m0NYVi%2FS7raTmA7fka9W94%2B3Z%2FYxUAFpRRxfla6fB3geRRimhjYKmY96ybF4UnccBQ%3D%3D&KeyID=a8968c46",
        "hash": "md5:00000000000000000000000000000000",
        "format": "image/gif",
        "documentType": "violationReportEvidence"
      }
    ]
  }
}
HTTP/1.0 201 Created
Location: http://lb-api-sandbox.prozorro.gov.ua/api/2.5/violation_reports/88888888444455556666000000000006/defendantStatements/88888888444455556666000000000014
Content-Type: application/json; charset=utf-8
X-Request-ID: 88888888-4444-5555-6666-000000000013
Content-Length: 792
{
  "data": {
    "id": "88888888444455556666000000000014",
    "description": "В усьому винні бобри.",
    "documents": [
      {
        "id": "88888888444455556666000000000015",
        "hash": "md5:00000000000000000000000000000000",
        "url": "http://lb-api-sandbox.prozorro.gov.ua/api/2.5/violation_reports/88888888444455556666000000000006/defendantStatements/88888888444455556666000000000014/documents/88888888444455556666000000000015?download=88888888444455556666000000000012",
        "dateModified": "2025-10-13T01:53:32+03:00",
        "datePublished": "2025-10-13T01:53:32+03:00",
        "documentType": "violationReportEvidence",
        "title": "beavers.gif",
        "format": "image/gif",
        "language": "uk"
      }
    ],
    "dateModified": "2025-10-13T01:53:32+03:00",
    "status": "draft"
  }
}

While is not active, you can update it

PATCH /violation_reports/88888888444455556666000000000006/defendantStatements/88888888444455556666000000000014 HTTP/1.0
Authorization: Bearer broker
{
  "data": {
    "description": "В усьому винні бобри. Обіцяли, що більше не будуть."
  }
}
HTTP/1.0 200 OK
Content-Type: application/json; charset=utf-8
X-Request-ID: 88888888-4444-5555-6666-000000000017
Content-Length: 937
{
  "data": {
    "id": "88888888444455556666000000000014",
    "description": "В усьому винні бобри. Обіцяли, що більше не будуть.",
    "documents": [
      {
        "id": "88888888444455556666000000000015",
        "hash": "md5:00000000000000000000000000000000",
        "url": "http://lb-api-sandbox.prozorro.gov.ua/api/2.5/violation_reports/88888888444455556666000000000006/defendantStatements/88888888444455556666000000000014/documents/88888888444455556666000000000015?download=88888888444455556666000000000012",
        "dateModified": "2025-10-13T01:53:32+03:00",
        "datePublished": "2025-10-13T01:53:32+03:00",
        "documentType": "violationReportEvidence",
        "title": "beavers.gif",
        "format": "image/gif",
        "language": "uk"
      }
    ],
    "dateModified": "2025-10-13T01:53:47+03:00",
    "status": "draft"
  }
}

You can delete a document

DELETE /violation_reports/88888888444455556666000000000006/defendantStatements/88888888444455556666000000000014/documents/88888888444455556666000000000015 HTTP/1.0
Authorization: Bearer broker
HTTP/1.0 204 No Content
X-Request-ID: 88888888-4444-5555-6666-000000000018

Then post a new one

POST /violation_reports/88888888444455556666000000000006/defendantStatements/88888888444455556666000000000014/documents HTTP/1.0
Authorization: Bearer broker
{
  "data": {
    "title": "defendant_statement_2.pdf",
    "url": "http://ds.k8s.prozorro.local/get/88888888444455556666000000000019?Signature=AHmdLawa2x2O6c9v4lINJKiQMmH3vntPBpcxvUMOyADuyEc1a8CB8tx%2FHgr0%2Bm3%2BMlUaxWEf9FtJUNOWRyouBA%3D%3D&KeyID=a8968c46",
    "hash": "md5:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
    "format": "application/pdf",
    "documentType": "violationReportEvidence"
  }
}
HTTP/1.0 201 Created
Content-Type: application/json; charset=utf-8
X-Request-ID: 88888888-4444-5555-6666-00000000001a
Content-Length: 564
{
  "data": {
    "id": "8888888844445555666600000000001b",
    "hash": "md5:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
    "url": "http://lb-api-sandbox.prozorro.gov.ua/api/2.5/violation_reports/88888888444455556666000000000006/defendantStatements/88888888444455556666000000000014/documents/8888888844445555666600000000001b?download=88888888444455556666000000000019",
    "dateModified": "2025-10-13T01:54:17+03:00",
    "datePublished": "2025-10-13T01:54:17+03:00",
    "documentType": "violationReportEvidence",
    "title": "defendant_statement_2.pdf",
    "format": "application/pdf",
    "language": "uk"
  }
}

And update the evidences

PUT /violation_reports/88888888444455556666000000000006/defendantStatements/88888888444455556666000000000014/documents/8888888844445555666600000000001b HTTP/1.0
Authorization: Bearer broker
{
  "data": {
    "title": "ai_generated_beavers_0001.gif",
    "url": "http://ds.k8s.prozorro.local/get/8888888844445555666600000000001c?Signature=Fi4U%2BlVwgdK%2BpIZy5BFPmQwO7WWJkGAW0hmQcPdXCr%2FaWi%2FEA4ADWucYefF6Zirfvlgf8ruE89cFucXu%2BrdCCA%3D%3D&KeyID=a8968c46",
    "hash": "md5:22222222222222222222222222222222",
    "format": "image/gif",
    "documentType": "violationReportEvidence"
  }
}
HTTP/1.0 201 Created
Content-Type: application/json; charset=utf-8
X-Request-ID: 88888888-4444-5555-6666-00000000001d
Content-Length: 562
{
  "data": {
    "id": "8888888844445555666600000000001b",
    "hash": "md5:22222222222222222222222222222222",
    "url": "http://lb-api-sandbox.prozorro.gov.ua/api/2.5/violation_reports/88888888444455556666000000000006/defendantStatements/88888888444455556666000000000014/documents/8888888844445555666600000000001b?download=8888888844445555666600000000001c",
    "dateModified": "2025-10-13T01:54:32+03:00",
    "datePublished": "2025-10-13T01:54:32+03:00",
    "documentType": "violationReportEvidence",
    "title": "ai_generated_beavers_0001.gif",
    "format": "image/gif",
    "language": "uk"
  }
}

Change documents descriptions

PATCH /violation_reports/88888888444455556666000000000006/defendantStatements/88888888444455556666000000000014/documents/8888888844445555666600000000001b HTTP/1.0
Authorization: Bearer broker
{
  "data": {
    "title": "доказ_оновлений.pdf",
    "description": "Докази причетності бобрів.",
    "description_en": "Evidence of beaver involvement."
  }
}
HTTP/1.0 200 OK
Content-Type: application/json; charset=utf-8
X-Request-ID: 88888888-4444-5555-6666-00000000001f
Content-Length: 835
{
  "data": {
    "id": "8888888844445555666600000000001b",
    "hash": "md5:22222222222222222222222222222222",
    "url": "http://lb-api-sandbox.prozorro.gov.ua/api/2.5/violation_reports/88888888444455556666000000000006/defendantStatements/88888888444455556666000000000014/documents/8888888844445555666600000000001b?download=8888888844445555666600000000001c",
    "dateModified": "2025-10-13T01:55:07+03:00",
    "datePublished": "2025-10-13T01:54:32+03:00",
    "documentType": "violationReportEvidence",
    "title": "доказ_оновлений.pdf",
    "description": "Докази причетності бобрів.",
    "description_en": "Evidence of beaver involvement.",
    "format": "image/gif",
    "language": "uk"
  }
}

Now it is possible to publish the statement, so it appears in the feed

PATCH /violation_reports/88888888444455556666000000000006/defendantStatements/88888888444455556666000000000014 HTTP/1.0
Authorization: Bearer broker
{
  "data": {
    "status": "active"
  }
}
HTTP/1.0 200 OK
Content-Type: application/json; charset=utf-8
X-Request-ID: 88888888-4444-5555-6666-000000000020
Content-Length: 1275
{
  "data": {
    "id": "88888888444455556666000000000014",
    "description": "В усьому винні бобри. Обіцяли, що більше не будуть.",
    "documents": [
      {
        "id": "8888888844445555666600000000001b",
        "hash": "md5:22222222222222222222222222222222",
        "url": "http://lb-api-sandbox.prozorro.gov.ua/api/2.5/violation_reports/88888888444455556666000000000006/defendantStatements/88888888444455556666000000000014/documents/8888888844445555666600000000001b?download=8888888844445555666600000000001c",
        "dateModified": "2025-10-13T01:55:07+03:00",
        "datePublished": "2025-10-13T01:54:32+03:00",
        "documentType": "violationReportEvidence",
        "title": "доказ_оновлений.pdf",
        "description": "Докази причетності бобрів.",
        "description_en": "Evidence of beaver involvement.",
        "format": "image/gif",
        "language": "uk"
      }
    ],
    "dateModified": "2025-10-13T01:55:07+03:00",
    "datePublished": "2025-10-13T01:55:22+03:00",
    "status": "active"
  }
}

Post the decision

Create a draft decision

POST /violation_reports/88888888444455556666000000000006/decisions HTTP/1.0
Authorization: Bearer broker
{
  "data": {
    "resolution": "satisfied",
    "description": "Суворо засуджуємо бобрів.",
    "documents": [
      {
        "title": "protocol.pdf",
        "url": "http://ds.k8s.prozorro.local/get/88888888444455556666000000000021?Signature=aBAmD0RXTXJTCOImqgld4ytJc7dUbIDlWekXbeAOLrUTu54Eskaiplw7u2Jm4euROoTWpxV7OWZU3rLaeV7PBw%3D%3D&KeyID=a8968c46",
        "hash": "md5:00000000000000000000000000000000",
        "format": "application/pdf",
        "documentType": "violationReportEvidence"
      }
    ]
  }
}
HTTP/1.0 201 Created
Location: http://lb-api-sandbox.prozorro.gov.ua/api/2.5/violation_reports/88888888444455556666000000000006/decisions/88888888444455556666000000000023
Content-Type: application/json; charset=utf-8
X-Request-ID: 88888888-4444-5555-6666-000000000022
Content-Length: 845
{
  "data": {
    "id": "88888888444455556666000000000023",
    "resolution": "satisfied",
    "description": "Суворо засуджуємо бобрів.",
    "documents": [
      {
        "id": "88888888444455556666000000000024",
        "hash": "md5:00000000000000000000000000000000",
        "url": "http://lb-api-sandbox.prozorro.gov.ua/api/2.5/violation_reports/88888888444455556666000000000006/decisions/88888888444455556666000000000023/documents/88888888444455556666000000000024?download=88888888444455556666000000000021",
        "dateModified": "2025-10-16T10:15:00+03:00",
        "datePublished": "2025-10-16T10:15:00+03:00",
        "documentType": "violationReportEvidence",
        "title": "protocol.pdf",
        "format": "application/pdf",
        "language": "uk"
      }
    ],
    "dateModified": "2025-10-16T10:15:00+03:00",
    "status": "draft"
  }
}

It’s required to add a signature document

POST /violation_reports/88888888444455556666000000000006/decisions/88888888444455556666000000000023/documents HTTP/1.0
Authorization: Bearer broker
{
  "data": {
    "title": "sign.p7s",
    "url": "http://ds.k8s.prozorro.local/get/88888888444455556666000000000025?Signature=6JxrJ%2BwNKsRCI2xDBiiL%2F8pj15XhjYYFV2eTptnZcCfCIxkK7leYwPpIgSAYwse32fo1OdfHvB1acss2wjuiCQ%3D%3D&KeyID=a8968c46",
    "hash": "md5:00000000000000000000000000000000",
    "format": "application/pkcs7-signature",
    "documentType": "violationReportSignature"
  }
}
HTTP/1.0 201 Created
Content-Type: application/json; charset=utf-8
X-Request-ID: 88888888-4444-5555-6666-000000000026
Content-Length: 550
{
  "data": {
    "id": "88888888444455556666000000000027",
    "hash": "md5:00000000000000000000000000000000",
    "url": "http://lb-api-sandbox.prozorro.gov.ua/api/2.5/violation_reports/88888888444455556666000000000006/decisions/88888888444455556666000000000023/documents/88888888444455556666000000000027?download=88888888444455556666000000000025",
    "dateModified": "2025-10-16T10:15:12+03:00",
    "datePublished": "2025-10-16T10:15:12+03:00",
    "documentType": "violationReportSignature",
    "title": "sign.p7s",
    "format": "application/pkcs7-signature",
    "language": "uk"
  }
}

While in draft, you can change the decision

PATCH /violation_reports/88888888444455556666000000000006/decisions/88888888444455556666000000000023 HTTP/1.0
Authorization: Bearer broker
{
  "data": {
    "resolution": "declinedNoViolation",
    "description": "Комісія дійшла висновку, що ці бобри не підпадають під гриф \"таємно\" або \"для службового користування\"."
  }
}
HTTP/1.0 200 OK
Content-Type: application/json; charset=utf-8
X-Request-ID: 88888888-4444-5555-6666-000000000028
Content-Length: 1784
{
  "data": {
    "id": "88888888444455556666000000000023",
    "resolution": "declinedNoViolation",
    "description": "Комісія дійшла висновку, що ці бобри не підпадають під гриф \"таємно\" або \"для службового користування\".",
    "documents": [
      {
        "id": "88888888444455556666000000000024",
        "hash": "md5:00000000000000000000000000000000",
        "url": "http://lb-api-sandbox.prozorro.gov.ua/api/2.5/violation_reports/88888888444455556666000000000006/decisions/88888888444455556666000000000023/documents/88888888444455556666000000000024?download=88888888444455556666000000000021",
        "dateModified": "2025-10-16T10:15:00+03:00",
        "datePublished": "2025-10-16T10:15:00+03:00",
        "documentType": "violationReportEvidence",
        "title": "protocol.pdf",
        "format": "application/pdf",
        "language": "uk"
      },
      {
        "id": "88888888444455556666000000000027",
        "hash": "md5:00000000000000000000000000000000",
        "url": "http://lb-api-sandbox.prozorro.gov.ua/api/2.5/violation_reports/88888888444455556666000000000006/decisions/88888888444455556666000000000023/documents/88888888444455556666000000000027?download=88888888444455556666000000000025",
        "dateModified": "2025-10-16T10:15:12+03:00",
        "datePublished": "2025-10-16T10:15:12+03:00",
        "documentType": "violationReportSignature",
        "title": "sign.p7s",
        "format": "application/pkcs7-signature",
        "language": "uk"
      }
    ],
    "dateModified": "2025-10-16T10:15:24+03:00",
    "status": "draft"
  }
}

You can delete a document

DELETE /violation_reports/88888888444455556666000000000006/decisions/88888888444455556666000000000023/documents/88888888444455556666000000000024 HTTP/1.0
Authorization: Bearer broker
HTTP/1.0 204 No Content
X-Request-ID: 88888888-4444-5555-6666-000000000029

Then post a new one

POST /violation_reports/88888888444455556666000000000006/decisions/88888888444455556666000000000023/documents HTTP/1.0
Authorization: Bearer broker
{
  "data": {
    "title": "protocol(2).pdf",
    "url": "http://ds.k8s.prozorro.local/get/8888888844445555666600000000002a?Signature=LQQHOWz3Qd8zfecGeJWl%2BfgQisGujYqI2KUZezb8HhAlIwcWwZE5OQGJlMgBnKpjQX2%2FJdNVQXV%2F6FCTS%2BtYCA%3D%3D&KeyID=a8968c46",
    "hash": "md5:ffffffffffffffffffffffffffffffff",
    "format": "application/pdf",
    "documentType": "violationReportEvidence"
  }
}
HTTP/1.0 201 Created
Content-Type: application/json; charset=utf-8
X-Request-ID: 88888888-4444-5555-6666-00000000002b
Content-Length: 544
{
  "data": {
    "id": "8888888844445555666600000000002c",
    "hash": "md5:ffffffffffffffffffffffffffffffff",
    "url": "http://lb-api-sandbox.prozorro.gov.ua/api/2.5/violation_reports/88888888444455556666000000000006/decisions/88888888444455556666000000000023/documents/8888888844445555666600000000002c?download=8888888844445555666600000000002a",
    "dateModified": "2025-10-16T10:15:54+03:00",
    "datePublished": "2025-10-16T10:15:54+03:00",
    "documentType": "violationReportEvidence",
    "title": "protocol(2).pdf",
    "format": "application/pdf",
    "language": "uk"
  }
}

Before publishing, you need to update the signature

PUT /violation_reports/88888888444455556666000000000006/decisions/88888888444455556666000000000023/documents/88888888444455556666000000000027 HTTP/1.0
Authorization: Bearer broker
{
  "data": {
    "title": "sign_1.p7s",
    "url": "http://ds.k8s.prozorro.local/get/8888888844445555666600000000002d?Signature=MaHSAtYh5xLt1cKbVPNkTc0Wo40%2Bf9%2FIzZQXq34318bLtSkyUVl6Fn653xrx5vgEzyrjnc4sSgLmcuiFOWHOBw%3D%3D&KeyID=a8968c46",
    "hash": "md5:33333333333333333333333333333333",
    "format": "application/pkcs7-signature",
    "documentType": "violationReportSignature"
  }
}
HTTP/1.0 201 Created
Content-Type: application/json; charset=utf-8
X-Request-ID: 88888888-4444-5555-6666-00000000002e
Content-Length: 552
{
  "data": {
    "id": "88888888444455556666000000000027",
    "hash": "md5:33333333333333333333333333333333",
    "url": "http://lb-api-sandbox.prozorro.gov.ua/api/2.5/violation_reports/88888888444455556666000000000006/decisions/88888888444455556666000000000023/documents/88888888444455556666000000000027?download=8888888844445555666600000000002d",
    "dateModified": "2025-10-16T10:16:06+03:00",
    "datePublished": "2025-10-16T10:16:06+03:00",
    "documentType": "violationReportSignature",
    "title": "sign_1.p7s",
    "format": "application/pkcs7-signature",
    "language": "uk"
  }
}

Post the decision

PATCH /violation_reports/88888888444455556666000000000006/decisions/88888888444455556666000000000023 HTTP/1.0
Authorization: Bearer broker
{
  "data": {
    "status": "active"
  }
}
HTTP/1.0 200 OK
Content-Type: application/json; charset=utf-8
X-Request-ID: 88888888-4444-5555-6666-000000000030
Content-Length: 1836
{
  "data": {
    "id": "88888888444455556666000000000023",
    "resolution": "declinedNoViolation",
    "description": "Комісія дійшла висновку, що ці бобри не підпадають під гриф \"таємно\" або \"для службового користування\".",
    "documents": [
      {
        "id": "8888888844445555666600000000002c",
        "hash": "md5:ffffffffffffffffffffffffffffffff",
        "url": "http://lb-api-sandbox.prozorro.gov.ua/api/2.5/violation_reports/88888888444455556666000000000006/decisions/88888888444455556666000000000023/documents/8888888844445555666600000000002c?download=8888888844445555666600000000002a",
        "dateModified": "2025-10-16T10:15:54+03:00",
        "datePublished": "2025-10-16T10:15:54+03:00",
        "documentType": "violationReportEvidence",
        "title": "protocol(2).pdf",
        "format": "application/pdf",
        "language": "uk"
      },
      {
        "id": "88888888444455556666000000000027",
        "hash": "md5:33333333333333333333333333333333",
        "url": "http://lb-api-sandbox.prozorro.gov.ua/api/2.5/violation_reports/88888888444455556666000000000006/decisions/88888888444455556666000000000023/documents/88888888444455556666000000000027?download=8888888844445555666600000000002d",
        "dateModified": "2025-10-16T10:16:06+03:00",
        "datePublished": "2025-10-16T10:16:06+03:00",
        "documentType": "violationReportSignature",
        "title": "sign_1.p7s",
        "format": "application/pkcs7-signature",
        "language": "uk"
      }
    ],
    "dateModified": "2025-10-16T10:16:06+03:00",
    "datePublished": "2025-10-16T10:16:08+03:00",
    "status": "active"
  }
}

See the result violation report object

GET /violation_reports/88888888444455556666000000000006 HTTP/1.0
HTTP/1.0 200 OK
Content-Type: application/json; charset=utf-8
X-Request-ID: 88888888-4444-5555-6666-000000000031
Content-Length: 6030
{
  "data": {
    "details": {
      "reason": "goodsNonCompliance",
      "description": "Якість товару не відповідає нормі.",
      "documents": [
        {
          "id": "8888888844445555666600000000000c",
          "hash": "md5:11111111111111111111111111111111",
          "url": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/violation_reports/88888888444455556666000000000006/details/documents/8888888844445555666600000000000c?download=8888888844445555666600000000000d",
          "dateModified": "2025-10-12T15:37:45+03:00",
          "datePublished": "2025-10-12T15:37:10+03:00",
          "documentType": "violationReportEvidence",
          "title": "доказ_оновлений.pdf",
          "title_en": "evidence_updated.pdf",
          "description": "Висновок експерта, щодо пошкодженої деревини.",
          "description_en": "Expert opinion regarding damaged wood.",
          "format": "application/pdf",
          "language": "uk"
        }
      ],
      "dateModified": "2025-10-12T15:37:45+03:00"
    },
    "id": "88888888444455556666000000000006",
    "violationReportID": "UA-D-2025-10-12-000001",
    "status": "declined",
    "tender_id": "88888888444455556666000000000002",
    "contract_id": "88888888444455556666000000000001",
    "dateCreated": "2025-10-12T15:35:35+03:00",
    "dateModified": "2025-10-16T10:16:08+03:00",
    "datePublished": "2025-10-12T15:38:20+03:00",
    "author": {
      "name": "Adam Bryan",
      "identifier": {
        "id": "534962516",
        "scheme": "UA-EDR"
      },
      "address": {
        "streetAddress": "298 Michael Street Apt. 869",
        "postalCode": "66552",
        "countryName": "Chad"
      },
      "contactPoint": {
        "name": "Nathan Lee",
        "email": "marc75@example.org",
        "telephone": "560.702.9241x61926",
        "faxNumber": "8314738249",
        "url": "http://www.lucero-collier.com/"
      },
      "kind": "general"
    },
    "defendants": [
      {
        "name": "Hannah Peterson",
        "identifier": {
          "id": "500071620",
          "scheme": "UA-EDR"
        },
        "address": {
          "streetAddress": "81790 Connie Islands Suite 835",
          "postalCode": "87381",
          "countryName": "Qatar"
        },
        "contactPoint": {
          "name": "Chase Simpson",
          "email": "jerry22@example.com",
          "telephone": "(381)680-2072",
          "faxNumber": "461.576.2320x55262",
          "url": "https://wilson-schneider.com/"
        },
        "scale": "micro"
      }
    ],
    "authority": {
      "name": "Nicole Schmidt",
      "identifier": {
        "id": "K94288046",
        "scheme": "UA-EDR"
      },
      "address": {
        "streetAddress": "8891 Eric Station",
        "postalCode": "83706",
        "countryName": "Argentina"
      },
      "contactPoint": {
        "name": "Jeremy Wood",
        "email": "shane44@example.net",
        "telephone": "570.847.0352x0101",
        "faxNumber": "824.553.4561x9450",
        "url": "http://www.roth.com/"
      },
      "kind": "special"
    },
    "defendantPeriod": {
      "startDate": "2025-10-12T15:38:20+03:00",
      "endDate": "2025-10-16T00:00:00+03:00"
    },
    "defendantStatements": [
      {
        "id": "88888888444455556666000000000014",
        "description": "В усьому винні бобри. Обіцяли, що більше не будуть.",
        "documents": [
          {
            "id": "8888888844445555666600000000001b",
            "hash": "md5:22222222222222222222222222222222",
            "url": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/violation_reports/88888888444455556666000000000006/defendantStatements/88888888444455556666000000000014/documents/8888888844445555666600000000001b?download=8888888844445555666600000000001c",
            "dateModified": "2025-10-13T01:55:07+03:00",
            "datePublished": "2025-10-13T01:54:32+03:00",
            "documentType": "violationReportEvidence",
            "title": "доказ_оновлений.pdf",
            "description": "Докази причетності бобрів.",
            "description_en": "Evidence of beaver involvement.",
            "format": "image/gif",
            "language": "uk"
          }
        ],
        "dateModified": "2025-10-13T01:55:07+03:00",
        "datePublished": "2025-10-13T01:55:22+03:00",
        "status": "active"
      }
    ],
    "decisions": [
      {
        "id": "88888888444455556666000000000023",
        "resolution": "declinedNoViolation",
        "description": "Комісія дійшла висновку, що ці бобри не підпадають під гриф \"таємно\" або \"для службового користування\".",
        "documents": [
          {
            "id": "8888888844445555666600000000002c",
            "hash": "md5:ffffffffffffffffffffffffffffffff",
            "url": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/violation_reports/88888888444455556666000000000006/decisions/88888888444455556666000000000023/documents/8888888844445555666600000000002c?download=8888888844445555666600000000002a",
            "dateModified": "2025-10-16T10:15:54+03:00",
            "datePublished": "2025-10-16T10:15:54+03:00",
            "documentType": "violationReportEvidence",
            "title": "protocol(2).pdf",
            "format": "application/pdf",
            "language": "uk"
          },
          {
            "id": "88888888444455556666000000000027",
            "hash": "md5:33333333333333333333333333333333",
            "url": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/violation_reports/88888888444455556666000000000006/decisions/88888888444455556666000000000023/documents/88888888444455556666000000000027?download=8888888844445555666600000000002d",
            "dateModified": "2025-10-16T10:16:06+03:00",
            "datePublished": "2025-10-16T10:16:06+03:00",
            "documentType": "violationReportSignature",
            "title": "sign_1.p7s",
            "format": "application/pkcs7-signature",
            "language": "uk"
          }
        ],
        "dateModified": "2025-10-16T10:16:06+03:00",
        "datePublished": "2025-10-16T10:16:08+03:00",
        "status": "active"
      }
    ]
  }
}

Field status of violation report depends on the decision status now.

Feed violation report updates

Violation reports appear in their feed when the get public changes.

These are:
  1. violationReport is published

  2. defendantStatement is published

  3. decision is published

GET /violation_reports HTTP/1.0
HTTP/1.0 200 OK
Content-Type: application/json; charset=utf-8
X-Request-ID: 88888888-4444-5555-6666-000000000032
Content-Length: 385
{
  "data": [
    {
      "dateModified": "2025-10-16T10:16:08+03:00",
      "id": "88888888444455556666000000000006"
    }
  ],
  "next_page": {
    "offset": "1760598968.0.1.402322bdc529b2a2ba4ee53ba1042c99",
    "path": "/violation_reports?offset=1760598968.0.1.402322bdc529b2a2ba4ee53ba1042c99",
    "uri": "http://public-api-sandbox.prozorro.gov.ua/violation_reports?offset=1760598968.0.1.402322bdc529b2a2ba4ee53ba1042c99"
  }
}

Process objects in data and follow the next_page

GET /violation_reports?offset=1760598968.0.1.402322bdc529b2a2ba4ee53ba1042c99 HTTP/1.0
HTTP/1.0 200 OK
Content-Type: application/json; charset=utf-8
X-Request-ID: 88888888-4444-5555-6666-000000000033
Content-Length: 453
{
  "data": [],
  "next_page": {
    "offset": "1760598968.0.1.402322bdc529b2a2ba4ee53ba1042c99",
    "path": "/violation_reports?offset=1760598968.0.1.402322bdc529b2a2ba4ee53ba1042c99",
    "uri": "http://public-api-sandbox.prozorro.gov.ua/violation_reports?offset=1760598968.0.1.402322bdc529b2a2ba4ee53ba1042c99"
  },
  "prev_page": {
    "offset": "",
    "path": "/violation_reports?descending=1",
    "uri": "http://public-api-sandbox.prozorro.gov.ua/violation_reports?descending=1"
  }
}

Once data is empty make your script sleep for a while and check the same page later.