restrictedDerivatives

Create Framework with restricted access

First create framework with restricted access by Broker. To do this, we need to set restricted_derivatives field to true in config section of framework creation request.

Request

POST /api/2.5/frameworks HTTP/1.0
Authorization: Bearer brokerr
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "frameworkType": "dynamicPurchasingSystem",
    "procuringEntity": {
      "contactPoint": {
        "name": "Державне управління справами",
        "telephone": "+0440000000",
        "email": "aa@aa.com"
      },
      "identifier": {
        "scheme": "UA-EDR",
        "id": "00037256",
        "legalName": "Назва організації"
      },
      "kind": "defense",
      "address": {
        "countryName": "Україна",
        "postalCode": "01220",
        "region": "м. Київ",
        "locality": "м. Київ",
        "streetAddress": "вул. Банкова, 11, корпус 1"
      },
      "name": "Державне управління справами"
    },
    "additionalClassifications": [
      {
        "scheme": "ДК003",
        "id": "17.21.1",
        "description": "папір і картон гофровані, паперова й картонна тара"
      }
    ],
    "classification": {
      "scheme": "ДК021",
      "description": "Mustard seeds",
      "id": "03111600-8"
    },
    "title": "Узагальнена назва закупівлі",
    "description": "Назва предмета закупівлі",
    "qualificationPeriod": {
      "endDate": "2023-12-09T01:00:00+03:00"
    }
  },
  "config": {
    "restrictedDerivatives": true
  }
}

Response

HTTP/1.0 201 Created
Content-Type: application/json
Location: http://lb-api-sandbox.prozorro.gov.ua/api/2.5/frameworks/08238232b095420687b4e273ae56d878

{
  "data": {
    "status": "draft",
    "title": "Узагальнена назва закупівлі",
    "description": "Назва предмета закупівлі",
    "qualificationPeriod": {
      "endDate": "2023-12-09T01:00:00+03:00"
    },
    "classification": {
      "description": "Mustard seeds",
      "scheme": "ДК021",
      "id": "03111600-8"
    },
    "additionalClassifications": [
      {
        "scheme": "ДК003",
        "id": "17.21.1",
        "description": "папір і картон гофровані, паперова й картонна тара"
      }
    ],
    "frameworkType": "dynamicPurchasingSystem",
    "procuringEntity": {
      "name": "Державне управління справами",
      "identifier": {
        "scheme": "UA-EDR",
        "id": "00037256",
        "legalName": "Назва організації"
      },
      "address": {
        "countryName": "Україна",
        "streetAddress": "вул. Банкова, 11, корпус 1",
        "locality": "м. Київ",
        "region": "м. Київ",
        "postalCode": "01220"
      },
      "contactPoint": {
        "name": "Державне управління справами",
        "telephone": "+0440000000",
        "email": "aa@aa.com"
      },
      "kind": "defense"
    },
    "prettyID": "UA-F-2023-10-10-000001",
    "owner": "brokerr",
    "date": "2023-10-10T01:00:00+03:00",
    "dateCreated": "2023-10-10T01:00:00+03:00",
    "dateModified": "2023-10-10T01:00:00+03:00",
    "id": "08238232b095420687b4e273ae56d878"
  },
  "access": {
    "token": "e8b68517319b4d4699c42692c138e6a0",
    "transfer": "dd191aaedece43279902bc8a271edc6f"
  },
  "config": {
    "restrictedDerivatives": true
  }
}

This framework by itself is visible to everyone in public API.

Note

For ProcuringEntity with defense kind restricted_derivatives field will be set to true automatically.

The second step is moving the framework to active status:

Request

PATCH /api/2.5/frameworks/08238232b095420687b4e273ae56d878?acc_token=e8b68517319b4d4699c42692c138e6a0 HTTP/1.0
Authorization: Bearer brokerr
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "status": "active"
  }
}

Response

HTTP/1.0 200 OK
Content-Type: application/json

{
  "data": {
    "prettyID": "UA-F-2023-10-10-000001",
    "title": "Узагальнена назва закупівлі",
    "description": "Назва предмета закупівлі",
    "status": "active",
    "classification": {
      "description": "Mustard seeds",
      "scheme": "ДК021",
      "id": "03111600-8"
    },
    "additionalClassifications": [
      {
        "scheme": "ДК003",
        "id": "17.21.1",
        "description": "папір і картон гофровані, паперова й картонна тара"
      }
    ],
    "owner": "brokerr",
    "date": "2023-10-10T01:00:00+03:00",
    "dateCreated": "2023-10-10T01:00:00+03:00",
    "dateModified": "2023-10-10T01:00:00+03:00",
    "qualificationPeriod": {
      "endDate": "2023-12-09T01:00:00+03:00",
      "startDate": "2023-10-10T01:00:00+03:00"
    },
    "frameworkType": "dynamicPurchasingSystem",
    "procuringEntity": {
      "name": "Державне управління справами",
      "identifier": {
        "scheme": "UA-EDR",
        "id": "00037256",
        "legalName": "Назва організації"
      },
      "address": {
        "countryName": "Україна",
        "streetAddress": "вул. Банкова, 11, корпус 1",
        "locality": "м. Київ",
        "region": "м. Київ",
        "postalCode": "01220"
      },
      "contactPoint": {
        "name": "Державне управління справами",
        "telephone": "+0440000000",
        "email": "aa@aa.com"
      },
      "kind": "defense"
    },
    "enquiryPeriod": {
      "startDate": "2023-10-10T01:00:00+03:00",
      "endDate": "2023-10-25T00:00:00+03:00",
      "clarificationsUntil": "2023-10-28T00:00:00+03:00"
    },
    "period": {
      "startDate": "2023-10-10T01:00:00+03:00",
      "endDate": "2023-11-09T00:00:00+02:00"
    },
    "next_check": "2023-11-08T00:00:00+02:00",
    "id": "08238232b095420687b4e273ae56d878"
  },
  "config": {
    "restrictedDerivatives": true
  }
}

Create and activate Submissions with restricted access

After activating framework, users can register their submissions in period from framework.period.startDate to framework.period.endDate.

Let’s register submission:

Request

POST /api/2.5/submissions HTTP/1.0
Authorization: Bearer brokerr
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "tenderers": [
      {
        "address": {
          "countryName": "Україна",
          "locality": "м. Вінниця",
          "postalCode": "21100",
          "region": "Вінницька область",
          "streetAddress": "вул. Островського, 33"
        },
        "contactPoint": {
          "email": "soleksuk@gmail.com",
          "name": "Сергій Олексюк",
          "telephone": "+380432216930"
        },
        "identifier": {
          "scheme": "UA-EDR",
          "legalName": "Державне комунальне підприємство громадського харчування «Школяр»",
          "id": "00137256",
          "uri": "http://www.sc.gov.ua/"
        },
        "name": "ДКП «Школяр»",
        "scale": "micro"
      }
    ],
    "frameworkID": "08238232b095420687b4e273ae56d878"
  },
  "config": {
    "restricted": true
  }
}

Response

HTTP/1.0 201 Created
Content-Type: application/json
Location: http://lb-api-sandbox.prozorro.gov.ua/api/2.5/submissions/9e7c60f18fc848a2be97320340d21981

{
  "data": {
    "tenderers": [
      {
        "name": "ДКП «Школяр»",
        "scale": "micro",
        "identifier": {
          "scheme": "UA-EDR",
          "id": "00137256",
          "uri": "http://www.sc.gov.ua/",
          "legalName": "Державне комунальне підприємство громадського харчування «Школяр»"
        },
        "address": {
          "countryName": "Україна",
          "streetAddress": "вул. Островського, 33",
          "locality": "м. Вінниця",
          "region": "Вінницька область",
          "postalCode": "21100"
        },
        "contactPoint": {
          "name": "Сергій Олексюк",
          "telephone": "+380432216930",
          "email": "soleksuk@gmail.com"
        }
      }
    ],
    "frameworkID": "08238232b095420687b4e273ae56d878",
    "status": "draft",
    "submissionType": "dynamicPurchasingSystem",
    "owner": "brokerr",
    "date": "2023-10-10T01:00:00+03:00",
    "dateModified": "2023-10-10T01:00:00+03:00",
    "id": "9e7c60f18fc848a2be97320340d21981"
  },
  "access": {
    "token": "dc7c4453beb54122b4a0186f0800f3ef",
    "transfer": "86bb5776bdf5497ba778336cfdaba882"
  },
  "config": {
    "restricted": true
  }
}

You can see that restricted field was set to true in config section of submission creation response.

Next activate submission:

Request

PATCH /api/2.5/submissions/9e7c60f18fc848a2be97320340d21981?acc_token=dc7c4453beb54122b4a0186f0800f3ef HTTP/1.0
Authorization: Bearer brokerr
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "status": "active"
  }
}

Response

HTTP/1.0 200 OK
Content-Type: application/json

{
  "data": {
    "tenderers": [
      {
        "name": "ДКП «Школяр»",
        "scale": "micro",
        "identifier": {
          "scheme": "UA-EDR",
          "id": "00137256",
          "uri": "http://www.sc.gov.ua/",
          "legalName": "Державне комунальне підприємство громадського харчування «Школяр»"
        },
        "address": {
          "countryName": "Україна",
          "streetAddress": "вул. Островського, 33",
          "locality": "м. Вінниця",
          "region": "Вінницька область",
          "postalCode": "21100"
        },
        "contactPoint": {
          "name": "Сергій Олексюк",
          "telephone": "+380432216930",
          "email": "soleksuk@gmail.com"
        }
      }
    ],
    "documents": [
      {
        "id": "686803c789dd4159a7b2c881e5f9de60",
        "datePublished": "2023-10-10T01:00:00+03:00",
        "hash": "md5:00000000000000000000000000000000",
        "title": "укр.doc",
        "format": "application/msword",
        "url": "http://public-docs-sandbox.prozorro.gov.ua/get/881d14f2c96d4d3f969444e886f17d19?Signature=%2BYSWeyuhx29OQCi9wPrrL402c21EiQtIUycwntSEUhH%2FmLNV53qa8lfDWokPNdAUo8tDJOuw1CH2BX58%2Be34AQ%3D%3D&KeyID=a8968c46",
        "dateModified": "2023-10-10T01:00:00+03:00",
        "language": "uk"
      }
    ],
    "frameworkID": "08238232b095420687b4e273ae56d878",
    "status": "active",
    "dateModified": "2023-10-10T01:00:00+03:00",
    "date": "2023-10-10T01:00:00+03:00",
    "owner": "brokerr",
    "submissionType": "dynamicPurchasingSystem",
    "qualificationID": "8e3a5dc35d454c998240d46d1abc2579",
    "datePublished": "2023-10-10T01:00:00+03:00",
    "id": "9e7c60f18fc848a2be97320340d21981"
  },
  "config": {
    "restricted": true
  }
}

Request submissions with restricted access

Let’s check submissions:

Anonymous

Let’s get submission with anonymous request:

Request

GET /api/2.5/submissions/9e7c60f18fc848a2be97320340d21981 HTTP/1.0
Host: public-api-sandbox.prozorro.gov.ua

Response

HTTP/1.0 200 OK
Content-Type: application/json

{
  "data": {
    "tenderers": [
      {
        "name": "ДКП «Школяр»",
        "scale": "micro",
        "identifier": {
          "scheme": "UA-EDR",
          "id": "00137256",
          "uri": "http://www.sc.gov.ua/",
          "legalName": "Державне комунальне підприємство громадського харчування «Школяр»"
        },
        "address": {
          "countryName": "Приховано",
          "streetAddress": "Приховано",
          "locality": "Приховано",
          "region": "Приховано",
          "postalCode": "Приховано"
        },
        "contactPoint": {
          "name": "Приховано",
          "telephone": "Приховано",
          "email": "Приховано"
        }
      }
    ],
    "documents": [
      {
        "id": "686803c789dd4159a7b2c881e5f9de60",
        "datePublished": "2023-10-10T01:00:00+03:00",
        "hash": "md5:00000000000000000000000000000000",
        "title": "Приховано",
        "format": "application/msword",
        "url": "Приховано",
        "dateModified": "2023-10-10T01:00:00+03:00",
        "language": "uk"
      }
    ],
    "frameworkID": "08238232b095420687b4e273ae56d878",
    "status": "active",
    "dateModified": "2023-10-10T01:00:00+03:00",
    "date": "2023-10-10T01:00:00+03:00",
    "owner": "brokerr",
    "submissionType": "dynamicPurchasingSystem",
    "qualificationID": "8e3a5dc35d454c998240d46d1abc2579",
    "datePublished": "2023-10-10T01:00:00+03:00",
    "id": "9e7c60f18fc848a2be97320340d21981"
  },
  "config": {
    "restricted": true
  }
}

We can see that some of it’s fields are masked.

Let’s check submission feed with anonymous request:

Request

GET /api/2.5/submissions?opt_fields=frameworkID,status,documents HTTP/1.0
Host: public-api-sandbox.prozorro.gov.ua

Response

HTTP/1.0 200 OK
Content-Type: application/json

{
  "data": [
    {
      "documents": [
        {
          "id": "686803c789dd4159a7b2c881e5f9de60",
          "datePublished": "2023-10-10T01:00:00+03:00",
          "hash": "md5:00000000000000000000000000000000",
          "title": "Приховано",
          "format": "application/msword",
          "url": "Приховано",
          "dateModified": "2023-10-10T01:00:00+03:00",
          "language": "uk"
        }
      ],
      "frameworkID": "08238232b095420687b4e273ae56d878",
      "status": "active",
      "dateModified": "2023-10-10T01:00:00+03:00",
      "id": "9e7c60f18fc848a2be97320340d21981"
    }
  ],
  "next_page": {
    "offset": 1696888800.0,
    "path": "/api/2.5/submissions?opt_fields=documents%2CframeworkID%2Cstatus&offset=1696888800.0",
    "uri": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/submissions?opt_fields=documents%2CframeworkID%2Cstatus&offset=1696888800.0"
  }
}

Broker

But if we will make a request with broker token, we will see that corresponding fields are not longer masked:

Request

GET /api/2.5/submissions/9e7c60f18fc848a2be97320340d21981 HTTP/1.0
Authorization: Bearer brokerr
Host: public-api-sandbox.prozorro.gov.ua

Response

HTTP/1.0 200 OK
Content-Type: application/json

{
  "data": {
    "tenderers": [
      {
        "name": "ДКП «Школяр»",
        "scale": "micro",
        "identifier": {
          "scheme": "UA-EDR",
          "id": "00137256",
          "uri": "http://www.sc.gov.ua/",
          "legalName": "Державне комунальне підприємство громадського харчування «Школяр»"
        },
        "address": {
          "countryName": "Україна",
          "streetAddress": "вул. Островського, 33",
          "locality": "м. Вінниця",
          "region": "Вінницька область",
          "postalCode": "21100"
        },
        "contactPoint": {
          "name": "Сергій Олексюк",
          "telephone": "+380432216930",
          "email": "soleksuk@gmail.com"
        }
      }
    ],
    "documents": [
      {
        "id": "686803c789dd4159a7b2c881e5f9de60",
        "datePublished": "2023-10-10T01:00:00+03:00",
        "hash": "md5:00000000000000000000000000000000",
        "title": "укр.doc",
        "format": "application/msword",
        "url": "http://public-docs-sandbox.prozorro.gov.ua/get/881d14f2c96d4d3f969444e886f17d19?Signature=%2BYSWeyuhx29OQCi9wPrrL402c21EiQtIUycwntSEUhH%2FmLNV53qa8lfDWokPNdAUo8tDJOuw1CH2BX58%2Be34AQ%3D%3D&KeyID=a8968c46",
        "dateModified": "2023-10-10T01:00:00+03:00",
        "language": "uk"
      }
    ],
    "frameworkID": "08238232b095420687b4e273ae56d878",
    "status": "active",
    "dateModified": "2023-10-10T01:00:00+03:00",
    "date": "2023-10-10T01:00:00+03:00",
    "owner": "brokerr",
    "submissionType": "dynamicPurchasingSystem",
    "qualificationID": "8e3a5dc35d454c998240d46d1abc2579",
    "datePublished": "2023-10-10T01:00:00+03:00",
    "id": "9e7c60f18fc848a2be97320340d21981"
  },
  "config": {
    "restricted": true
  }
}

Let’s check submission feed for broker:

Request

GET /api/2.5/submissions?opt_fields=frameworkID,status,documents HTTP/1.0
Authorization: Bearer brokerr
Host: public-api-sandbox.prozorro.gov.ua

Response

HTTP/1.0 200 OK
Content-Type: application/json

{
  "data": [
    {
      "documents": [
        {
          "id": "686803c789dd4159a7b2c881e5f9de60",
          "datePublished": "2023-10-10T01:00:00+03:00",
          "hash": "md5:00000000000000000000000000000000",
          "title": "укр.doc",
          "format": "application/msword",
          "url": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/submissions/9e7c60f18fc848a2be97320340d21981/documents/686803c789dd4159a7b2c881e5f9de60?download=881d14f2c96d4d3f969444e886f17d19",
          "dateModified": "2023-10-10T01:00:00+03:00",
          "language": "uk"
        }
      ],
      "frameworkID": "08238232b095420687b4e273ae56d878",
      "status": "active",
      "dateModified": "2023-10-10T01:00:00+03:00",
      "id": "9e7c60f18fc848a2be97320340d21981"
    }
  ],
  "next_page": {
    "offset": 1696888800.0,
    "path": "/api/2.5/submissions?opt_fields=documents%2CframeworkID%2Cstatus&offset=1696888800.0",
    "uri": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/submissions?opt_fields=documents%2CframeworkID%2Cstatus&offset=1696888800.0"
  }
}

Request Qualifications with restricted access

Let’s check qualification:

Anonymous

Let’s qualification with anonymous request:

Request

GET /api/2.5/qualifications/8e3a5dc35d454c998240d46d1abc2579 HTTP/1.0
Host: public-api-sandbox.prozorro.gov.ua

Response

HTTP/1.0 200 OK
Content-Type: application/json

{
  "data": {
    "frameworkID": "08238232b095420687b4e273ae56d878",
    "submissionID": "9e7c60f18fc848a2be97320340d21981",
    "qualificationType": "dynamicPurchasingSystem",
    "status": "pending",
    "date": "2023-10-10T01:00:00+03:00",
    "dateModified": "2023-10-10T01:00:00+03:00",
    "documents": [
      {
        "hash": "md5:00000000000000000000000000000000",
        "title": "Приховано",
        "format": "application/msword",
        "url": "Приховано",
        "language": "uk",
        "id": "e38c43db64c3439699a285ec82874d24",
        "datePublished": "2023-10-10T01:00:00+03:00",
        "dateModified": "2023-10-10T01:00:00+03:00"
      }
    ],
    "id": "8e3a5dc35d454c998240d46d1abc2579"
  },
  "config": {
    "restricted": true
  }
}

We can see that some of it’s fields are masked.

Let’s check qualification feed with anonymous request:

Request

GET /api/2.5/qualifications?opt_fields=frameworkID,status,documents HTTP/1.0
Host: public-api-sandbox.prozorro.gov.ua

Response

HTTP/1.0 200 OK
Content-Type: application/json

{
  "data": [
    {
      "frameworkID": "08238232b095420687b4e273ae56d878",
      "status": "pending",
      "dateModified": "2023-10-10T01:00:00+03:00",
      "documents": [
        {
          "hash": "md5:00000000000000000000000000000000",
          "title": "Приховано",
          "format": "application/msword",
          "url": "Приховано",
          "language": "uk",
          "id": "e38c43db64c3439699a285ec82874d24",
          "datePublished": "2023-10-10T01:00:00+03:00",
          "dateModified": "2023-10-10T01:00:00+03:00"
        }
      ],
      "id": "8e3a5dc35d454c998240d46d1abc2579"
    }
  ],
  "next_page": {
    "offset": 1696888800.0,
    "path": "/api/2.5/qualifications?opt_fields=documents%2CframeworkID%2Cstatus&offset=1696888800.0",
    "uri": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/qualifications?opt_fields=documents%2CframeworkID%2Cstatus&offset=1696888800.0"
  }
}

Broker

But if we will make a request with broker token, we will see that corresponding fields are not longer masked:

Request

GET /api/2.5/qualifications/8e3a5dc35d454c998240d46d1abc2579 HTTP/1.0
Authorization: Bearer brokerr
Host: public-api-sandbox.prozorro.gov.ua

Response

HTTP/1.0 200 OK
Content-Type: application/json

{
  "data": {
    "frameworkID": "08238232b095420687b4e273ae56d878",
    "submissionID": "9e7c60f18fc848a2be97320340d21981",
    "qualificationType": "dynamicPurchasingSystem",
    "status": "pending",
    "date": "2023-10-10T01:00:00+03:00",
    "dateModified": "2023-10-10T01:00:00+03:00",
    "documents": [
      {
        "hash": "md5:00000000000000000000000000000000",
        "title": "укр.doc",
        "format": "application/msword",
        "url": "http://public-docs-sandbox.prozorro.gov.ua/get/7b79a13cee8a432da99736d71b78fa04?Signature=uOzXHXf5MxZKG2NuP5QrTcPN8Ruj5bNoTZrSKemffFpnet8SkfmZHAa040aYXPjuzkKhatCU71v%2BzZEZv6RwCQ%3D%3D&KeyID=a8968c46",
        "language": "uk",
        "id": "e38c43db64c3439699a285ec82874d24",
        "datePublished": "2023-10-10T01:00:00+03:00",
        "dateModified": "2023-10-10T01:00:00+03:00"
      }
    ],
    "id": "8e3a5dc35d454c998240d46d1abc2579"
  },
  "config": {
    "restricted": true
  }
}

Let’s check qualification feed for broker:

Request

GET /api/2.5/submissions?opt_fields=frameworkID,status,documents HTTP/1.0
Authorization: Bearer brokerr
Host: public-api-sandbox.prozorro.gov.ua

Response

HTTP/1.0 200 OK
Content-Type: application/json

{
  "data": [
    {
      "documents": [
        {
          "id": "686803c789dd4159a7b2c881e5f9de60",
          "datePublished": "2023-10-10T01:00:00+03:00",
          "hash": "md5:00000000000000000000000000000000",
          "title": "укр.doc",
          "format": "application/msword",
          "url": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/submissions/9e7c60f18fc848a2be97320340d21981/documents/686803c789dd4159a7b2c881e5f9de60?download=881d14f2c96d4d3f969444e886f17d19",
          "dateModified": "2023-10-10T01:00:00+03:00",
          "language": "uk"
        }
      ],
      "frameworkID": "08238232b095420687b4e273ae56d878",
      "status": "active",
      "dateModified": "2023-10-10T01:00:00+03:00",
      "id": "9e7c60f18fc848a2be97320340d21981"
    }
  ],
  "next_page": {
    "offset": 1696888800.0,
    "path": "/api/2.5/submissions?opt_fields=documents%2CframeworkID%2Cstatus&offset=1696888800.0",
    "uri": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/submissions?opt_fields=documents%2CframeworkID%2Cstatus&offset=1696888800.0"
  }
}

Activate Qualifications with restricted access

Let’s check current framework

Request

GET /api/2.5/frameworks/08238232b095420687b4e273ae56d878 HTTP/1.0
Host: public-api-sandbox.prozorro.gov.ua

Response

HTTP/1.0 200 OK
Content-Type: application/json

{
  "data": {
    "prettyID": "UA-F-2023-10-10-000001",
    "title": "Узагальнена назва закупівлі",
    "description": "Назва предмета закупівлі",
    "status": "active",
    "classification": {
      "description": "Mustard seeds",
      "scheme": "ДК021",
      "id": "03111600-8"
    },
    "additionalClassifications": [
      {
        "scheme": "ДК003",
        "id": "17.21.1",
        "description": "папір і картон гофровані, паперова й картонна тара"
      }
    ],
    "owner": "brokerr",
    "date": "2023-10-10T01:00:00+03:00",
    "dateCreated": "2023-10-10T01:00:00+03:00",
    "dateModified": "2023-10-10T01:00:00+03:00",
    "qualificationPeriod": {
      "endDate": "2023-12-09T01:00:00+03:00",
      "startDate": "2023-10-10T01:00:00+03:00"
    },
    "frameworkType": "dynamicPurchasingSystem",
    "procuringEntity": {
      "name": "Державне управління справами",
      "identifier": {
        "scheme": "UA-EDR",
        "id": "00037256",
        "legalName": "Назва організації"
      },
      "address": {
        "countryName": "Україна",
        "streetAddress": "вул. Банкова, 11, корпус 1",
        "locality": "м. Київ",
        "region": "м. Київ",
        "postalCode": "01220"
      },
      "contactPoint": {
        "name": "Державне управління справами",
        "telephone": "+0440000000",
        "email": "aa@aa.com"
      },
      "kind": "defense"
    },
    "enquiryPeriod": {
      "startDate": "2023-10-10T01:00:00+03:00",
      "endDate": "2023-10-25T00:00:00+03:00",
      "clarificationsUntil": "2023-10-28T00:00:00+03:00"
    },
    "period": {
      "startDate": "2023-10-10T01:00:00+03:00",
      "endDate": "2023-11-09T00:00:00+02:00"
    },
    "next_check": "2023-11-08T00:00:00+02:00",
    "agreementID": "84e5a3fd2a244df7af98316bcb7e4b5a",
    "id": "08238232b095420687b4e273ae56d878"
  },
  "config": {
    "restrictedDerivatives": true
  }
}

Let’s activate qualification:

Request

PATCH /api/2.5/qualifications/8e3a5dc35d454c998240d46d1abc2579?acc_token=e8b68517319b4d4699c42692c138e6a0 HTTP/1.0
Authorization: Bearer brokerr
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "status": "active"
  }
}

Response

HTTP/1.0 200 OK
Content-Type: application/json

{
  "data": {
    "documents": [
      {
        "id": "e38c43db64c3439699a285ec82874d24",
        "datePublished": "2023-10-10T01:00:00+03:00",
        "hash": "md5:00000000000000000000000000000000",
        "title": "укр.doc",
        "format": "application/msword",
        "url": "http://public-docs-sandbox.prozorro.gov.ua/get/7b79a13cee8a432da99736d71b78fa04?Signature=uOzXHXf5MxZKG2NuP5QrTcPN8Ruj5bNoTZrSKemffFpnet8SkfmZHAa040aYXPjuzkKhatCU71v%2BzZEZv6RwCQ%3D%3D&KeyID=a8968c46",
        "dateModified": "2023-10-10T01:00:00+03:00",
        "language": "uk"
      }
    ],
    "submissionID": "9e7c60f18fc848a2be97320340d21981",
    "frameworkID": "08238232b095420687b4e273ae56d878",
    "status": "active",
    "date": "2023-10-10T01:00:00+03:00",
    "dateModified": "2023-10-10T01:00:00+03:00",
    "qualificationType": "dynamicPurchasingSystem",
    "id": "8e3a5dc35d454c998240d46d1abc2579"
  },
  "config": {
    "restricted": true
  }
}

You can see that agreementID appeared in current framework, so let’s check that agreement.

Request Agreement with restricted access

Let’s check agreement:

Anonymous

Let’s get agreement with anonymous request:

Request

GET /api/2.5/agreements/84e5a3fd2a244df7af98316bcb7e4b5a HTTP/1.0
Host: public-api-sandbox.prozorro.gov.ua

Response

HTTP/1.0 200 OK
Content-Type: application/json

{
  "data": {
    "agreementID": "UA-2023-10-10-000001",
    "frameworkID": "08238232b095420687b4e273ae56d878",
    "agreementType": "dynamicPurchasingSystem",
    "status": "active",
    "period": {
      "startDate": "2023-10-10T01:00:00+03:00",
      "endDate": "2023-12-09T01:00:00+03:00"
    },
    "procuringEntity": {
      "name": "Державне управління справами",
      "identifier": {
        "scheme": "UA-EDR",
        "id": "00037256",
        "legalName": "Назва організації"
      },
      "address": {
        "countryName": "Україна",
        "streetAddress": "вул. Банкова, 11, корпус 1",
        "locality": "м. Київ",
        "region": "м. Київ",
        "postalCode": "01220"
      },
      "contactPoint": {
        "name": "Державне управління справами",
        "telephone": "+0440000000",
        "email": "aa@aa.com"
      },
      "kind": "defense"
    },
    "classification": {
      "description": "Mustard seeds",
      "scheme": "ДК021",
      "id": "03111600-8"
    },
    "additionalClassifications": [
      {
        "scheme": "ДК003",
        "id": "17.21.1",
        "description": "папір і картон гофровані, паперова й картонна тара"
      }
    ],
    "contracts": [
      {
        "id": "98ef4c690e3242c9a78962b45048318c",
        "qualificationID": "8e3a5dc35d454c998240d46d1abc2579",
        "submissionID": "9e7c60f18fc848a2be97320340d21981",
        "status": "active",
        "suppliers": [
          {
            "name": "ДКП «Школяр»",
            "scale": "micro",
            "identifier": {
              "scheme": "UA-EDR",
              "id": "00137256",
              "uri": "http://www.sc.gov.ua/",
              "legalName": "Державне комунальне підприємство громадського харчування «Школяр»"
            },
            "address": {
              "countryName": "Приховано",
              "streetAddress": "Приховано",
              "locality": "Приховано",
              "region": "Приховано",
              "postalCode": "Приховано"
            },
            "contactPoint": {
              "name": "Приховано",
              "telephone": "Приховано",
              "email": "Приховано"
            }
          }
        ],
        "milestones": [
          {
            "id": "9ee9f2e3e6334b899e5ec39abb574553",
            "status": "scheduled",
            "type": "activation",
            "dueDate": "2023-12-09T01:00:00+03:00",
            "dateModified": "2023-10-10T01:00:00+03:00"
          }
        ],
        "date": "2023-10-10T01:00:00+03:00"
      }
    ],
    "owner": "brokerr",
    "dateModified": "2023-10-10T01:00:00+03:00",
    "date": "2023-10-10T01:00:00+03:00",
    "next_check": "2023-12-09T01:00:00+03:00",
    "dateCreated": "2023-10-10T01:00:00+03:00",
    "id": "84e5a3fd2a244df7af98316bcb7e4b5a"
  },
  "config": {
    "restricted": true
  }
}

We can see that some of it’s fields are masked.

Let’s check agreement feed with anonymous request:

Request

GET /api/2.5/agreements?opt_fields=status,procuringEntity HTTP/1.0
Host: public-api-sandbox.prozorro.gov.ua

Response

HTTP/1.0 200 OK
Content-Type: application/json

{
  "data": [
    {
      "status": "active",
      "procuringEntity": {
        "name": "Державне управління справами",
        "identifier": {
          "scheme": "UA-EDR",
          "id": "00037256",
          "legalName": "Назва організації"
        },
        "address": {
          "countryName": "Україна",
          "streetAddress": "вул. Банкова, 11, корпус 1",
          "locality": "м. Київ",
          "region": "м. Київ",
          "postalCode": "01220"
        },
        "contactPoint": {
          "name": "Державне управління справами",
          "telephone": "+0440000000",
          "email": "aa@aa.com"
        },
        "kind": "defense"
      },
      "dateModified": "2023-10-10T01:00:00+03:00",
      "id": "84e5a3fd2a244df7af98316bcb7e4b5a"
    }
  ],
  "next_page": {
    "offset": 1696888800.0,
    "path": "/api/2.5/agreements?opt_fields=procuringEntity%2Cstatus&offset=1696888800.0",
    "uri": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/agreements?opt_fields=procuringEntity%2Cstatus&offset=1696888800.0"
  }
}

Broker

But if we will make a request with broker token, we will see that corresponding fields are not longer masked:

Request

GET /api/2.5/agreements/84e5a3fd2a244df7af98316bcb7e4b5a HTTP/1.0
Authorization: Bearer brokerr
Host: public-api-sandbox.prozorro.gov.ua

Response

HTTP/1.0 200 OK
Content-Type: application/json

{
  "data": {
    "agreementID": "UA-2023-10-10-000001",
    "frameworkID": "08238232b095420687b4e273ae56d878",
    "agreementType": "dynamicPurchasingSystem",
    "status": "active",
    "period": {
      "startDate": "2023-10-10T01:00:00+03:00",
      "endDate": "2023-12-09T01:00:00+03:00"
    },
    "procuringEntity": {
      "name": "Державне управління справами",
      "identifier": {
        "scheme": "UA-EDR",
        "id": "00037256",
        "legalName": "Назва організації"
      },
      "address": {
        "countryName": "Україна",
        "streetAddress": "вул. Банкова, 11, корпус 1",
        "locality": "м. Київ",
        "region": "м. Київ",
        "postalCode": "01220"
      },
      "contactPoint": {
        "name": "Державне управління справами",
        "telephone": "+0440000000",
        "email": "aa@aa.com"
      },
      "kind": "defense"
    },
    "classification": {
      "description": "Mustard seeds",
      "scheme": "ДК021",
      "id": "03111600-8"
    },
    "additionalClassifications": [
      {
        "scheme": "ДК003",
        "id": "17.21.1",
        "description": "папір і картон гофровані, паперова й картонна тара"
      }
    ],
    "contracts": [
      {
        "id": "98ef4c690e3242c9a78962b45048318c",
        "qualificationID": "8e3a5dc35d454c998240d46d1abc2579",
        "submissionID": "9e7c60f18fc848a2be97320340d21981",
        "status": "active",
        "suppliers": [
          {
            "name": "ДКП «Школяр»",
            "scale": "micro",
            "identifier": {
              "scheme": "UA-EDR",
              "id": "00137256",
              "uri": "http://www.sc.gov.ua/",
              "legalName": "Державне комунальне підприємство громадського харчування «Школяр»"
            },
            "address": {
              "countryName": "Україна",
              "streetAddress": "вул. Островського, 33",
              "locality": "м. Вінниця",
              "region": "Вінницька область",
              "postalCode": "21100"
            },
            "contactPoint": {
              "name": "Сергій Олексюк",
              "telephone": "+380432216930",
              "email": "soleksuk@gmail.com"
            }
          }
        ],
        "milestones": [
          {
            "id": "9ee9f2e3e6334b899e5ec39abb574553",
            "status": "scheduled",
            "type": "activation",
            "dueDate": "2023-12-09T01:00:00+03:00",
            "dateModified": "2023-10-10T01:00:00+03:00"
          }
        ],
        "date": "2023-10-10T01:00:00+03:00"
      }
    ],
    "owner": "brokerr",
    "dateModified": "2023-10-10T01:00:00+03:00",
    "date": "2023-10-10T01:00:00+03:00",
    "next_check": "2023-12-09T01:00:00+03:00",
    "dateCreated": "2023-10-10T01:00:00+03:00",
    "id": "84e5a3fd2a244df7af98316bcb7e4b5a"
  },
  "config": {
    "restricted": true
  }
}

Let’s check agreement feed for broker:

Request

GET /api/2.5/agreements?opt_fields=status,procuringEntity HTTP/1.0
Authorization: Bearer brokerr
Host: public-api-sandbox.prozorro.gov.ua

Response

HTTP/1.0 200 OK
Content-Type: application/json

{
  "data": [
    {
      "status": "active",
      "procuringEntity": {
        "name": "Державне управління справами",
        "identifier": {
          "scheme": "UA-EDR",
          "id": "00037256",
          "legalName": "Назва організації"
        },
        "address": {
          "countryName": "Україна",
          "streetAddress": "вул. Банкова, 11, корпус 1",
          "locality": "м. Київ",
          "region": "м. Київ",
          "postalCode": "01220"
        },
        "contactPoint": {
          "name": "Державне управління справами",
          "telephone": "+0440000000",
          "email": "aa@aa.com"
        },
        "kind": "defense"
      },
      "dateModified": "2023-10-10T01:00:00+03:00",
      "id": "84e5a3fd2a244df7af98316bcb7e4b5a"
    }
  ],
  "next_page": {
    "offset": 1696888800.0,
    "path": "/api/2.5/agreements?opt_fields=procuringEntity%2Cstatus&offset=1696888800.0",
    "uri": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/agreements?opt_fields=procuringEntity%2Cstatus&offset=1696888800.0"
  }
}

Masking rules

Note

Rules are made of JSONPath expressions. For more info read JSONPath specification.

Rules for submission masking:

path

value

$.tenderers[*].address.streetAddress

Приховано

$.tenderers[*].address.locality

Приховано

$.tenderers[*].address.region

Приховано

$.tenderers[*].address.postalCode

Приховано

$.tenderers[*].address.countryName

Приховано

$.tenderers[*].address.countryName_en

Hidden

$.tenderers[*].address.countryName_ru

Приховано

$.tenderers[*].contactPoint.telephone

Приховано

$.tenderers[*].contactPoint.email

Приховано

$.tenderers[*].contactPoint.faxNumber

Приховано

$.tenderers[*].contactPoint.url

Приховано

$.tenderers[*].contactPoint.name

Приховано

$.tenderers[*].contactPoint.name_en

Hidden

$.tenderers[*].contactPoint.name_ru

Приховано

$..documents[*].title

Приховано

$..documents[*].url

Приховано

Rules for qualification masking:

path

value

$..documents[*].title

Приховано

$..documents[*].url

Приховано

Rules for agreement masking:

path

value

$.contracts[*].suppliers[*].address.streetAddress

Приховано

$.contracts[*].suppliers[*].address.locality

Приховано

$.contracts[*].suppliers[*].address.region

Приховано

$.contracts[*].suppliers[*].address.postalCode

Приховано

$.contracts[*].suppliers[*].address.countryName

Приховано

$.contracts[*].suppliers[*].address.countryName_en

Hidden

$.contracts[*].suppliers[*].address.countryName_ru

Приховано

$.contracts[*].suppliers[*].contactPoint.telephone

Приховано

$.contracts[*].suppliers[*].contactPoint.email

Приховано

$.contracts[*].suppliers[*].contactPoint.faxNumber

Приховано

$.contracts[*].suppliers[*].contactPoint.url

Приховано

$.contracts[*].suppliers[*].contactPoint.name

Приховано

$.contracts[*].suppliers[*].contactPoint.name_en

Hidden

$.contracts[*].suppliers[*].contactPoint.name_ru

Приховано

$.contracts[*].suppliers[*].additionalContactPoints[*].telephone

Приховано

$.contracts[*].suppliers[*].additionalContactPoints[*].email

Приховано

$.contracts[*].suppliers[*].additionalContactPoints[*].faxNumber

Приховано

$.contracts[*].suppliers[*].additionalContactPoints[*].url

Приховано

$.contracts[*].suppliers[*].additionalContactPoints[*].name

Приховано

$.contracts[*].suppliers[*].additionalContactPoints[*].name_en

Hidden

$.contracts[*].suppliers[*].additionalContactPoints[*].name_ru

Приховано

$..documents[*].title

Приховано

$..documents[*].url

Приховано