{"openapi":"3.1.0","info":{"title":"PPWR Link API","version":"1.0.0","description":"PPWR Link API connects packaging, documents and events with store, ERP or WMS workflows. An operation is an HTTP method and path, not a separate business module. Implement the areas your integration needs; the specialised PPWR registers are optional for other workflows. Documentation is public; organisation data requires a key.\n\nPPWR Link organization API. Resource identifiers are UUIDs. Each key belongs to one organization; both token abilities and user permissions apply. Writes require Idempotency-Key unless stated otherwise. Send decimal masses as strings. Assessment status is not automatic certification of compliance.\n\n## Before your first request\n1. Create a separate integration key under Administration \u2192 Organizations \u2192 API keys. A key belongs to a user and one organisation. Token scope, organisation permission, active membership, verified email and any MFA\/IP policy must all pass. An owner role does not bypass token scopes.\n2. Send `GET \/organizations` with `Authorization: Bearer <key>` and `Accept: application\/json`. Use `data[0].id` as `organizationId`, not a company slug or numeric ID. API calls require no session, cookies or CSRF token.\n3. Retrieve `\/organizations\/{organizationId}\/dictionaries` for material, country and published rule codes. Consult each operation schema for its enums.\n4. Use `Content-Type: application\/json` for JSON. Uploads use `multipart\/form-data` with the file in `file`; let the HTTP library generate the boundary. Set `X-Locale: pl|en` for messages.\n\n## Formats and dependencies\n- Detail reads return a plain object. Most lists return `data`, `links.next` and `requestId`. Follow `links.next` until null. BDO sources instead use `page`, `total` and `summary`; the organisation list is not paginated.\n- IDs and resource references are public UUIDs. `catalogItemId` identifies packaging; `recordId` identifies the resource in the URL. `parentId` can be a report, not packaging. References must be accessible within the key\u2019s organisation, except explicit passport sharing.\n- Catalogue fields use camelCase (`massG`, `internalCode`, `stockUnit`); most other resources use snake_case. Follow the schema exactly. Document `version`, record `revision` and historical `data_version` are distinct values.\n- Use decimal points. Masses typed as strings must be JSON strings. Packaging mass is grams per base unit. Base units: `piece`, `m`, `m2`, `kg`, `l`, `m3`. Retrieve item-specific conversions from `\/inventory`. Do not use `pcs` instead of `piece`. Dimension units are included in field names (`length_mm`, `thickness_um`).\n- Replace example UUIDs, revisions and hashes with actual API values. Synthetic references will not work. Event dates represent actual activity dates; check `before_or_equal:today` constraints.\n\n## Writes, retries and statuses\n- Supply `Idempotency-Key` where the operation lists it. Store a random 16\u2013100 character key with the payload. After a timeout retry the same operation, payload and key. A different body with the same key returns 409. Replays represent the original response; use GET for current state.\n- Catalogue PATCH uses `If-Match` from the latest GET ETag. Other operations use `revision`, `catalog_revision` or `market_revision`. Never increment revisions yourself. On conflict fetch current state and reconcile the change.\n- 200: completed read\/action; 201: record created; 202: queued work accepted. File uploads may return 201 before scanning completes. Document review and file processing have separate statuses.\n- 401: invalid\/missing key; 403: scope, role, IP or access policy; 404: missing or inaccessible resource; 409: revision\/configuration\/idempotency conflict; 422: field or business validation; 429: rate limit, honour `Retry-After`; 500: reconcile current state and retry with the same idempotency key. Errors contain `error.code`, `error.message`, `error.fields`, `error.requestId`. Keep `X-Request-ID` for support. General limit: 120 requests\/minute per user; packing recommendations additionally 10\/minute.\n\n## Interface boundaries\nOnly listed methods are exposed; do not assume matching PUT\/DELETE endpoints exist. User, role, key and webhook configuration management remains in the panel. OpenAPI `webhooks` describes outbound events, not webhook configuration endpoints. This API does not collect\/refund deposits or automatically file annual BDO reports. An internal record\/review is not an authority decision. Each area documents its own limitations.\n\n## Receiving webhooks\n\nAn authorised user configures the HTTPS endpoint, events and signing secret under Administration \u2192 Integrations. Verify X-PPWR-Signature as t=TIMESTAMP,v1=HEX: HMAC-SHA256 over timestamp + dot + raw body, using the complete whsec_\u2026 secret without decoding. Compare in constant time and allow at most 300 seconds of clock skew. Durably deduplicate on body event id, validate schema_version and organization_id, and return 2xx only after enqueueing durably. Ordering is not guaranteed. Retries keep event id\/body but use fresh signatures. Fetch changed resource state through the API; events do not carry complete document contents. See the contract\u2019s Webhooks section for payload schema and event types.","contact":{"name":"PPWR Link","email":"kontakt@ppwrlink.pl","url":"https:\/\/ppwrlink.pl\/en\/contact"}},"servers":[{"url":"https:\/\/ppwrlink.pl\/api\/v1"}],"security":[{"bearerAuth":[]}],"paths":{"\/organizations":{"get":{"operationId":"organizations_list","x-module":"organizations","x-action":"list","tags":["Start and dictionaries"],"summary":"Organization ID for API requests","responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"slug":{"type":"string"},"status":{"type":"string"}}}},"requestId":{"type":"string"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"description":"An organisation is an access boundary. A key exposes only its assigned organisation; this resource does not create organisations or memberships.\n\nStart here: retain data[0].id as organizationId. Requires a valid permitted key, without an additional module scope."}},"\/organizations\/{organizationId}\/assessments":{"get":{"operationId":"assessments_list","x-module":"assessments","x-action":"list","tags":["PPWR assessments and technical evidence"],"summary":"Assessments \u2014 List","description":"An assessment combines packaging, market scenario, date and rule set. It differs from a specialised PPWR technical record. Review status and result freshness are separate.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: assessments:read. Organization permission: assessments.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}},{"name":"item","in":"query","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/Assessment"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"assessments:read","x-organization-permission":"assessments.view"},"post":{"operationId":"assessments_create","x-module":"assessments","x-action":"create","tags":["PPWR assessments and technical evidence"],"summary":"Assessments \u2014 Create","description":"An assessment combines packaging, market scenario, date and rule set. It differs from a specialised PPWR technical record. Review status and result freshness are separate.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nToken ability: assessments:run. Organization permission: assessments.run.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Assessment"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"assessments:run","x-organization-permission":"assessments.run","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AssessmentsCreateInput"}}}}}},"\/organizations\/{organizationId}\/assessments\/{recordId}":{"get":{"operationId":"assessments_show","x-module":"assessments","x-action":"show","tags":["PPWR assessments and technical evidence"],"summary":"Assessments \u2014 Show","description":"An assessment combines packaging, market scenario, date and rule set. It differs from a specialised PPWR technical record. Review status and result freshness are separate.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: assessments:read. Organization permission: assessments.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Assessment"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"assessments:read","x-organization-permission":"assessments.view"}},"\/organizations\/{organizationId}\/assessments\/{recordId}\/review":{"post":{"operationId":"assessments_review","x-module":"assessments","x-action":"review","tags":["PPWR assessments and technical evidence"],"summary":"Assessments \u2014 Review","description":"An assessment combines packaging, market scenario, date and rule set. It differs from a specialised PPWR technical record. Review status and result freshness are separate.\n\nRecord a review decision and reason. Read the record afterwards for its status. This is an internal register decision.\n\nToken ability: assessments:review. Organization permission: assessments.publish.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Assessment"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"assessments:review","x-organization-permission":"assessments.publish","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AssessmentsReviewInput"}}}}}},"\/organizations\/{organizationId}\/audit-log":{"get":{"operationId":"audit_log_list","x-module":"audit-log","x-action":"list","tags":["Cases, submissions and audit"],"summary":"Audit log \u2014 List","description":"Organisation audit events with date filters and secret redaction. An audit trail, not a replay or arbitrary undo interface.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: audit:read. Organization permission: audit.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}},{"name":"from","in":"query","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"type":"object","additionalProperties":true}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"audit:read","x-organization-permission":"audit.view"}},"\/organizations\/{organizationId}\/bdo-reports":{"post":{"operationId":"bdo_reports_create","x-module":"bdo-reports","x-action":"create","tags":["Reports, EPR, BDO and recycled content"],"summary":"Bdo reports \u2014 Create","description":"BDO packaging report preparation: sources, classification, snapshot and export. Does not automatically file the annual BDO report or pay fees.\n\nCreate a frozen report from the year\u2019s sources\/classifications. 201 returns a ReportRun with prepared or needs_review, not queued. settlement_mode controls settlement; not_calculated skips fee calculation. Providing sources\/settlement inputs does not submit to BDO.\n\nToken ability: reports:run. Organization permission: reports.export.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ReportRun"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"reports:run","x-organization-permission":"reports.export","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BdoReportsCreateInput"}}}}}},"\/organizations\/{organizationId}\/bdo-reports\/classifications":{"post":{"operationId":"bdo_reports_classify","x-module":"bdo-reports","x-action":"classify","tags":["Reports, EPR, BDO and recycled content"],"summary":"Bdo reports \u2014 Classify","description":"BDO packaging report preparation: sources, classification, snapshot and export. Does not automatically file the annual BDO report or pay fees.\n\nClassify a source for reporting. Does not modify an existing frozen report; create a new report after classification changes. sources contains flow:UUID or supply:UUID keys from GET sources, not packaging UUIDs.\n\nToken ability: reports:run. Organization permission: reports.export.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Acknowledgement"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"reports:run","x-organization-permission":"reports.export","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BdoReportsClassifyInput"}}}}}},"\/organizations\/{organizationId}\/bdo-reports\/sources":{"get":{"operationId":"bdo_reports_rows","x-module":"bdo-reports","x-action":"rows","tags":["Reports, EPR, BDO and recycled content"],"summary":"Bdo reports \u2014 Rows","description":"BDO packaging report preparation: sources, classification, snapshot and export. Does not automatically file the annual BDO report or pay fees.\n\nRetrieve source data for the requested period; follow this operation\u2019s pagination parameters.\n\nToken ability: reports:read. Organization permission: reports.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"year","in":"query","required":true,"schema":{"type":"integer","minimum":2024,"maximum":2026}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"reports:read","x-organization-permission":"reports.view"}},"\/organizations\/{organizationId}\/bdo-reports\/{recordId}":{"get":{"operationId":"bdo_reports_snapshot","x-module":"bdo-reports","x-action":"snapshot","tags":["Reports, EPR, BDO and recycled content"],"summary":"Bdo reports \u2014 Snapshot","description":"BDO packaging report preparation: sources, classification, snapshot and export. Does not automatically file the annual BDO report or pay fees.\n\nRetrieve the stored snapshot associated with this record. Current catalogue changes do not automatically recalculate it.\n\nToken ability: reports:read. Organization permission: reports.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"reports:read","x-organization-permission":"reports.view"}},"\/organizations\/{organizationId}\/bdo-reports\/{recordId}\/download":{"get":{"operationId":"bdo_reports_download","x-module":"bdo-reports","x-action":"download","tags":["Reports, EPR, BDO and recycled content"],"summary":"Bdo reports \u2014 Download","description":"BDO packaging report preparation: sources, classification, snapshot and export. Does not automatically file the annual BDO report or pay fees.\n\nDownload a binary file, not JSON. Errors still return JSON; check HTTP status and Content-Type before saving the response.\n\nToken ability: reports:read. Organization permission: reports.export.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"format","in":"query","schema":{"type":"string","enum":["xlsx","json"],"default":"xlsx"}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"reports:read","x-organization-permission":"reports.export"}},"\/organizations\/{organizationId}\/carbon-calculations":{"get":{"operationId":"carbon_calculations_list","x-module":"carbon-calculations","x-action":"list","tags":["Factors and material carbon footprint"],"summary":"Carbon calculations \u2014 List","description":"Material-acquisition carbon calculation for an item or set using explicit factors. Not a complete transport, energy and end-of-life LCA. incomplete has total_kg_co2e=null.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: reports:read. Organization permission: reports.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}},{"name":"subject","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"type","in":"query","schema":{"type":"string","enum":["item","system"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/CarbonCalculation"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"reports:read","x-organization-permission":"reports.view"},"post":{"operationId":"carbon_calculations_create","x-module":"carbon-calculations","x-action":"create","tags":["Factors and material carbon footprint"],"summary":"Carbon calculations \u2014 Create","description":"Material-acquisition carbon calculation for an item or set using explicit factors. Not a complete transport, energy and end-of-life LCA. incomplete has total_kg_co2e=null.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nToken ability: reports:run. Organization permission: reports.export.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CarbonCalculation"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"reports:run","x-organization-permission":"reports.export","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CarbonCalculationsCreateInput"}}}}}},"\/organizations\/{organizationId}\/carbon-calculations\/{recordId}":{"get":{"operationId":"carbon_calculations_show","x-module":"carbon-calculations","x-action":"show","tags":["Factors and material carbon footprint"],"summary":"Carbon calculations \u2014 Show","description":"Material-acquisition carbon calculation for an item or set using explicit factors. Not a complete transport, energy and end-of-life LCA. incomplete has total_kg_co2e=null.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: reports:read. Organization permission: reports.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CarbonCalculation"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"reports:read","x-organization-permission":"reports.view"}},"\/organizations\/{organizationId}\/carbon-factors":{"get":{"operationId":"carbon_factors_list","x-module":"carbon-factors","x-action":"list","tags":["Factors and material carbon footprint"],"summary":"Emission factors \u2014 List","description":"Sources and versioned emission factors for calculations. Custom factors require units, scope and source; archiving does not change historical results.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: reports:read. Organization permission: reports.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}},{"name":"active","in":"query","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/CarbonEmissionFactor"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"reports:read","x-organization-permission":"reports.view"},"post":{"operationId":"carbon_factors_create","x-module":"carbon-factors","x-action":"create","tags":["Factors and material carbon footprint"],"summary":"Emission factors \u2014 Create","description":"Sources and versioned emission factors for calculations. Custom factors require units, scope and source; archiving does not change historical results.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nToken ability: reports:run. Organization permission: reports.export.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CarbonEmissionFactor"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"reports:run","x-organization-permission":"reports.export","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CarbonFactorsCreateInput"}}}}}},"\/organizations\/{organizationId}\/carbon-factors\/reference":{"get":{"operationId":"carbon_factors_reference","x-module":"carbon-factors","x-action":"reference","tags":["Factors and material carbon footprint"],"summary":"Emission factors \u2014 Reference catalogue","description":"Sources and versioned emission factors for calculations. Custom factors require units, scope and source; archiving does not change historical results.\n\nRetrieve reference factors\/scopes\/units before selecting factors. Do not assume every material has an available factor for each region\/period.\n\nToken ability: reports:read. Organization permission: reports.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"reports:read","x-organization-permission":"reports.view"}},"\/organizations\/{organizationId}\/carbon-factors\/{recordId}":{"get":{"operationId":"carbon_factors_show","x-module":"carbon-factors","x-action":"show","tags":["Factors and material carbon footprint"],"summary":"Emission factors \u2014 Show","description":"Sources and versioned emission factors for calculations. Custom factors require units, scope and source; archiving does not change historical results.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: reports:read. Organization permission: reports.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CarbonEmissionFactor"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"reports:read","x-organization-permission":"reports.view"}},"\/organizations\/{organizationId}\/carbon-factors\/{recordId}\/archive":{"post":{"operationId":"carbon_factors_archive","x-module":"carbon-factors","x-action":"archive","tags":["Factors and material carbon footprint"],"summary":"Emission factors \u2014 Archive","description":"Sources and versioned emission factors for calculations. Custom factors require units, scope and source; archiving does not change historical results.\n\nArchive the record while retaining history. Do not select archived resources for new work.\n\nToken ability: reports:run. Organization permission: reports.export.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CarbonEmissionFactor"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"reports:run","x-organization-permission":"reports.export","requestBody":{"required":false,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CarbonFactorsArchiveInput"}}}}}},"\/organizations\/{organizationId}\/catalog-items":{"get":{"operationId":"catalog_list","x-module":"catalog","x-action":"list","tags":["Packaging catalogue and structure"],"summary":"Catalog \u2014 List","description":"A record for one packaging\/material type, such as a box, tape or film. Not a store product or individual shipment. Components, documents, markets and movements are separate resources.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: catalog:read. Organization permission: catalog.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}},{"name":"filter","in":"query","schema":{"type":"string","maxLength":255}},{"name":"folder","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"archived","in":"query","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/CatalogItem"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:read","x-organization-permission":"catalog.view"},"post":{"operationId":"catalog_create","x-module":"catalog","x-action":"create","tags":["Packaging catalogue and structure"],"summary":"Catalog \u2014 Create","description":"A record for one packaging\/material type, such as a box, tape or film. Not a store product or individual shipment. Components, documents, markets and movements are separate resources.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nToken ability: catalog:write. Organization permission: catalog.create.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CatalogItem"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:write","x-organization-permission":"catalog.create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CatalogCreateInput"},"examples":{"workflow":{"summary":"Integration example","description":"This illustrates structure. Replace UUIDs, revisions, dates and configuration_hash with real values; units and materials must match the packaging configuration.","value":{"internalCode":"BOX-001","name":"Shipping box","sourcingType":"purchased","massG":"240","mainMaterialCode":"corrugated_cardboard","stockUnit":"piece","stockTracked":true,"foodContactStatus":"no","reuseType":"single_use"}}}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}":{"get":{"operationId":"catalog_show","x-module":"catalog","x-action":"show","tags":["Packaging catalogue and structure"],"summary":"Catalog \u2014 Show","description":"A record for one packaging\/material type, such as a box, tape or film. Not a store product or individual shipment. Components, documents, markets and movements are separate resources.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: catalog:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CatalogItem"}}},"headers":{"ETag":{"description":"Current revision","schema":{"type":"string"},"example":"\"1\""}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:read","x-organization-permission":"catalog.view"},"patch":{"operationId":"catalog_update","x-module":"catalog","x-action":"update","tags":["Packaging catalogue and structure"],"summary":"Catalog \u2014 Update","description":"A record for one packaging\/material type, such as a box, tape or film. Not a store product or individual shipment. Components, documents, markets and movements are separate resources.\n\nUpdate this record with its required revision check. Consult the schema: PUT does not imply omitted fields are deleted.\n\nToken ability: catalog:write. Organization permission: catalog.update.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"},"example":"\"1\""}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CatalogItem"}}},"headers":{"ETag":{"description":"Current revision","schema":{"type":"string"},"example":"\"1\""}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:write","x-organization-permission":"catalog.update","requestBody":{"required":false,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CatalogUpdateInput"},"examples":{"workflow":{"summary":"Integration example","description":"This illustrates structure. Replace UUIDs, revisions, dates and configuration_hash with real values; units and materials must match the packaging configuration.","value":{"name":"Shipping box 300 \u00d7 200 \u00d7 150 mm"}}}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/archive":{"post":{"operationId":"catalog_archive","x-module":"catalog","x-action":"archive","tags":["Packaging catalogue and structure"],"summary":"Catalog \u2014 Archive","description":"A record for one packaging\/material type, such as a box, tape or film. Not a store product or individual shipment. Components, documents, markets and movements are separate resources.\n\nArchive the record while retaining history. Do not select archived resources for new work.\n\nToken ability: catalog:write. Organization permission: catalog.archive.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Acknowledgement"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:write","x-organization-permission":"catalog.archive","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CatalogArchiveInput"}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/components":{"get":{"operationId":"components_list","x-module":"components","x-action":"list","tags":["Packaging catalogue and structure"],"summary":"Components \u2014 List","description":"Components belong to one packaging item and carry material\/specification data. They are not shipping recipe lines. Adding a component changes the catalogue revision and assessment freshness.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: catalog:read. Organization permission: catalog.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/Component"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:read","x-organization-permission":"catalog.view"},"post":{"operationId":"components_create","x-module":"components","x-action":"create","tags":["Packaging catalogue and structure"],"summary":"Components \u2014 Create","description":"Components belong to one packaging item and carry material\/specification data. They are not shipping recipe lines. Adding a component changes the catalogue revision and assessment freshness.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nToken ability: catalog:write. Organization permission: catalog.update.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Component"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:write","x-organization-permission":"catalog.update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ComponentsCreateInput"}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/components\/{recordId}":{"get":{"operationId":"components_show","x-module":"components","x-action":"show","tags":["Packaging catalogue and structure"],"summary":"Components \u2014 Show","description":"Components belong to one packaging item and carry material\/specification data. They are not shipping recipe lines. Adding a component changes the catalogue revision and assessment freshness.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: catalog:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Component"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/data-versions":{"get":{"operationId":"data_versions_list","x-module":"data-versions","x-action":"list","tags":["Packaging catalogue and structure"],"summary":"Packaging data history \u2014 List","description":"Immutable historical packaging basis: revision, specifications, components and hash. The public projection excludes private documents and facts. data_version is not a current revision number.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: catalog:read. Organization permission: catalog.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PackagingDataVersion"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/data-versions\/{recordId}":{"get":{"operationId":"data_versions_show","x-module":"data-versions","x-action":"show","tags":["Packaging catalogue and structure"],"summary":"Packaging data history \u2014 Show","description":"Immutable historical packaging basis: revision, specifications, components and hash. The public projection excludes private documents and facts. data_version is not a current revision number.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: catalog:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PackagingDataVersion"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/generated-documents":{"post":{"operationId":"documents_generate","x-module":"documents","x-action":"generate","tags":["Files, evidence and links"],"summary":"Documents \u2014 Generate","description":"A document contains metadata linked to packaging; files and review belong to specific versions. Upload, scanning, AI analysis and data acceptance are separate steps.\n\nGenerate a supported document kind from the item\/catalog_revision. Prerequisites depend on kind; a declaration draft does not become signed through PDF export.\n\nToken ability: documents:upload. Organization permission: documents.upload.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocumentVersion"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"documents:upload","x-organization-permission":"documents.upload","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocumentsGenerateInput"}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/inventory":{"get":{"operationId":"inventory","x-module":"inventory","x-action":"inventory","tags":["Order packing and inventory"],"summary":"Stock balance","description":"Stock and unit conversions for one item. Distinguish physical, reserved and available quantities; stock_tracked=false does not prove warehouse availability.\n\nRead stock and units before quantity conversion. Select data_version when multiple historical bases exist; the server does not assume FIFO.\n\nToken ability: flows:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"flows:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/markets":{"get":{"operationId":"markets_list","x-module":"markets","x-action":"list","tags":["Packaging catalogue and structure"],"summary":"Markets \u2014 List","description":"Market scenarios record destination, origin, economic role and date. Lists show active scenarios. Adding a market does not create stock receipts or issues.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: catalog:read. Organization permission: catalog.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/MarketScenario"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:read","x-organization-permission":"catalog.view"},"put":{"operationId":"markets_update","x-module":"markets","x-action":"update","tags":["Packaging catalogue and structure"],"summary":"Markets \u2014 Update","description":"Market scenarios record destination, origin, economic role and date. Lists show active scenarios. Adding a market does not create stock receipts or issues.\n\nSend the complete desired markets list: omitted countries lose their active scenarios; an empty list removes all. Use the item revision as market_revision; market_details maps country codes to roles\/dates.\n\nToken ability: catalog:write. Organization permission: catalog.update.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/MarketScenario"}},"revision":{"type":"integer"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:write","x-organization-permission":"catalog.update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/MarketsUpdateInput"},"examples":{"workflow":{"summary":"Integration example","description":"This illustrates structure. Replace UUIDs, revisions, dates and configuration_hash with real values; units and materials must match the packaging configuration.","value":{"market_revision":1,"markets":["PL"],"market_details":{"PL":{"origin_country":"PL","economic_role":"filler_packer","assessment_date":"2026-09-29"}}}}}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/markets\/{recordId}":{"get":{"operationId":"markets_show","x-module":"markets","x-action":"show","tags":["Packaging catalogue and structure"],"summary":"Markets \u2014 Show","description":"Market scenarios record destination, origin, economic role and date. Lists show active scenarios. Adding a market does not create stock receipts or issues.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: catalog:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/MarketScenario"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr-summary":{"get":{"operationId":"ppwr_summary","x-module":"ppwr-summary","x-action":"ppwr-summary","tags":["PPWR assessments and technical evidence"],"summary":"PPWR summary","description":"Current packaging technical summary for a specified date, with screening and recyclability. Does not create\/publish assessments; accounts for methodology and source availability.\n\ndate selects the summary date, defaulting to today. Interpret the complete recyclability status object, not just the grade letter.\n\nToken ability: ppwr:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"date","in":"query","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/biobased":{"get":{"operationId":"ppwr_biobased_list","x-module":"biobased","x-action":"list","tags":["PPWR assessments and technical evidence"],"summary":"Biobased \u2014 List","description":"Records\/evidence of bio-based material origin. Not automatically evidence of compostability or recyclability.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: catalog.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrBiobasedComponentRecord"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"},"post":{"operationId":"ppwr_biobased_create","x-module":"biobased","x-action":"create","tags":["PPWR assessments and technical evidence"],"summary":"Biobased \u2014 Create","description":"Records\/evidence of bio-based material origin. Not automatically evidence of compostability or recyclability.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: catalog.update.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrBiobasedComponentRecord"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"catalog.update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrBiobasedCreateInput"}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/biobased\/{recordId}":{"get":{"operationId":"ppwr_biobased_show","x-module":"biobased","x-action":"show","tags":["PPWR assessments and technical evidence"],"summary":"Biobased \u2014 Show","description":"Records\/evidence of bio-based material origin. Not automatically evidence of compostability or recyclability.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrBiobasedComponentRecord"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/biobased\/{recordId}\/review":{"post":{"operationId":"ppwr_biobased_review","x-module":"biobased","x-action":"review","tags":["PPWR assessments and technical evidence"],"summary":"Biobased \u2014 Review","description":"Records\/evidence of bio-based material origin. Not automatically evidence of compostability or recyclability.\n\nRecord a review decision and reason. Read the record afterwards for its status. This is an internal register decision.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:review. Organization permission: evidence.review.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrBiobasedComponentRecord"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:review","x-organization-permission":"evidence.review","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrBiobasedReviewInput"}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/chemical-safety":{"get":{"operationId":"ppwr_chemical_safety_list","x-module":"chemical-safety","x-action":"list","tags":["PPWR assessments and technical evidence"],"summary":"Chemical safety \u2014 List","description":"Chemical-safety record: components, measurements, analytical methods, exceptions and evidence. Values require valid sources; creating a record does not publish a compliance rule.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: catalog.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrArticle5Assessment"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"},"post":{"operationId":"ppwr_chemical_safety_create","x-module":"chemical-safety","x-action":"create","tags":["PPWR assessments and technical evidence"],"summary":"Chemical safety \u2014 Create","description":"Chemical-safety record: components, measurements, analytical methods, exceptions and evidence. Values require valid sources; creating a record does not publish a compliance rule.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: catalog.update.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrArticle5Assessment"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"catalog.update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrChemicalSafetyCreateInput"}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/chemical-safety\/{recordId}":{"get":{"operationId":"ppwr_chemical_safety_show","x-module":"chemical-safety","x-action":"show","tags":["PPWR assessments and technical evidence"],"summary":"Chemical safety \u2014 Show","description":"Chemical-safety record: components, measurements, analytical methods, exceptions and evidence. Values require valid sources; creating a record does not publish a compliance rule.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrArticle5Assessment"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/chemical-safety\/{recordId}\/review":{"post":{"operationId":"ppwr_chemical_safety_review","x-module":"chemical-safety","x-action":"review","tags":["PPWR assessments and technical evidence"],"summary":"Chemical safety \u2014 Review","description":"Chemical-safety record: components, measurements, analytical methods, exceptions and evidence. Values require valid sources; creating a record does not publish a compliance rule.\n\nRecord a review decision and reason. Read the record afterwards for its status. This is an internal register decision.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:review. Organization permission: evidence.review.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrArticle5Assessment"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:review","x-organization-permission":"evidence.review","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrChemicalSafetyReviewInput"}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/communications":{"get":{"operationId":"ppwr_communications_list","x-module":"communications","x-action":"list","tags":["PPWR assessments and technical evidence"],"summary":"Communications \u2014 List","description":"Label\/claim text register with language, scope and sources. Schema depends on kind and subject_code. Records communication assessment, not print-ready label production.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: catalog.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrCommunicationRecord"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"},"post":{"operationId":"ppwr_communications_create","x-module":"communications","x-action":"create","tags":["PPWR assessments and technical evidence"],"summary":"Communications \u2014 Create","description":"Label\/claim text register with language, scope and sources. Schema depends on kind and subject_code. Records communication assessment, not print-ready label production.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: catalog.update.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrCommunicationRecord"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"catalog.update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrCommunicationsCreateInput"}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/communications\/{recordId}":{"get":{"operationId":"ppwr_communications_show","x-module":"communications","x-action":"show","tags":["PPWR assessments and technical evidence"],"summary":"Communications \u2014 Show","description":"Label\/claim text register with language, scope and sources. Schema depends on kind and subject_code. Records communication assessment, not print-ready label production.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrCommunicationRecord"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/communications\/{recordId}\/review":{"post":{"operationId":"ppwr_communications_review","x-module":"communications","x-action":"review","tags":["PPWR assessments and technical evidence"],"summary":"Communications \u2014 Review","description":"Label\/claim text register with language, scope and sources. Schema depends on kind and subject_code. Records communication assessment, not print-ready label production.\n\nRecord a review decision and reason. Read the record afterwards for its status. This is an internal register decision.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:review. Organization permission: evidence.review.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrCommunicationRecord"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:review","x-organization-permission":"evidence.review","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrCommunicationsReviewInput"}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/compostability":{"get":{"operationId":"ppwr_compostability_list","x-module":"compostability","x-action":"list","tags":["PPWR assessments and technical evidence"],"summary":"Compostability \u2014 List","description":"Compostability record covering use, testing and evidence. A material name alone does not establish requirements are met.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: catalog.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrCompostabilityAssessment"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"},"post":{"operationId":"ppwr_compostability_create","x-module":"compostability","x-action":"create","tags":["PPWR assessments and technical evidence"],"summary":"Compostability \u2014 Create","description":"Compostability record covering use, testing and evidence. A material name alone does not establish requirements are met.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: catalog.update.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrCompostabilityAssessment"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"catalog.update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrCompostabilityCreateInput"}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/compostability\/{recordId}":{"get":{"operationId":"ppwr_compostability_show","x-module":"compostability","x-action":"show","tags":["PPWR assessments and technical evidence"],"summary":"Compostability \u2014 Show","description":"Compostability record covering use, testing and evidence. A material name alone does not establish requirements are met.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrCompostabilityAssessment"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/compostability\/{recordId}\/review":{"post":{"operationId":"ppwr_compostability_review","x-module":"compostability","x-action":"review","tags":["PPWR assessments and technical evidence"],"summary":"Compostability \u2014 Review","description":"Compostability record covering use, testing and evidence. A material name alone does not establish requirements are met.\n\nRecord a review decision and reason. Read the record afterwards for its status. This is an internal register decision.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:review. Organization permission: evidence.review.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrCompostabilityAssessment"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:review","x-organization-permission":"evidence.review","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrCompostabilityReviewInput"}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/conformity-dossiers":{"get":{"operationId":"ppwr_conformity_dossiers_list","x-module":"conformity-dossiers","x-action":"list","tags":["PPWR assessments and technical evidence"],"summary":"Conformity dossiers \u2014 List","description":"A dossier organises packaging technical evidence. A reviewed dossier can support an EU declaration; PDF generation is separate.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: catalog.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrConformityDossier"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"},"post":{"operationId":"ppwr_conformity_dossiers_create","x-module":"conformity-dossiers","x-action":"create","tags":["PPWR assessments and technical evidence"],"summary":"Conformity dossiers \u2014 Create","description":"A dossier organises packaging technical evidence. A reviewed dossier can support an EU declaration; PDF generation is separate.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: catalog.update.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrConformityDossier"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"catalog.update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrConformityDossiersCreateInput"}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/conformity-dossiers\/{recordId}":{"get":{"operationId":"ppwr_conformity_dossiers_show","x-module":"conformity-dossiers","x-action":"show","tags":["PPWR assessments and technical evidence"],"summary":"Conformity dossiers \u2014 Show","description":"A dossier organises packaging technical evidence. A reviewed dossier can support an EU declaration; PDF generation is separate.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrConformityDossier"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/conformity-dossiers\/{recordId}\/review":{"post":{"operationId":"ppwr_conformity_dossiers_review","x-module":"conformity-dossiers","x-action":"review","tags":["PPWR assessments and technical evidence"],"summary":"Conformity dossiers \u2014 Review","description":"A dossier organises packaging technical evidence. A reviewed dossier can support an EU declaration; PDF generation is separate.\n\nRecord a review decision and reason. Read the record afterwards for its status. This is an internal register decision.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:review. Organization permission: evidence.review.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrConformityDossier"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:review","x-organization-permission":"evidence.review","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrConformityDossiersReviewInput"}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/empty-space":{"get":{"operationId":"ppwr_empty_space_list","x-module":"empty-space","x-action":"list","tags":["PPWR assessments and technical evidence"],"summary":"Empty space \u2014 List","description":"Technical empty-space assessment using dimensions, contents and method. Not a box recommendation or actual order-packing record.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: catalog.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrEmptySpaceAssessment"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"},"post":{"operationId":"ppwr_empty_space_create","x-module":"empty-space","x-action":"create","tags":["PPWR assessments and technical evidence"],"summary":"Empty space \u2014 Create","description":"Technical empty-space assessment using dimensions, contents and method. Not a box recommendation or actual order-packing record.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: catalog.update.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrEmptySpaceAssessment"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"catalog.update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrEmptySpaceCreateInput"}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/empty-space\/{recordId}":{"get":{"operationId":"ppwr_empty_space_show","x-module":"empty-space","x-action":"show","tags":["PPWR assessments and technical evidence"],"summary":"Empty space \u2014 Show","description":"Technical empty-space assessment using dimensions, contents and method. Not a box recommendation or actual order-packing record.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrEmptySpaceAssessment"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/empty-space\/{recordId}\/review":{"post":{"operationId":"ppwr_empty_space_review","x-module":"empty-space","x-action":"review","tags":["PPWR assessments and technical evidence"],"summary":"Empty space \u2014 Review","description":"Technical empty-space assessment using dimensions, contents and method. Not a box recommendation or actual order-packing record.\n\nRecord a review decision and reason. Read the record afterwards for its status. This is an internal register decision.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:review. Organization permission: evidence.review.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrEmptySpaceAssessment"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:review","x-organization-permission":"evidence.review","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrEmptySpaceReviewInput"}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/eu-declarations":{"get":{"operationId":"ppwr_eu_declarations_list","x-module":"eu-declarations","x-action":"list","tags":["PPWR assessments and technical evidence"],"summary":"Eu declarations \u2014 List","description":"EU declarations linked to the item\u2019s dossier, contents, signatory and evidence. Creating a record does not sign for the manufacturer.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: catalog.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrEuDeclaration"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"},"post":{"operationId":"ppwr_eu_declarations_create","x-module":"eu-declarations","x-action":"create","tags":["PPWR assessments and technical evidence"],"summary":"Eu declarations \u2014 Create","description":"EU declarations linked to the item\u2019s dossier, contents, signatory and evidence. Creating a record does not sign for the manufacturer.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: catalog.update.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrEuDeclaration"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"catalog.update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrEuDeclarationsCreateInput"}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/eu-declarations\/{recordId}":{"get":{"operationId":"ppwr_eu_declarations_show","x-module":"eu-declarations","x-action":"show","tags":["PPWR assessments and technical evidence"],"summary":"Eu declarations \u2014 Show","description":"EU declarations linked to the item\u2019s dossier, contents, signatory and evidence. Creating a record does not sign for the manufacturer.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrEuDeclaration"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/eu-declarations\/{recordId}\/review":{"post":{"operationId":"ppwr_eu_declarations_review","x-module":"eu-declarations","x-action":"review","tags":["PPWR assessments and technical evidence"],"summary":"Eu declarations \u2014 Review","description":"EU declarations linked to the item\u2019s dossier, contents, signatory and evidence. Creating a record does not sign for the manufacturer.\n\nRecord a review decision and reason. Read the record afterwards for its status. This is an internal register decision.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:review. Organization permission: evidence.review.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrEuDeclaration"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:review","x-organization-permission":"evidence.review","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrEuDeclarationsReviewInput"}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/minimization":{"get":{"operationId":"ppwr_minimization_list","x-module":"minimization","x-action":"list","tags":["PPWR assessments and technical evidence"],"summary":"Minimization \u2014 List","description":"Mass\/volume minimisation assessment with functional criteria and evidence. Results depend on data and review, not merely declared numbers.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: catalog.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrMinimizationAssessment"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"},"post":{"operationId":"ppwr_minimization_create","x-module":"minimization","x-action":"create","tags":["PPWR assessments and technical evidence"],"summary":"Minimization \u2014 Create","description":"Mass\/volume minimisation assessment with functional criteria and evidence. Results depend on data and review, not merely declared numbers.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: catalog.update.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrMinimizationAssessment"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"catalog.update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrMinimizationCreateInput"}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/minimization\/{recordId}":{"get":{"operationId":"ppwr_minimization_show","x-module":"minimization","x-action":"show","tags":["PPWR assessments and technical evidence"],"summary":"Minimization \u2014 Show","description":"Mass\/volume minimisation assessment with functional criteria and evidence. Results depend on data and review, not merely declared numbers.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrMinimizationAssessment"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/minimization\/{recordId}\/review":{"post":{"operationId":"ppwr_minimization_review","x-module":"minimization","x-action":"review","tags":["PPWR assessments and technical evidence"],"summary":"Minimization \u2014 Review","description":"Mass\/volume minimisation assessment with functional criteria and evidence. Results depend on data and review, not merely declared numbers.\n\nRecord a review decision and reason. Read the record afterwards for its status. This is an internal register decision.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:review. Organization permission: evidence.review.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrMinimizationAssessment"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:review","x-organization-permission":"evidence.review","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrMinimizationReviewInput"}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/packaging-classification":{"get":{"operationId":"ppwr_packaging_classification_list","x-module":"packaging-classification","x-action":"list","tags":["PPWR assessments and technical evidence"],"summary":"Packaging classification \u2014 List","description":"Evidence-backed packaging\/use classification. Does not replace catalogue folders.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: catalog.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrPackagingClassification"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"},"post":{"operationId":"ppwr_packaging_classification_create","x-module":"packaging-classification","x-action":"create","tags":["PPWR assessments and technical evidence"],"summary":"Packaging classification \u2014 Create","description":"Evidence-backed packaging\/use classification. Does not replace catalogue folders.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: catalog.update.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrPackagingClassification"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"catalog.update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrPackagingClassificationCreateInput"}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/packaging-classification\/{recordId}":{"get":{"operationId":"ppwr_packaging_classification_show","x-module":"packaging-classification","x-action":"show","tags":["PPWR assessments and technical evidence"],"summary":"Packaging classification \u2014 Show","description":"Evidence-backed packaging\/use classification. Does not replace catalogue folders.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrPackagingClassification"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/packaging-classification\/{recordId}\/review":{"post":{"operationId":"ppwr_packaging_classification_review","x-module":"packaging-classification","x-action":"review","tags":["PPWR assessments and technical evidence"],"summary":"Packaging classification \u2014 Review","description":"Evidence-backed packaging\/use classification. Does not replace catalogue folders.\n\nRecord a review decision and reason. Read the record afterwards for its status. This is an internal register decision.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:review. Organization permission: evidence.review.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrPackagingClassification"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:review","x-organization-permission":"evidence.review","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrPackagingClassificationReviewInput"}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/recyclability":{"get":{"operationId":"ppwr_recyclability_list","x-module":"recyclability","x-action":"list","tags":["PPWR assessments and technical evidence"],"summary":"Recyclability \u2014 List","description":"Design-for-recycling assessment and evidence. Distinguishes working data from official methodology\/results. Does not invent missing official weights or automatically certify a grade.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: catalog.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrArticle6Assessment"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"},"post":{"operationId":"ppwr_recyclability_create","x-module":"recyclability","x-action":"create","tags":["PPWR assessments and technical evidence"],"summary":"Recyclability \u2014 Create","description":"Design-for-recycling assessment and evidence. Distinguishes working data from official methodology\/results. Does not invent missing official weights or automatically certify a grade.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: catalog.update.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrArticle6Assessment"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"catalog.update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrRecyclabilityCreateInput"}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/recyclability\/{recordId}":{"get":{"operationId":"ppwr_recyclability_show","x-module":"recyclability","x-action":"show","tags":["PPWR assessments and technical evidence"],"summary":"Recyclability \u2014 Show","description":"Design-for-recycling assessment and evidence. Distinguishes working data from official methodology\/results. Does not invent missing official weights or automatically certify a grade.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrArticle6Assessment"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/recyclability\/{recordId}\/review":{"post":{"operationId":"ppwr_recyclability_review","x-module":"recyclability","x-action":"review","tags":["PPWR assessments and technical evidence"],"summary":"Recyclability \u2014 Review","description":"Design-for-recycling assessment and evidence. Distinguishes working data from official methodology\/results. Does not invent missing official weights or automatically certify a grade.\n\nRecord a review decision and reason. Read the record afterwards for its status. This is an internal register decision.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:review. Organization permission: evidence.review.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrArticle6Assessment"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:review","x-organization-permission":"evidence.review","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrRecyclabilityReviewInput"}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/restricted-formats":{"get":{"operationId":"ppwr_restricted_formats_list","x-module":"restricted-formats","x-action":"list","tags":["PPWR assessments and technical evidence"],"summary":"Restricted formats \u2014 List","description":"Assessment of format restrictions\/exceptions for packaging. Requires use context and supporting evidence, not just material codes.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: catalog.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrRestrictedFormatAssessment"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"},"post":{"operationId":"ppwr_restricted_formats_create","x-module":"restricted-formats","x-action":"create","tags":["PPWR assessments and technical evidence"],"summary":"Restricted formats \u2014 Create","description":"Assessment of format restrictions\/exceptions for packaging. Requires use context and supporting evidence, not just material codes.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: catalog.update.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrRestrictedFormatAssessment"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"catalog.update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrRestrictedFormatsCreateInput"}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/restricted-formats\/{recordId}":{"get":{"operationId":"ppwr_restricted_formats_show","x-module":"restricted-formats","x-action":"show","tags":["PPWR assessments and technical evidence"],"summary":"Restricted formats \u2014 Show","description":"Assessment of format restrictions\/exceptions for packaging. Requires use context and supporting evidence, not just material codes.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrRestrictedFormatAssessment"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/restricted-formats\/{recordId}\/review":{"post":{"operationId":"ppwr_restricted_formats_review","x-module":"restricted-formats","x-action":"review","tags":["PPWR assessments and technical evidence"],"summary":"Restricted formats \u2014 Review","description":"Assessment of format restrictions\/exceptions for packaging. Requires use context and supporting evidence, not just material codes.\n\nRecord a review decision and reason. Read the record afterwards for its status. This is an internal register decision.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:review. Organization permission: evidence.review.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrRestrictedFormatAssessment"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:review","x-organization-permission":"evidence.review","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrRestrictedFormatsReviewInput"}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/reuse-assessments":{"get":{"operationId":"ppwr_reuse_assessments_list","x-module":"reuse-assessments","x-action":"list","tags":["Reuse systems and returnable units"],"summary":"Reuse assessments \u2014 List","description":"Assessment of packaging reusability with technical requirements\/evidence. Not an individual unit\u2019s circulation history.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: catalog.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrReuseAssessment"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"},"post":{"operationId":"ppwr_reuse_assessments_create","x-module":"reuse-assessments","x-action":"create","tags":["Reuse systems and returnable units"],"summary":"Reuse assessments \u2014 Create","description":"Assessment of packaging reusability with technical requirements\/evidence. Not an individual unit\u2019s circulation history.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: catalog.update.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrReuseAssessment"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"catalog.update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrReuseAssessmentsCreateInput"}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/reuse-assessments\/{recordId}":{"get":{"operationId":"ppwr_reuse_assessments_show","x-module":"reuse-assessments","x-action":"show","tags":["Reuse systems and returnable units"],"summary":"Reuse assessments \u2014 Show","description":"Assessment of packaging reusability with technical requirements\/evidence. Not an individual unit\u2019s circulation history.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrReuseAssessment"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/reuse-assessments\/{recordId}\/review":{"post":{"operationId":"ppwr_reuse_assessments_review","x-module":"reuse-assessments","x-action":"review","tags":["Reuse systems and returnable units"],"summary":"Reuse assessments \u2014 Review","description":"Assessment of packaging reusability with technical requirements\/evidence. Not an individual unit\u2019s circulation history.\n\nRecord a review decision and reason. Read the record afterwards for its status. This is an internal register decision.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:review. Organization permission: evidence.review.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrReuseAssessment"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:review","x-organization-permission":"evidence.review","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrReuseAssessmentsReviewInput"}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/reuse-units":{"get":{"operationId":"ppwr_reuse_units_list","x-module":"reuse-units","x-action":"list","tags":["Reuse systems and returnable units"],"summary":"Reuse units \u2014 List","description":"Individually identified reusable units. item identifies the packaging type; the reusable unit identifies a physical instance and its event history.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: catalog.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrReuseUnit"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"},"post":{"operationId":"ppwr_reuse_units_create","x-module":"reuse-units","x-action":"create","tags":["Reuse systems and returnable units"],"summary":"Reuse units \u2014 Create","description":"Individually identified reusable units. item identifies the packaging type; the reusable unit identifies a physical instance and its event history.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: catalog.update.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrReuseUnit"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"catalog.update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrReuseUnitsCreateInput"}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/reuse-units\/{recordId}":{"get":{"operationId":"ppwr_reuse_units_show","x-module":"reuse-units","x-action":"show","tags":["Reuse systems and returnable units"],"summary":"Reuse units \u2014 Show","description":"Individually identified reusable units. item identifies the packaging type; the reusable unit identifies a physical instance and its event history.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrReuseUnit"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/role-duties":{"get":{"operationId":"ppwr_role_duties_list","x-module":"role-duties","x-action":"list","tags":["PPWR assessments and technical evidence"],"summary":"Role duties \u2014 List","description":"Obligations associated with the company\u2019s role in an active market scenario. scenario must belong to the packaging item; sourcing mode is not an economic role.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: catalog.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrRoleAssessment"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"},"post":{"operationId":"ppwr_role_duties_create","x-module":"role-duties","x-action":"create","tags":["PPWR assessments and technical evidence"],"summary":"Role duties \u2014 Create","description":"Obligations associated with the company\u2019s role in an active market scenario. scenario must belong to the packaging item; sourcing mode is not an economic role.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: catalog.update.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrRoleAssessment"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"catalog.update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrRoleDutiesCreateInput"}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/role-duties\/{recordId}":{"get":{"operationId":"ppwr_role_duties_show","x-module":"role-duties","x-action":"show","tags":["PPWR assessments and technical evidence"],"summary":"Role duties \u2014 Show","description":"Obligations associated with the company\u2019s role in an active market scenario. scenario must belong to the packaging item; sourcing mode is not an economic role.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrRoleAssessment"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/ppwr\/role-duties\/{recordId}\/review":{"post":{"operationId":"ppwr_role_duties_review","x-module":"role-duties","x-action":"review","tags":["PPWR assessments and technical evidence"],"summary":"Role duties \u2014 Review","description":"Obligations associated with the company\u2019s role in an active market scenario. scenario must belong to the packaging item; sourcing mode is not an economic role.\n\nRecord a review decision and reason. Read the record afterwards for its status. This is an internal register decision.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:review. Organization permission: evidence.review.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrRoleAssessment"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:review","x-organization-permission":"evidence.review","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrRoleDutiesReviewInput"}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/restore":{"post":{"operationId":"catalog_restore","x-module":"catalog","x-action":"restore","tags":["Packaging catalogue and structure"],"summary":"Catalog \u2014 Restore","description":"A record for one packaging\/material type, such as a box, tape or film. Not a store product or individual shipment. Components, documents, markets and movements are separate resources.\n\nRestore an archived record for current use. Obtain the required revision from the latest read.\n\nToken ability: catalog:write. Organization permission: catalog.archive.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Acknowledgement"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:write","x-organization-permission":"catalog.archive","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CatalogRestoreInput"}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/supply-events":{"get":{"operationId":"supply_events_list","x-module":"supply-events","x-action":"list","tags":["Physical movements and reporting flows"],"summary":"Supply events \u2014 List","description":"Physical receipts, production, issues, usage, opening balances and adjustments. Stores quantity, unit, counterparty, date and historical basis. Use for stock and traceability.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: flows:read. Organization permission: catalog.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrSupplyChainEvent"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"flows:read","x-organization-permission":"catalog.view"},"post":{"operationId":"supply_events_create","x-module":"supply-events","x-action":"create","tags":["Physical movements and reporting flows"],"summary":"Supply events \u2014 Create","description":"Physical receipts, production, issues, usage, opening balances and adjustments. Stores quantity, unit, counterparty, date and historical basis. Use for stock and traceability.\n\nSelect direction. received\/supplied need counterparty details; used needs usage_channel and ecommerce also transaction_reference. Send quantity+unit or quantity_units, never both. Adjustments require note. data_version identifies the historical stock basis.\n\nToken ability: flows:write. Organization permission: catalog.update.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrSupplyChainEvent"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"flows:write","x-organization-permission":"catalog.update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SupplyEventsCreateInput"},"examples":{"workflow":{"summary":"Integration example","description":"This illustrates structure. Replace UUIDs, revisions, dates and configuration_hash with real values; units and materials must match the packaging configuration.","value":{"catalog_revision":1,"direction":"received","quantity":100,"unit":"piece","counterparty_name":"Example supplier","counterparty_country":"PL","counterparty_address":"Example street 1, 00-001 Warsaw","event_on":"2026-09-29","reusable_at_event":"no"}}}}}}}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/supply-events\/{recordId}":{"get":{"operationId":"supply_events_show","x-module":"supply-events","x-action":"show","tags":["Physical movements and reporting flows"],"summary":"Supply events \u2014 Show","description":"Physical receipts, production, issues, usage, opening balances and adjustments. Stores quantity, unit, counterparty, date and historical basis. Use for stock and traceability.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: flows:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrSupplyChainEvent"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"flows:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/supply-summary":{"get":{"operationId":"supply_summary","x-module":"supply-summary","x-action":"supply-summary","tags":["Physical movements and reporting flows"],"summary":"Supply summary","description":"An item\u2019s event balance, including availability and historical bases. Derived from movements, not an independent stock-write endpoint.\n\nRead the balance before an issue and after writing it. Do not treat a cached balance as immutable stock.\n\nToken ability: flows:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"flows:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/catalog-items\/{catalogItemId}\/traceability":{"get":{"operationId":"traceability","x-module":"traceability","x-action":"traceability","tags":["Files, evidence and links"],"summary":"Traceability","description":"Identity\/document links connect packaging, supplier\/manufacturer codes, family and evidence. They do not represent physical transport or stock movements.\n\nRead documentary links valid today. Use supply-events for physical receipts\/issues.\n\nToken ability: documents:read. Organization permission: documents.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"documents:read","x-organization-permission":"documents.view"},"post":{"operationId":"traceability_link","x-module":"traceability","x-action":"link","tags":["Files, evidence and links"],"summary":"Traceability \u2014 Link","description":"Identity\/document links connect packaging, supplier\/manufacturer codes, family and evidence. They do not represent physical transport or stock movements.\n\nLink an approved document version to packaging with link_type. version is the file-version UUID; revision is the packaging revision.\n\nToken ability: evidence:review. Organization permission: evidence.review.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"catalogItemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging public id from GET \/catalog-items or catalogue creation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Acknowledgement"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"evidence:review","x-organization-permission":"evidence.review","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/TraceabilityLinkInput"}}}}}},"\/organizations\/{organizationId}\/dictionaries":{"get":{"operationId":"dictionaries","x-module":"dictionaries","x-action":"dictionaries","tags":["Start and dictionaries"],"summary":"Dictionaries","description":"Countries, materials, packaging categories\/formats, economic roles, document types and published rule sets. Send codes rather than translated labels.\n\nFetch before building forms or mapping source data. rule_sets contains published rules only; absence does not mean a passing assessment.\n\nToken ability: catalog:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/document-versions\/{recordId}":{"get":{"operationId":"document_versions_show","x-module":"document-versions","x-action":"show","tags":["Files, evidence and links"],"summary":"Document versions \u2014 Show","description":"A document version identifies a file with processing_status, review_status, dates and revision. Approval does not bypass safe file processing.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: documents:read. Organization permission: documents.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocumentVersion"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"documents:read","x-organization-permission":"documents.view"}},"\/organizations\/{organizationId}\/document-versions\/{recordId}\/analyze":{"post":{"operationId":"documents_analyze","x-module":"documents","x-action":"analyze","tags":["Files, evidence and links"],"summary":"Documents \u2014 Analyze","description":"A document contains metadata linked to packaging; files and review belong to specific versions. Upload, scanning, AI analysis and data acceptance are separate steps.\n\nQueue analysis of an eligible document version. 200 acknowledges the action, not completed AI work. Read version state and evidence-proposals; proposals require human review.\n\nToken ability: evidence:review. Organization permission: evidence.review.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocumentVersion"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"evidence:review","x-organization-permission":"evidence.review","requestBody":{"required":false,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocumentsAnalyzeInput"}}}}}},"\/organizations\/{organizationId}\/document-versions\/{recordId}\/decision":{"post":{"operationId":"documents_decision","x-module":"documents","x-action":"decision","tags":["Files, evidence and links"],"summary":"Documents \u2014 Decision","description":"A document contains metadata linked to packaging; files and review belong to specific versions. Upload, scanning, AI analysis and data acceptance are separate steps.\n\nApprove, reject or revoke a version using its revision and reason. Besides documents.view, approved\/rejected require documents.approve; revoked requires documents.revoke. Processing must be review_required; approval\/rejection applies to unreviewed\/in_review, revocation to approved. Under dual_control, approving your own upload requires an owner\/admin role; other users need another reviewer. A generated declaration draft cannot be approved as a signed document.\n\nToken ability: documents:review. Organization permission: documents.view.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocumentVersion"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"documents:review","x-organization-permission":"documents.view","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocumentsDecisionInput"}}}}}},"\/organizations\/{organizationId}\/document-versions\/{recordId}\/download":{"get":{"operationId":"documents_download","x-module":"documents","x-action":"download","tags":["Files, evidence and links"],"summary":"Documents \u2014 Download","description":"A document contains metadata linked to packaging; files and review belong to specific versions. Upload, scanning, AI analysis and data acceptance are separate steps.\n\nDownload a binary file, not JSON. Errors still return JSON; check HTTP status and Content-Type before saving the response.\n\nToken ability: documents:read. Organization permission: documents.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"documents:read","x-organization-permission":"documents.view"}},"\/organizations\/{organizationId}\/document-versions\/{recordId}\/evidence-proposals":{"post":{"operationId":"documents_propose","x-module":"documents","x-action":"propose","tags":["Files, evidence and links"],"summary":"Documents \u2014 Propose","description":"A document contains metadata linked to packaging; files and review belong to specific versions. Upload, scanning, AI analysis and data acceptance are separate steps.\n\nPropose a value with document location\/quotation. The document must link to packaging. Accept it using the separate evidence decision endpoint. source_page must exist in the version\u2019s extracted text and source_text must be an exact quotation. MASS_G uses g; WIDTH_MM\/LENGTH_MM\/HEIGHT_MM use mm. DfR needs %, exact, a method and a cited result; chemical measurements additionally need a lab report and component UUID. Missing page text is entered in the panel; this API exposes no page transcription endpoint.\n\nToken ability: evidence:review. Organization permission: evidence.review.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/EvidenceFact"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"evidence:review","x-organization-permission":"evidence.review","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocumentsProposeInput"}}}}}},"\/organizations\/{organizationId}\/documents":{"post":{"operationId":"documents_upload","x-module":"documents","x-action":"upload","tags":["Files, evidence and links"],"summary":"Documents \u2014 Upload","description":"A document contains metadata linked to packaging; files and review belong to specific versions. Upload, scanning, AI analysis and data acceptance are separate steps.\n\nUpload a file and metadata. Returns a document version: its id is used for download\/analysis\/decision, while document identifies the document record. Processing runs in a queue; wait for its status.\n\nToken ability: documents:upload. Organization permission: documents.upload.\n\nSend an actual file using multipart\/form-data, not a local path or base64 JSON value. Read the resource UUID and processing status from the response\/resource.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocumentVersion"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"documents:upload","x-organization-permission":"documents.upload","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"$ref":"#\/components\/schemas\/DocumentsUploadInput"}}}}},"get":{"operationId":"documents_list","x-module":"documents","x-action":"list","tags":["Files, evidence and links"],"summary":"Documents \u2014 List","description":"A document contains metadata linked to packaging; files and review belong to specific versions. Upload, scanning, AI analysis and data acceptance are separate steps.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: documents:read. Organization permission: documents.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}},{"name":"item","in":"query","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/Document"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"documents:read","x-organization-permission":"documents.view"}},"\/organizations\/{organizationId}\/documents\/{documentId}\/versions":{"get":{"operationId":"document_versions_list","x-module":"document-versions","x-action":"list","tags":["Files, evidence and links"],"summary":"Document versions \u2014 List","description":"A document version identifies a file with processing_status, review_status, dates and revision. Approval does not bypass safe file processing.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: documents:read. Organization permission: documents.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"documentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Document public id, not file-version id. Read it from document lists or an upload response\u2019s document field."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/DocumentVersion"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"documents:read","x-organization-permission":"documents.view"}},"\/organizations\/{organizationId}\/documents\/{recordId}":{"get":{"operationId":"documents_show","x-module":"documents","x-action":"show","tags":["Files, evidence and links"],"summary":"Documents \u2014 Show","description":"A document contains metadata linked to packaging; files and review belong to specific versions. Upload, scanning, AI analysis and data acceptance are separate steps.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: documents:read. Organization permission: documents.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Document"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"documents:read","x-organization-permission":"documents.view"}},"\/organizations\/{organizationId}\/documents\/{recordId}\/versions":{"post":{"operationId":"documents_version","x-module":"documents","x-action":"version","tags":["Files, evidence and links"],"summary":"Documents \u2014 Version","description":"A document contains metadata linked to packaging; files and review belong to specific versions. Upload, scanning, AI analysis and data acceptance are separate steps.\n\nAdd a file version to the document identified by recordId. Creates separate processing\/review state without overwriting history.\n\nToken ability: documents:upload. Organization permission: documents.upload.\n\nSend an actual file using multipart\/form-data, not a local path or base64 JSON value. Read the resource UUID and processing status from the response\/resource.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocumentVersion"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"documents:upload","x-organization-permission":"documents.upload","requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"$ref":"#\/components\/schemas\/DocumentsVersionInput"}}}}}},"\/organizations\/{organizationId}\/evidence-proposals":{"get":{"operationId":"evidence_proposals_list","x-module":"evidence-proposals","x-action":"list","tags":["Files, evidence and links"],"summary":"Evidence proposals \u2014 List","description":"Proposed facts extracted from documents carry sources, values and status. Document sensitivity can restrict visibility. A proposal is not yet approved evidence.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: evidence:review. Organization permission: evidence.review.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}},{"name":"item","in":"query","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/EvidenceFact"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"evidence:review","x-organization-permission":"evidence.review"}},"\/organizations\/{organizationId}\/evidence-proposals\/{proposalId}\/decision":{"post":{"operationId":"evidence_decision","x-module":"evidence","x-action":"decision","tags":["Files, evidence and links"],"summary":"Evidence \u2014 Decision","description":"A fact decision is separate from whole-file approval. Accept a value, accept a correction or reject it with a reason.\n\nUse accepted, acceptedModified or rejected; acceptedModified requires acceptedValue. Supply proposal revision and note. No Idempotency-Key; after a timeout read the proposal before deciding again.\n\nToken ability: evidence:review. Organization permission: evidence.review.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"proposalId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Proposed-fact public id from GET \/evidence-proposals."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Acknowledgement"}}}}},"x-token-ability":"evidence:review","x-organization-permission":"evidence.review","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/EvidenceDecisionInput"},"examples":{"workflow":{"summary":"Integration example","description":"This illustrates structure. Replace UUIDs, revisions, dates and configuration_hash with real values; units and materials must match the packaging configuration.","value":{"decision":"accepted","revision":1,"note":"Checked against the cited document page."}}}}}}}},"\/organizations\/{organizationId}\/evidence-proposals\/{recordId}":{"get":{"operationId":"evidence_proposals_show","x-module":"evidence-proposals","x-action":"show","tags":["Files, evidence and links"],"summary":"Evidence proposals \u2014 Show","description":"Proposed facts extracted from documents carry sources, values and status. Document sensitivity can restrict visibility. A proposal is not yet approved evidence.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: evidence:review. Organization permission: evidence.review.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/EvidenceFact"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"evidence:review","x-organization-permission":"evidence.review"}},"\/organizations\/{organizationId}\/families":{"get":{"operationId":"families_list","x-module":"families","x-action":"list","tags":["Packaging catalogue and structure"],"summary":"Families \u2014 List","description":"A family groups packaging under shared manufacturer identity\/documentation. It is neither a folder nor a packing recipe.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: catalog:read. Organization permission: catalog.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/ProductFamily"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:read","x-organization-permission":"catalog.view"},"post":{"operationId":"families_create","x-module":"families","x-action":"create","tags":["Packaging catalogue and structure"],"summary":"Families \u2014 Create","description":"A family groups packaging under shared manufacturer identity\/documentation. It is neither a folder nor a packing recipe.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nToken ability: catalog:write. Organization permission: catalog.create.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductFamily"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:write","x-organization-permission":"catalog.create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/FamiliesCreateInput"}}}}}},"\/organizations\/{organizationId}\/families\/{recordId}":{"get":{"operationId":"families_show","x-module":"families","x-action":"show","tags":["Packaging catalogue and structure"],"summary":"Families \u2014 Show","description":"A family groups packaging under shared manufacturer identity\/documentation. It is neither a folder nor a packing recipe.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: catalog:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductFamily"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:read","x-organization-permission":"catalog.view"},"put":{"operationId":"families_update","x-module":"families","x-action":"update","tags":["Packaging catalogue and structure"],"summary":"Families \u2014 Update","description":"A family groups packaging under shared manufacturer identity\/documentation. It is neither a folder nor a packing recipe.\n\nUpdate this record with its required revision check. Consult the schema: PUT does not imply omitted fields are deleted.\n\nToken ability: catalog:write. Organization permission: catalog.update.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductFamily"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:write","x-organization-permission":"catalog.update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/FamiliesUpdateInput"}}}}}},"\/organizations\/{organizationId}\/flows":{"get":{"operationId":"flows_list","x-module":"flows","x-action":"list","tags":["Physical movements and reporting flows"],"summary":"Flows \u2014 List","description":"Reporting flows (placed\/used) contain quantities and mass. A direct \/flows write does not update physical stock. Do not duplicate flows already generated by consumption events.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: flows:read. Organization permission: reports.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}},{"name":"item","in":"query","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PackagingFlowRecord"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"flows:read","x-organization-permission":"reports.view"},"post":{"operationId":"flows_create","x-module":"flows","x-action":"create","tags":["Physical movements and reporting flows"],"summary":"Flows \u2014 Create","description":"Reporting flows (placed\/used) contain quantities and mass. A direct \/flows write does not update physical stock. Do not duplicate flows already generated by consumption events.\n\nCreate a standalone placed\/used reporting flow. Supply mass_g explicitly as this flow\u2019s mass. Does not create a supply-event or decrement stock.\n\nToken ability: flows:write. Organization permission: reports.export.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PackagingFlowRecord"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"flows:write","x-organization-permission":"reports.export","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/FlowsCreateInput"}}}}}},"\/organizations\/{organizationId}\/flows\/{recordId}":{"get":{"operationId":"flows_show","x-module":"flows","x-action":"show","tags":["Physical movements and reporting flows"],"summary":"Flows \u2014 Show","description":"Reporting flows (placed\/used) contain quantities and mass. A direct \/flows write does not update physical stock. Do not duplicate flows already generated by consumption events.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: flows:read. Organization permission: reports.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PackagingFlowRecord"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"flows:read","x-organization-permission":"reports.view"}},"\/organizations\/{organizationId}\/folders":{"get":{"operationId":"folders_list","x-module":"folders","x-action":"list","tags":["Packaging catalogue and structure"],"summary":"Folders \u2014 List","description":"An organisation\u2019s custom folder tree organises its catalogue. A folder is not a PPWR category; parent references another folder, and catalogue writes assign items to folders.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: catalog:read. Organization permission: catalog.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/CatalogFolder"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:read","x-organization-permission":"catalog.view"},"post":{"operationId":"folders_create","x-module":"folders","x-action":"create","tags":["Packaging catalogue and structure"],"summary":"Folders \u2014 Create","description":"An organisation\u2019s custom folder tree organises its catalogue. A folder is not a PPWR category; parent references another folder, and catalogue writes assign items to folders.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nToken ability: catalog:write. Organization permission: catalog.create.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CatalogFolder"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:write","x-organization-permission":"catalog.create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/FoldersCreateInput"},"examples":{"workflow":{"summary":"Integration example","description":"This illustrates structure. Replace UUIDs, revisions, dates and configuration_hash with real values; units and materials must match the packaging configuration.","value":{"name":"E-commerce"}}}}}}}},"\/organizations\/{organizationId}\/folders\/{recordId}":{"get":{"operationId":"folders_show","x-module":"folders","x-action":"show","tags":["Packaging catalogue and structure"],"summary":"Folders \u2014 Show","description":"An organisation\u2019s custom folder tree organises its catalogue. A folder is not a PPWR category; parent references another folder, and catalogue writes assign items to folders.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: catalog:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CatalogFolder"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:read","x-organization-permission":"catalog.view"},"put":{"operationId":"folders_update","x-module":"folders","x-action":"update","tags":["Packaging catalogue and structure"],"summary":"Folders \u2014 Update","description":"An organisation\u2019s custom folder tree organises its catalogue. A folder is not a PPWR category; parent references another folder, and catalogue writes assign items to folders.\n\nUpdate this record with its required revision check. Consult the schema: PUT does not imply omitted fields are deleted.\n\nToken ability: catalog:write. Organization permission: catalog.update.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CatalogFolder"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:write","x-organization-permission":"catalog.update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/FoldersUpdateInput"}}}}},"delete":{"operationId":"folders_delete","x-module":"folders","x-action":"delete","tags":["Packaging catalogue and structure"],"summary":"Folders \u2014 Delete","description":"An organisation\u2019s custom folder tree organises its catalogue. A folder is not a PPWR category; parent references another folder, and catalogue writes assign items to folders.\n\nDelete an empty folder using its current revision. A folder with items or subfolders returns 422; move its contents first. Packaging is not deleted.\n\nToken ability: catalog:write. Organization permission: catalog.update.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Acknowledgement"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:write","x-organization-permission":"catalog.update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/FoldersDeleteInput"}}}}}},"\/organizations\/{organizationId}\/import-templates\/codes.csv":{"get":{"operationId":"code_import_template_download","x-module":"code-import-template","x-action":"download","tags":["Imports and templates"],"summary":"Code mapping worksheet \u2014 Download","description":"CSV template for packaging\/supplier\/manufacturer code mappings. populated=1 includes current data; submit the result as a code_mappings import.\n\nDownload a binary file, not JSON. Errors still return JSON; check HTTP status and Content-Type before saving the response.\n\nToken ability: imports:run. Organization permission: imports.run.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"populated","in":"query","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"imports:run","x-organization-permission":"imports.run","x-import-type-permissions":{"catalog":["imports.run"],"partners":["imports.run","suppliers.manage"],"document_metadata":["imports.run","documents.view","documents.upload","documents.download_sensitive"],"code_mappings":["imports.run","catalog.view","catalog.update","suppliers.manage"]}}},"\/organizations\/{organizationId}\/import-templates\/documents.csv":{"get":{"operationId":"document_import_template_download","x-module":"document-import-template","x-action":"download","tags":["Imports and templates"],"summary":"Document metadata worksheet \u2014 Download","description":"CSV template for existing document metadata. populated=1 includes organisation data. It does not upload PDFs.\n\nDownload a binary file, not JSON. Errors still return JSON; check HTTP status and Content-Type before saving the response.\n\nToken ability: imports:run. Organization permission: imports.run.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"populated","in":"query","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"imports:run","x-organization-permission":"imports.run","x-import-type-permissions":{"catalog":["imports.run"],"partners":["imports.run","suppliers.manage"],"document_metadata":["imports.run","documents.view","documents.upload","documents.download_sensitive"],"code_mappings":["imports.run","catalog.view","catalog.update","suppliers.manage"]}}},"\/organizations\/{organizationId}\/imports":{"get":{"operationId":"imports_list","x-module":"imports","x-action":"list","tags":["Imports and templates"],"summary":"Imports \u2014 List","description":"Imports are jobs with a preview stage before applying changes. Types: catalog, partners, document_metadata, code_mappings. Document metadata import does not upload document files.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: imports:run. Organization permission: imports.run.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}},{"name":"type","in":"query","schema":{"type":"string","enum":["catalog","partners","document_metadata","code_mappings"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/CatalogImport"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"imports:run","x-organization-permission":"imports.run","x-import-type-permissions":{"catalog":["imports.run"],"partners":["imports.run","suppliers.manage"],"document_metadata":["imports.run","documents.view","documents.upload","documents.download_sensitive"],"code_mappings":["imports.run","catalog.view","catalog.update","suppliers.manage"]}},"post":{"operationId":"imports_create","x-module":"imports","x-action":"create","tags":["Imports and templates"],"summary":"Imports \u2014 Create","description":"Imports are jobs with a preview stage before applying changes. Types: catalog, partners, document_metadata, code_mappings. Document metadata import does not upload document files.\n\nUpload CSV\/XLSX with type and optional column mapping. 202 returns an import id; wait for a ready preview, inspect rows, then call apply.\n\nToken ability: imports:run. Organization permission: imports.run.\n\nSend an actual file using multipart\/form-data, not a local path or base64 JSON value. Read the resource UUID and processing status from the response\/resource.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.\n\n202 confirms queued work. Poll the resource by its returned `id` until processing finishes; `queued` does not mean a file is ready.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"202":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Acknowledgement"}}}}},"x-token-ability":"imports:run","x-organization-permission":"imports.run","x-import-type-permissions":{"catalog":["imports.run"],"partners":["imports.run","suppliers.manage"],"document_metadata":["imports.run","documents.view","documents.upload","documents.download_sensitive"],"code_mappings":["imports.run","catalog.view","catalog.update","suppliers.manage"]},"requestBody":{"required":true,"content":{"multipart\/form-data":{"schema":{"$ref":"#\/components\/schemas\/ImportsCreateInput"}}}}}},"\/organizations\/{organizationId}\/imports\/{importId}\/rows":{"get":{"operationId":"import_rows_list","x-module":"import-rows","x-action":"list","tags":["Imports and templates"],"summary":"Import rows \u2014 List","description":"Import rows expose input, validation and planned\/applied changes. Read them after preview processing and inspect errors before apply.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: imports:run. Organization permission: imports.run.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"importId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Import-job public id returned on file submission."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/ImportRow"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"imports:run","x-organization-permission":"imports.run","x-import-type-permissions":{"catalog":["imports.run"],"partners":["imports.run","suppliers.manage"],"document_metadata":["imports.run","documents.view","documents.upload","documents.download_sensitive"],"code_mappings":["imports.run","catalog.view","catalog.update","suppliers.manage"]}}},"\/organizations\/{organizationId}\/imports\/{recordId}":{"get":{"operationId":"imports_show","x-module":"imports","x-action":"show","tags":["Imports and templates"],"summary":"Imports \u2014 Show","description":"Imports are jobs with a preview stage before applying changes. Types: catalog, partners, document_metadata, code_mappings. Document metadata import does not upload document files.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: imports:run. Organization permission: imports.run.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CatalogImport"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"imports:run","x-organization-permission":"imports.run","x-import-type-permissions":{"catalog":["imports.run"],"partners":["imports.run","suppliers.manage"],"document_metadata":["imports.run","documents.view","documents.upload","documents.download_sensitive"],"code_mappings":["imports.run","catalog.view","catalog.update","suppliers.manage"]}}},"\/organizations\/{organizationId}\/imports\/{recordId}\/apply":{"post":{"operationId":"imports_apply","x-module":"imports","x-action":"apply","tags":["Imports and templates"],"summary":"Imports \u2014 Apply","description":"Imports are jobs with a preview stage before applying changes. Types: catalog, partners, document_metadata, code_mappings. Document metadata import does not upload document files.\n\nQueue application of a prepared import. Check row results and completed\/completed_with_errors status; a retry is not an unconditional overwrite.\n\nToken ability: imports:run. Organization permission: imports.run.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.\n\n202 confirms queued work. Poll the resource by its returned `id` until processing finishes; `queued` does not mean a file is ready.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"202":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Acknowledgement"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"imports:run","x-organization-permission":"imports.run","x-import-type-permissions":{"catalog":["imports.run"],"partners":["imports.run","suppliers.manage"],"document_metadata":["imports.run","documents.view","documents.upload","documents.download_sensitive"],"code_mappings":["imports.run","catalog.view","catalog.update","suppliers.manage"]},"requestBody":{"required":false,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ImportsApplyInput"}}}}}},"\/organizations\/{organizationId}\/imports\/{recordId}\/result.csv":{"get":{"operationId":"imports_download","x-module":"imports","x-action":"download","tags":["Imports and templates"],"summary":"Imports \u2014 Download","description":"Imports are jobs with a preview stage before applying changes. Types: catalog, partners, document_metadata, code_mappings. Document metadata import does not upload document files.\n\nDownload a binary file, not JSON. Errors still return JSON; check HTTP status and Content-Type before saving the response.\n\nToken ability: imports:run. Organization permission: imports.run.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"imports:run","x-organization-permission":"imports.run","x-import-type-permissions":{"catalog":["imports.run"],"partners":["imports.run","suppliers.manage"],"document_metadata":["imports.run","documents.view","documents.upload","documents.download_sensitive"],"code_mappings":["imports.run","catalog.view","catalog.update","suppliers.manage"]}}},"\/organizations\/{organizationId}\/issues":{"get":{"operationId":"issues_list","x-module":"issues","x-action":"list","tags":["Supplier collaboration and gaps"],"summary":"Issues \u2014 List","description":"Gaps and tasks detected for the organisation. The API exposes list\/detail reads, not analogous POST\/PATCH creation or completion methods.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: supplier-requests:read. Organization permission: issues.manage.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}},{"name":"item","in":"query","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/Issue"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"supplier-requests:read","x-organization-permission":"issues.manage"}},"\/organizations\/{organizationId}\/issues\/{recordId}":{"get":{"operationId":"issues_show","x-module":"issues","x-action":"show","tags":["Supplier collaboration and gaps"],"summary":"Issues \u2014 Show","description":"Gaps and tasks detected for the organisation. The API exposes list\/detail reads, not analogous POST\/PATCH creation or completion methods.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: supplier-requests:read. Organization permission: issues.manage.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Issue"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"supplier-requests:read","x-organization-permission":"issues.manage"}},"\/organizations\/{organizationId}\/packaging-systems":{"get":{"operationId":"packaging_systems_list","x-module":"packaging-systems","x-action":"list","tags":["Order packing and inventory"],"summary":"Packing sets \u2014 List","description":"A packaging set is a recipe, such as box + tape + filler. It is not a deposit scheme or reuse system. Use archived to filter archived recipes.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: catalog:read. Organization permission: catalog.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}},{"name":"filter","in":"query","schema":{"type":"string","maxLength":255}},{"name":"archived","in":"query","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PackagingSystem"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:read","x-organization-permission":"catalog.view"},"post":{"operationId":"systems_create","x-module":"systems","x-action":"create","tags":["Order packing and inventory"],"summary":"Packing sets \u2014 Create","description":"A packaging set holds a parcel recipe. Configuration calculates quantities, mass and availability; only consumption or reservation consumption records material use.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nToken ability: catalog:write. Organization permission: catalog.create.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PackagingSystem"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:write","x-organization-permission":"catalog.create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SystemsCreateInput"}}}}}},"\/organizations\/{organizationId}\/packaging-systems\/{recordId}":{"get":{"operationId":"packaging_systems_show","x-module":"packaging-systems","x-action":"show","tags":["Order packing and inventory"],"summary":"Packing sets \u2014 Show","description":"A packaging set is a recipe, such as box + tape + filler. It is not a deposit scheme or reuse system. Use archived to filter archived recipes.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: catalog:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PackagingSystem"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:read","x-organization-permission":"catalog.view"},"put":{"operationId":"systems_update","x-module":"systems","x-action":"update","tags":["Order packing and inventory"],"summary":"Packing sets \u2014 Update","description":"A packaging set holds a parcel recipe. Configuration calculates quantities, mass and availability; only consumption or reservation consumption records material use.\n\nUpdate this record with its required revision check. Consult the schema: PUT does not imply omitted fields are deleted.\n\nToken ability: catalog:write. Organization permission: catalog.update.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PackagingSystem"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:write","x-organization-permission":"catalog.update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SystemsUpdateInput"}}}}}},"\/organizations\/{organizationId}\/packaging-systems\/{recordId}\/archive":{"post":{"operationId":"systems_archive","x-module":"systems","x-action":"archive","tags":["Order packing and inventory"],"summary":"Packing sets \u2014 Archive","description":"A packaging set holds a parcel recipe. Configuration calculates quantities, mass and availability; only consumption or reservation consumption records material use.\n\nArchive the record while retaining history. Do not select archived resources for new work.\n\nToken ability: catalog:write. Organization permission: catalog.archive.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PackagingSystem"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:write","x-organization-permission":"catalog.archive","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SystemsArchiveInput"}}}}}},"\/organizations\/{organizationId}\/packaging-systems\/{recordId}\/configuration":{"get":{"operationId":"systems_configuration","x-module":"systems","x-action":"configuration","tags":["Order packing and inventory"],"summary":"Packing sets \u2014 Packing configuration","description":"A packaging set holds a parcel recipe. Configuration calculates quantities, mass and availability; only consumption or reservation consumption records material use.\n\nRead composition, configuration_hash and revision before reserving\/consuming. ready describes configuration completeness, not guaranteed stock; inspect available_sets and all_stock_tracked.\n\nToken ability: catalog:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["id","revision","configuration_hash","ready","lines","stock"],"properties":{"id":{"type":"string","format":"uuid"},"revision":{"type":"integer"},"configuration_hash":{"type":"string","minLength":64,"maxLength":64},"ready":{"type":"boolean","description":"Required data are present; does not certify regulatory compliance or stock availability."},"issues":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"item":{"type":["string","null"],"format":"uuid"}}}},"mass_g":{"type":["string","null"]},"available_sets":{"type":["integer","null"],"minimum":0},"all_stock_tracked":{"type":"boolean"},"outer_packaging":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"item":{"type":"string","format":"uuid"},"name":{"type":"string"},"internal_code":{"type":"string"},"item_revision":{"type":"integer"},"quantity":{"type":"string","pattern":"^-?[0-9]+(\\.[0-9]+)?$","description":"Exact decimal string"},"unit":{"type":"string"},"base_quantity":{"type":"string","pattern":"^-?[0-9]+(\\.[0-9]+)?$","description":"Exact decimal string"},"stock_unit":{"type":"string"},"role":{"type":"string"},"packaging_role":{"type":["string","null"]},"is_outer":{"type":"boolean"},"mass_g":{"type":["string","null"]},"reuse_type":{"type":"string"},"dimensions":{"type":"object","additionalProperties":{"type":"string","pattern":"^-?[0-9]+(\\.[0-9]+)?$","description":"Exact decimal string"}},"issues":{"type":"array","items":{"type":"string"}}}},{"type":"null"}]},"lines":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"item":{"type":"string","format":"uuid"},"name":{"type":"string"},"internal_code":{"type":"string"},"item_revision":{"type":"integer"},"quantity":{"type":"string","pattern":"^-?[0-9]+(\\.[0-9]+)?$","description":"Exact decimal string"},"unit":{"type":"string"},"base_quantity":{"type":"string","pattern":"^-?[0-9]+(\\.[0-9]+)?$","description":"Exact decimal string"},"stock_unit":{"type":"string"},"role":{"type":"string"},"packaging_role":{"type":["string","null"]},"is_outer":{"type":"boolean"},"mass_g":{"type":["string","null"]},"reuse_type":{"type":"string"},"dimensions":{"type":"object","additionalProperties":{"type":"string","pattern":"^-?[0-9]+(\\.[0-9]+)?$","description":"Exact decimal string"}},"issues":{"type":"array","items":{"type":"string"}}}}},"stock":{"type":"array","items":{"type":"object","properties":{"item":{"type":"string","format":"uuid"},"name":{"type":"string"},"unit":{"type":"string"},"required_quantity":{"type":"string","pattern":"^-?[0-9]+(\\.[0-9]+)?$","description":"Exact decimal string"},"tracked":{"type":"boolean"},"balance_quantity":{"type":["string","null"]},"reserved_quantity":{"type":["string","null"]},"available_quantity":{"type":["string","null"]},"available_sets":{"type":["integer","null"],"minimum":0}}}}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/packaging-systems\/{recordId}\/consumptions":{"post":{"operationId":"systems_consume","x-module":"systems","x-action":"consume","tags":["Order packing and inventory"],"summary":"Packing sets \u2014 Record set consumption","description":"A packaging set holds a parcel recipe. Configuration calculates quantities, mass and availability; only consumption or reservation consumption records material use.\n\nRecord actual recipe usage for order_reference using configuration revision\/hash and sets_count. All ingredients are consumed atomically; do not also send packing-consumptions for the same parcel.\n\nToken ability: flows:write. Organization permission: catalog.update.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PackagingSystemUsage"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"flows:write","x-organization-permission":"catalog.update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SystemsConsumeInput"},"examples":{"workflow":{"summary":"Integration example","description":"This illustrates structure. Replace UUIDs, revisions, dates and configuration_hash with real values; units and materials must match the packaging configuration.","value":{"revision":1,"configuration_hash":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","sets_count":1,"order_reference":"STORE-1\/ORDER-100\/PARCEL-1","event_on":"2026-09-29","country":"PL"}}}}}}}},"\/organizations\/{organizationId}\/packaging-systems\/{recordId}\/items":{"post":{"operationId":"systems_item","x-module":"systems","x-action":"item","tags":["Order packing and inventory"],"summary":"Packing sets \u2014 Item","description":"A packaging set holds a parcel recipe. Configuration calculates quantities, mass and availability; only consumption or reservation consumption records material use.\n\nAdd a recipe line; supplying line updates an existing line. revision refers to the set. Refetch configuration\/hash after writing.\n\nToken ability: catalog:write. Organization permission: catalog.update.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PackagingSystemItem"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:write","x-organization-permission":"catalog.update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SystemsItemInput"}}}}}},"\/organizations\/{organizationId}\/packaging-systems\/{recordId}\/items\/{lineId}":{"delete":{"operationId":"systems_remove_item","x-module":"systems","x-action":"remove-item","tags":["Order packing and inventory"],"summary":"Packing sets \u2014 Remove component","description":"A packaging set holds a parcel recipe. Configuration calculates quantities, mass and availability; only consumption or reservation consumption records material use.\n\nRemove a set line with its revision check. Returns the set id and new revision. Consumption history remains.\n\nToken ability: catalog:write. Organization permission: catalog.update.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"lineId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id of a line belonging to the parent in this path. Obtain it from the parent\u2019s line list."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Acknowledgement"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:write","x-organization-permission":"catalog.update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SystemsRemoveItemInput"}}}}}},"\/organizations\/{organizationId}\/packaging-systems\/{recordId}\/reservations":{"post":{"operationId":"reservations_create","x-module":"reservations","x-action":"create","tags":["Order packing and inventory"],"summary":"Order reservations \u2014 Create","description":"A set reservation holds available materials without recording consumption. States include held, released and consumed; expiry is also determined by expires_at before stored status changes.\n\nReserve a set for 1\u2013168 hours. All ingredients require tracked stock, current configuration and availability. Keep the reservation UUID for release or consume.\n\nToken ability: flows:write. Organization permission: catalog.update.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PackingReservation"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"flows:write","x-organization-permission":"catalog.update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ReservationsCreateInput"},"examples":{"workflow":{"summary":"Integration example","description":"This illustrates structure. Replace UUIDs, revisions, dates and configuration_hash with real values; units and materials must match the packaging configuration.","value":{"revision":1,"configuration_hash":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","sets_count":1,"order_reference":"STORE-1\/ORDER-100\/PARCEL-1","country":"PL","expires_in_hours":24}}}}}}}},"\/organizations\/{organizationId}\/packaging-systems\/{recordId}\/restore":{"post":{"operationId":"systems_restore","x-module":"systems","x-action":"restore","tags":["Order packing and inventory"],"summary":"Packing sets \u2014 Restore","description":"A packaging set holds a parcel recipe. Configuration calculates quantities, mass and availability; only consumption or reservation consumption records material use.\n\nRestore an archived record for current use. Obtain the required revision from the latest read.\n\nToken ability: catalog:write. Organization permission: catalog.archive.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PackagingSystem"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:write","x-organization-permission":"catalog.archive","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SystemsRestoreInput"}}}}}},"\/organizations\/{organizationId}\/packaging-systems\/{systemId}\/items":{"get":{"operationId":"system_items_list","x-module":"system-items","x-action":"list","tags":["Order packing and inventory"],"summary":"Packing set ingredients \u2014 List","description":"Recipe lines: packaging item, quantity, unit, role and outer-packaging flag. item is a catalogue UUID; line is a recipe-line UUID.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: catalog:read. Organization permission: catalog.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"systemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging-set public id from GET \/packaging-systems."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PackagingSystemItem"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/packaging-systems\/{systemId}\/usages":{"get":{"operationId":"system_usages_list","x-module":"system-usages","x-action":"list","tags":["Order packing and inventory"],"summary":"Set usage \u2014 List","description":"Set consumption history contains the frozen recipe and usage events. Do not rebuild historical usage from today\u2019s recipe.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: flows:read. Organization permission: catalog.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"systemId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Packaging-set public id from GET \/packaging-systems."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PackagingSystemUsage"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"flows:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/packing-consumptions":{"post":{"operationId":"packing_consumptions_create","x-module":"packing-consumptions","x-action":"create","tags":["Order packing and inventory"],"summary":"Order packing consumption \u2014 Create","description":"One-off packing with explicit material lines rather than a saved recipe. Each line references a packaging item and revision; the write is atomic.\n\nRecord usage lines for a unique order\/parcel reference. Each item appears once. Tracked items require availability; failure does not partially consume lines.\n\nToken ability: flows:write. Organization permission: catalog.update.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","properties":{"order_reference":{"type":"string"},"events":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrSupplyChainEvent"}}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"flows:write","x-organization-permission":"catalog.update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PackingConsumptionsCreateInput"},"examples":{"workflow":{"summary":"Integration example","description":"This illustrates structure. Replace UUIDs, revisions, dates and configuration_hash with real values; units and materials must match the packaging configuration.","value":{"order_reference":"STORE-1\/ORDER-100\/PARCEL-1","event_on":"2026-09-29","country":"PL","lines":[{"item":"11111111-1111-4111-8111-111111111111","revision":1,"quantity":1,"unit":"piece","reusable":false}]}}}}}}}},"\/organizations\/{organizationId}\/packing-recommendations":{"post":{"operationId":"packing_recommend","x-module":"packing","x-action":"recommend","tags":["Order packing and inventory"],"summary":"Packing recommendations \u2014 Recommend packaging","description":"Packing recommendations calculate candidates from product dimensions and configured packaging. Results can include exclusions or missing data; they neither reserve stock nor record consumption.\n\nCalculate candidates without writing or Idempotency-Key. Check exclusion reasons, dimensions and quantities; a selected candidate needs separate reservation\/consumption. Maximum 100 product units; 10 requests\/minute.\n\nToken ability: flows:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["algorithm","generated_at","candidates","excluded","search_truncated"],"properties":{"algorithm":{"type":"string"},"generated_at":{"type":"string","format":"date-time"},"shipment_weight_g":{"type":"string"},"scanned":{"type":"integer"},"evaluated":{"type":"integer"},"search_truncated":{"type":"boolean"},"notice":{"type":"string"},"assumptions":{"type":"object","properties":{"margin_mm":{"type":["string","number"]},"allow_stacking":{"type":"boolean"},"single_parcel":{"const":true},"shape":{"const":"cuboid"}}},"excluded":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"count":{"type":"integer"}}}},"candidates":{"type":"array","items":{"type":"object","properties":{"type":{"enum":["item","set"]},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"revision":{"type":"integer"},"configuration_hash":{"type":["string","null"]},"packaging_mass_g":{"type":"string"},"dimensions":{"type":"object","additionalProperties":{"type":["string","number","null"]}},"volume":{"type":"number"},"occupancy_percent":{"type":"number"},"available_packages":{"type":["integer","null"]},"stock_confirmed":{"type":"boolean"},"warnings":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"count":{"type":"integer"}}}},"placements":{"type":"array","items":{"type":"object","properties":{"line":{"type":"integer"},"unit":{"type":"integer"},"position_mm":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},"dimensions_mm":{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3}}}}}}}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"flows:read","x-organization-permission":"catalog.view","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PackingRecommendInput"}}}}}},"\/organizations\/{organizationId}\/packing-reservations":{"get":{"operationId":"reservations_list","x-module":"reservations","x-action":"list","tags":["Order packing and inventory"],"summary":"Order reservations \u2014 List","description":"A set reservation holds available materials without recording consumption. States include held, released and consumed; expiry is also determined by expires_at before stored status changes.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: flows:read. Organization permission: catalog.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}},{"name":"order_reference","in":"query","schema":{"type":"string","maxLength":255}},{"name":"status","in":"query","schema":{"type":"string","enum":["held","expired","released","consumed"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PackingReservation"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"flows:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/packing-reservations\/{recordId}":{"get":{"operationId":"reservations_show","x-module":"reservations","x-action":"show","tags":["Order packing and inventory"],"summary":"Order reservations \u2014 Show","description":"A set reservation holds available materials without recording consumption. States include held, released and consumed; expiry is also determined by expires_at before stored status changes.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: flows:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PackingReservation"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"flows:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/packing-reservations\/{recordId}\/consume":{"post":{"operationId":"reservations_consume","x-module":"reservations","x-action":"consume","tags":["Order packing and inventory"],"summary":"Order reservations \u2014 Record set consumption","description":"A set reservation holds available materials without recording consumption. States include held, released and consumed; expiry is also determined by expires_at before stored status changes.\n\nConsume a live reservation as actual packing. Returns a set-usage record, not the reservation. Order, country and composition come from the reservation. Expired reservations cannot be consumed.\n\nToken ability: flows:write. Organization permission: catalog.update.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PackagingSystemUsage"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"flows:write","x-organization-permission":"catalog.update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ReservationsConsumeInput"},"examples":{"workflow":{"summary":"Integration example","description":"This illustrates structure. Replace UUIDs, revisions, dates and configuration_hash with real values; units and materials must match the packaging configuration.","value":{"revision":1,"event_on":"2026-09-29"}}}}}}}},"\/organizations\/{organizationId}\/packing-reservations\/{recordId}\/release":{"post":{"operationId":"reservations_release","x-module":"reservations","x-action":"release","tags":["Order packing and inventory"],"summary":"Order reservations \u2014 Release reservation","description":"A set reservation holds available materials without recording consumption. States include held, released and consumed; expiry is also determined by expires_at before stored status changes.\n\nRelease a live reservation using its revision. Restores availability without reporting consumption; does not undo a consumed reservation.\n\nToken ability: flows:write. Organization permission: catalog.update.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PackingReservation"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"flows:write","x-organization-permission":"catalog.update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ReservationsReleaseInput"},"examples":{"workflow":{"summary":"Integration example","description":"This illustrates structure. Replace UUIDs, revisions, dates and configuration_hash with real values; units and materials must match the packaging configuration.","value":{"revision":1}}}}}}}},"\/organizations\/{organizationId}\/parties":{"get":{"operationId":"parties_list","x-module":"parties","x-action":"list","tags":["Packaging catalogue and structure"],"summary":"Parties \u2014 List","description":"Partners act as suppliers, manufacturers or customers. Their UUID can be linked to packaging. The public API exposes list, detail and creation using schema fields, not the panel\u2019s full address\/contact editing or tax-ID lookup.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: catalog:read. Organization permission: suppliers.manage.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/LegalEntity"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:read","x-organization-permission":"suppliers.manage"},"post":{"operationId":"parties_create","x-module":"parties","x-action":"create","tags":["Packaging catalogue and structure"],"summary":"Parties \u2014 Create","description":"Partners act as suppliers, manufacturers or customers. Their UUID can be linked to packaging. The public API exposes list, detail and creation using schema fields, not the panel\u2019s full address\/contact editing or tax-ID lookup.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nToken ability: catalog:write. Organization permission: suppliers.manage.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/LegalEntity"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:write","x-organization-permission":"suppliers.manage","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PartiesCreateInput"}}}}}},"\/organizations\/{organizationId}\/parties\/{recordId}":{"get":{"operationId":"parties_show","x-module":"parties","x-action":"show","tags":["Packaging catalogue and structure"],"summary":"Parties \u2014 Show","description":"Partners act as suppliers, manufacturers or customers. Their UUID can be linked to packaging. The public API exposes list, detail and creation using schema fields, not the panel\u2019s full address\/contact editing or tax-ID lookup.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: catalog:read. Organization permission: suppliers.manage.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/LegalEntity"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"catalog:read","x-organization-permission":"suppliers.manage"}},"\/organizations\/{organizationId}\/passport-subscriptions":{"get":{"operationId":"passport_subscriptions_list","x-module":"passport-subscriptions","x-action":"list","tags":["Passports and recipient access"],"summary":"Watched passports \u2014 List","description":"Personal subscriptions to a received\/shared passport. Requires current access and does not grant future-version access.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: passports:read. Organization permission: catalog.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","status","grant","name","owner_name","version","subscribed_at","unsubscribed_at"],"properties":{"id":{"type":"string","format":"uuid"},"status":{"enum":["watching","stopped","access_unavailable"]},"grant":{"type":["string","null"],"format":"uuid"},"name":{"type":["string","null"]},"owner_name":{"type":["string","null"]},"version":{"type":["integer","null"]},"subscribed_at":{"type":"string","format":"date-time"},"unsubscribed_at":{"type":["string","null"],"format":"date-time"}}}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"passports:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/passport-subscriptions\/{recordId}\/unsubscribe":{"post":{"operationId":"passport_subscriptions_unsubscribe","x-module":"passport-subscriptions","x-action":"unsubscribe","tags":["Passports and recipient access"],"summary":"Watched passports \u2014 Stop watching","description":"Personal subscriptions to a received\/shared passport. Requires current access and does not grant future-version access.\n\nDisable a personal subscription without revoking the publisher\u2019s sharing grant.\n\nToken ability: passports:write. Organization permission: catalog.view.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["id","status","grant","name","owner_name","version","subscribed_at","unsubscribed_at"],"properties":{"id":{"type":"string","format":"uuid"},"status":{"enum":["watching","stopped","access_unavailable"]},"grant":{"type":["string","null"],"format":"uuid"},"name":{"type":["string","null"]},"owner_name":{"type":["string","null"]},"version":{"type":["integer","null"]},"subscribed_at":{"type":"string","format":"date-time"},"unsubscribed_at":{"type":["string","null"],"format":"date-time"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"passports:write","x-organization-permission":"catalog.view","requestBody":{"required":false,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PassportSubscriptionsUnsubscribeInput"}}}}}},"\/organizations\/{organizationId}\/passport-subscriptions\/{recordId}\/updates":{"get":{"operationId":"passport_updates_list","x-module":"passport-updates","x-action":"list","tags":["Passports and recipient access"],"summary":"Passport updates \u2014 List","description":"Updates for passports followed by the key\u2019s user. Reads recheck access to compared versions; open marks an update as read.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: passports:read. Organization permission: catalog.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","version","opened_at","created_at"],"properties":{"id":{"type":"string","format":"uuid"},"version":{"type":"integer"},"opened_at":{"type":["string","null"],"format":"date-time"},"created_at":{"type":"string","format":"date-time"}}}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"passports:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/passport-updates\/{recordId}":{"get":{"operationId":"passport_updates_show","x-module":"passport-updates","x-action":"show","tags":["Passports and recipient access"],"summary":"Passport updates \u2014 Show","description":"Updates for passports followed by the key\u2019s user. Reads recheck access to compared versions; open marks an update as read.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: passports:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["id","version","opened_at","subscription","grant","previous_grant","comparison_unavailable","snapshot","comparison"],"properties":{"id":{"type":"string","format":"uuid"},"version":{"type":"integer"},"opened_at":{"type":["string","null"],"format":"date-time"},"subscription":{"type":"string","format":"uuid"},"grant":{"type":"string","format":"uuid"},"previous_grant":{"type":["string","null"],"format":"uuid"},"comparison_unavailable":{"type":"boolean"},"snapshot":{"type":"object","additionalProperties":true},"comparison":{"type":["object","null"],"properties":{"classification":{"enum":["manual_review_required","evidence_refresh","informational"]},"fields":{"type":"array","items":{"type":"object","additionalProperties":true}},"facts":{"type":"array","items":{"type":"object","additionalProperties":true}},"evidence_changed":{"type":"boolean"}}}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"passports:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/passport-updates\/{recordId}\/open":{"post":{"operationId":"passport_updates_open","x-module":"passport-updates","x-action":"open","tags":["Passports and recipient access"],"summary":"Passport updates \u2014 Open update","description":"Updates for passports followed by the key\u2019s user. Reads recheck access to compared versions; open marks an update as read.\n\nMark an update as opened and return its details after access checks. Does not adopt new data into your own catalogue.\n\nToken ability: passports:write. Organization permission: catalog.view.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["id","version","opened_at","subscription","grant","previous_grant","comparison_unavailable","snapshot","comparison"],"properties":{"id":{"type":"string","format":"uuid"},"version":{"type":"integer"},"opened_at":{"type":["string","null"],"format":"date-time"},"subscription":{"type":"string","format":"uuid"},"grant":{"type":"string","format":"uuid"},"previous_grant":{"type":["string","null"],"format":"uuid"},"comparison_unavailable":{"type":"boolean"},"snapshot":{"type":"object","additionalProperties":true},"comparison":{"type":["object","null"],"properties":{"classification":{"enum":["manual_review_required","evidence_refresh","informational"]},"fields":{"type":"array","items":{"type":"object","additionalProperties":true}},"facts":{"type":"array","items":{"type":"object","additionalProperties":true}},"evidence_changed":{"type":"boolean"}}}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"passports:write","x-organization-permission":"catalog.view","requestBody":{"required":false,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PassportUpdatesOpenInput"}}}}}},"\/organizations\/{organizationId}\/passports":{"get":{"operationId":"passports_list","x-module":"passports","x-action":"list","tags":["Passports and recipient access"],"summary":"Passports \u2014 List","description":"A versioned packaging-data snapshot. Drafting, publishing and granting organisation access are separate. Publishing is not sharing; a new version does not automatically inherit access.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: passports:read. Organization permission: catalog.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}},{"name":"item","in":"query","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PassportRelease"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"passports:read","x-organization-permission":"catalog.view"},"post":{"operationId":"passports_create","x-module":"passports","x-action":"create","tags":["Passports and recipient access"],"summary":"Passports \u2014 Create","description":"A versioned packaging-data snapshot. Drafting, publishing and granting organisation access are separate. Publishing is not sharing; a new version does not automatically inherit access.\n\nCreate a draft snapshot from packaging and reviewed data. Retain the passport id; publication requires freshness and review conditions.\n\nToken ability: passports:write. Organization permission: passports.manage.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PassportRelease"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"passports:write","x-organization-permission":"passports.manage","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PassportsCreateInput"},"examples":{"workflow":{"summary":"Integration example","description":"This illustrates structure. Replace UUIDs, revisions, dates and configuration_hash with real values; units and materials must match the packaging configuration.","value":{"item":"11111111-1111-4111-8111-111111111111"}}}}}}}},"\/organizations\/{organizationId}\/passports\/{recordId}":{"get":{"operationId":"passports_show","x-module":"passports","x-action":"show","tags":["Passports and recipient access"],"summary":"Passports \u2014 Show","description":"A versioned packaging-data snapshot. Drafting, publishing and granting organisation access are separate. Publishing is not sharing; a new version does not automatically inherit access.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: passports:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PassportRelease"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"passports:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/passports\/{recordId}\/publish":{"post":{"operationId":"passports_publish","x-module":"passports","x-action":"publish","tags":["Passports and recipient access"],"summary":"Passports \u2014 Publish","description":"A versioned packaging-data snapshot. Drafting, publishing and granting organisation access are separate. Publishing is not sharing; a new version does not automatically inherit access.\n\nPublish a draft after access, evidence and freshness checks. Changed inputs can block publication; create a current draft instead of rewriting an old snapshot.\n\nToken ability: passports:write. Organization permission: passports.manage.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PassportRelease"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"passports:write","x-organization-permission":"passports.manage","requestBody":{"required":false,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PassportsPublishInput"}}}}}},"\/organizations\/{organizationId}\/passports\/{recordId}\/shares":{"post":{"operationId":"passports_share","x-module":"passports","x-action":"share","tags":["Passports and recipient access"],"summary":"Passports \u2014 Share","description":"A versioned packaging-data snapshot. Drafting, publishing and granting organisation access are separate. Publishing is not sharing; a new version does not automatically inherit access.\n\nGrant recipient organisation access to a specific version with purpose, expiry and allow_download\/allow_adoption options. This is not a blanket public disclosure.\n\nToken ability: passports:write. Organization permission: sharing_grants.manage.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SharingGrant"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"passports:write","x-organization-permission":"sharing_grants.manage","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PassportsShareInput"}}}}}},"\/organizations\/{organizationId}\/passports\/{recordId}\/snapshot":{"get":{"operationId":"passports_snapshot","x-module":"passports","x-action":"snapshot","tags":["Passports and recipient access"],"summary":"Passports \u2014 Snapshot","description":"A versioned packaging-data snapshot. Drafting, publishing and granting organisation access are separate. Publishing is not sharing; a new version does not automatically inherit access.\n\nRetrieve the stored snapshot associated with this record. Current catalogue changes do not automatically recalculate it.\n\nToken ability: passports:read. Organization permission: passports.manage.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"passports:read","x-organization-permission":"passports.manage"}},"\/organizations\/{organizationId}\/ppwr\/authority-requests":{"get":{"operationId":"ppwr_authority_requests_list","x-module":"authority-requests","x-action":"list","tags":["Cases, submissions and audit"],"summary":"Authority requests \u2014 List","description":"Register of received authority requests, deadlines and requested materials. Does not automatically receive official correspondence.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: issues.manage or evidence.review.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrAuthorityRequest"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":["issues.manage","evidence.review"]},"post":{"operationId":"ppwr_authority_requests_create","x-module":"authority-requests","x-action":"create","tags":["Cases, submissions and audit"],"summary":"Authority requests \u2014 Create","description":"Register of received authority requests, deadlines and requested materials. Does not automatically receive official correspondence.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: issues.manage.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrAuthorityRequest"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"issues.manage","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrAuthorityRequestsCreateInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/authority-requests\/{parentId}\/responses":{"get":{"operationId":"ppwr_authority_responses_list","x-module":"authority-responses","x-action":"list","tags":["Cases, submissions and audit"],"summary":"Authority responses \u2014 List","description":"Responses and delivery evidence linked to an authority request. Recording evidence does not transmit a letter through an official channel.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: issues.manage or evidence.review.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"parentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Parent public id identified by the URL segment (report, case or reusable unit). Create\/retrieve the parent first."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrAuthorityResponse"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":["issues.manage","evidence.review"]},"post":{"operationId":"ppwr_authority_responses_create","x-module":"authority-responses","x-action":"create","tags":["Cases, submissions and audit"],"summary":"Authority responses \u2014 Create","description":"Responses and delivery evidence linked to an authority request. Recording evidence does not transmit a letter through an official channel.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: issues.manage.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"parentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Parent public id identified by the URL segment (report, case or reusable unit). Create\/retrieve the parent first."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrAuthorityResponse"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"issues.manage","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrAuthorityResponsesCreateInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/authority-requests\/{parentId}\/responses\/{recordId}":{"get":{"operationId":"ppwr_authority_responses_show","x-module":"authority-responses","x-action":"show","tags":["Cases, submissions and audit"],"summary":"Authority responses \u2014 Show","description":"Responses and delivery evidence linked to an authority request. Recording evidence does not transmit a letter through an official channel.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: issues.manage or evidence.review.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"parentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Parent public id identified by the URL segment (report, case or reusable unit). Create\/retrieve the parent first."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrAuthorityResponse"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":["issues.manage","evidence.review"]}},"\/organizations\/{organizationId}\/ppwr\/authority-requests\/{parentId}\/responses\/{recordId}\/review":{"post":{"operationId":"ppwr_authority_responses_review","x-module":"authority-responses","x-action":"review","tags":["Cases, submissions and audit"],"summary":"Authority responses \u2014 Review","description":"Responses and delivery evidence linked to an authority request. Recording evidence does not transmit a letter through an official channel.\n\nRecord a review decision and reason. Read the record afterwards for its status. This is an internal register decision.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:review. Organization permission: evidence.review.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"parentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Parent public id identified by the URL segment (report, case or reusable unit). Create\/retrieve the parent first."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrAuthorityResponse"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:review","x-organization-permission":"evidence.review","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrAuthorityResponsesReviewInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/authority-requests\/{recordId}":{"get":{"operationId":"ppwr_authority_requests_show","x-module":"authority-requests","x-action":"show","tags":["Cases, submissions and audit"],"summary":"Authority requests \u2014 Show","description":"Register of received authority requests, deadlines and requested materials. Does not automatically receive official correspondence.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: issues.manage or evidence.review.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrAuthorityRequest"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":["issues.manage","evidence.review"]}},"\/organizations\/{organizationId}\/ppwr\/deposit-schemes":{"get":{"operationId":"ppwr_deposit_schemes_list","x-module":"deposit-schemes","x-action":"list","tags":["Deposits, hospitality and information"],"summary":"Packaging deposit-scheme assessments \u2014 List","description":"Packaging deposit-scheme assessment records: market, format, capacity, exclusions, membership and evidence. No deposit billing, collection, refunds, return-machine control or operator settlement.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: reports.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrDepositSchemeAssessment"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"reports.view"},"post":{"operationId":"ppwr_deposit_schemes_create","x-module":"deposit-schemes","x-action":"create","tags":["Deposits, hospitality and information"],"summary":"Packaging deposit-scheme assessments \u2014 Create","description":"Packaging deposit-scheme assessment records: market, format, capacity, exclusions, membership and evidence. No deposit billing, collection, refunds, return-machine control or operator settlement.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: reports.export.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrDepositSchemeAssessment"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"reports.export","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrDepositSchemesCreateInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/deposit-schemes\/{recordId}":{"get":{"operationId":"ppwr_deposit_schemes_show","x-module":"deposit-schemes","x-action":"show","tags":["Deposits, hospitality and information"],"summary":"Packaging deposit-scheme assessments \u2014 Show","description":"Packaging deposit-scheme assessment records: market, format, capacity, exclusions, membership and evidence. No deposit billing, collection, refunds, return-machine control or operator settlement.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: reports.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrDepositSchemeAssessment"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"reports.view"}},"\/organizations\/{organizationId}\/ppwr\/deposit-schemes\/{recordId}\/review":{"post":{"operationId":"ppwr_deposit_schemes_review","x-module":"deposit-schemes","x-action":"review","tags":["Deposits, hospitality and information"],"summary":"Packaging deposit-scheme assessments \u2014 Review","description":"Packaging deposit-scheme assessment records: market, format, capacity, exclusions, membership and evidence. No deposit billing, collection, refunds, return-machine control or operator settlement.\n\nRecord a review decision and reason. Read the record afterwards for its status. This is an internal register decision.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:review. Organization permission: evidence.review.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrDepositSchemeAssessment"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:review","x-organization-permission":"evidence.review","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrDepositSchemesReviewInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/end-user-information":{"get":{"operationId":"ppwr_end_user_information_list","x-module":"end-user-information","x-action":"list","tags":["Deposits, hospitality and information"],"summary":"End user information \u2014 List","description":"Register of information provided to end users: content, topic, channel, language and evidence. Not a bulk campaign delivery service.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: reports.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrEndUserInformation"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"reports.view"},"post":{"operationId":"ppwr_end_user_information_create","x-module":"end-user-information","x-action":"create","tags":["Deposits, hospitality and information"],"summary":"End user information \u2014 Create","description":"Register of information provided to end users: content, topic, channel, language and evidence. Not a bulk campaign delivery service.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: reports.export.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrEndUserInformation"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"reports.export","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrEndUserInformationCreateInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/end-user-information\/{recordId}":{"get":{"operationId":"ppwr_end_user_information_show","x-module":"end-user-information","x-action":"show","tags":["Deposits, hospitality and information"],"summary":"End user information \u2014 Show","description":"Register of information provided to end users: content, topic, channel, language and evidence. Not a bulk campaign delivery service.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: reports.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrEndUserInformation"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"reports.view"}},"\/organizations\/{organizationId}\/ppwr\/end-user-information\/{recordId}\/review":{"post":{"operationId":"ppwr_end_user_information_review","x-module":"end-user-information","x-action":"review","tags":["Deposits, hospitality and information"],"summary":"End user information \u2014 Review","description":"Register of information provided to end users: content, topic, channel, language and evidence. Not a bulk campaign delivery service.\n\nRecord a review decision and reason. Read the record afterwards for its status. This is an internal register decision.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:review. Organization permission: evidence.review.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrEndUserInformation"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:review","x-organization-permission":"evidence.review","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrEndUserInformationReviewInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/epr-authorizations":{"get":{"operationId":"ppwr_epr_authorizations_list","x-module":"epr-authorizations","x-action":"list","tags":["Reports, EPR, BDO and recycled content"],"summary":"Epr authorizations \u2014 List","description":"Producer-responsibility authorisation register and evidence. Recording does not file an authority application or grant authorisation.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: reports.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrEprAuthorization"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"reports.view"},"post":{"operationId":"ppwr_epr_authorizations_create","x-module":"epr-authorizations","x-action":"create","tags":["Reports, EPR, BDO and recycled content"],"summary":"Epr authorizations \u2014 Create","description":"Producer-responsibility authorisation register and evidence. Recording does not file an authority application or grant authorisation.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: reports.export.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrEprAuthorization"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"reports.export","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrEprAuthorizationsCreateInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/epr-authorizations\/{recordId}":{"get":{"operationId":"ppwr_epr_authorizations_show","x-module":"epr-authorizations","x-action":"show","tags":["Reports, EPR, BDO and recycled content"],"summary":"Epr authorizations \u2014 Show","description":"Producer-responsibility authorisation register and evidence. Recording does not file an authority application or grant authorisation.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: reports.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrEprAuthorization"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"reports.view"}},"\/organizations\/{organizationId}\/ppwr\/epr-authorizations\/{recordId}\/review":{"post":{"operationId":"ppwr_epr_authorizations_review","x-module":"epr-authorizations","x-action":"review","tags":["Reports, EPR, BDO and recycled content"],"summary":"Epr authorizations \u2014 Review","description":"Producer-responsibility authorisation register and evidence. Recording does not file an authority application or grant authorisation.\n\nRecord a review decision and reason. Read the record afterwards for its status. This is an internal register decision.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:review. Organization permission: evidence.review.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrEprAuthorization"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:review","x-organization-permission":"evidence.review","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrEprAuthorizationsReviewInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/epr-registrations":{"get":{"operationId":"ppwr_epr_registrations_list","x-module":"epr-registrations","x-action":"list","tags":["Reports, EPR, BDO and recycled content"],"summary":"Epr registrations \u2014 List","description":"Producer registrations by market: identity, scope, period and documents. Separate from creating a PPWR Link organisation or user account.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: reports.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrEprRegistration"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"reports.view"},"post":{"operationId":"ppwr_epr_registrations_create","x-module":"epr-registrations","x-action":"create","tags":["Reports, EPR, BDO and recycled content"],"summary":"Epr registrations \u2014 Create","description":"Producer registrations by market: identity, scope, period and documents. Separate from creating a PPWR Link organisation or user account.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: reports.export.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrEprRegistration"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"reports.export","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrEprRegistrationsCreateInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/epr-registrations\/{recordId}":{"get":{"operationId":"ppwr_epr_registrations_show","x-module":"epr-registrations","x-action":"show","tags":["Reports, EPR, BDO and recycled content"],"summary":"Epr registrations \u2014 Show","description":"Producer registrations by market: identity, scope, period and documents. Separate from creating a PPWR Link organisation or user account.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: reports.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrEprRegistration"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"reports.view"}},"\/organizations\/{organizationId}\/ppwr\/epr-registrations\/{recordId}\/review":{"post":{"operationId":"ppwr_epr_registrations_review","x-module":"epr-registrations","x-action":"review","tags":["Reports, EPR, BDO and recycled content"],"summary":"Epr registrations \u2014 Review","description":"Producer registrations by market: identity, scope, period and documents. Separate from creating a PPWR Link organisation or user account.\n\nRecord a review decision and reason. Read the record afterwards for its status. This is an internal register decision.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:review. Organization permission: evidence.review.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrEprRegistration"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:review","x-organization-permission":"evidence.review","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrEprRegistrationsReviewInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/epr-reports":{"get":{"operationId":"ppwr_epr_reports_list","x-module":"epr-reports","x-action":"list","tags":["Reports, EPR, BDO and recycled content"],"summary":"Epr reports \u2014 List","description":"Annual EPR reports with lines and review. Export uses the recorded result; it does not file into a national portal.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: reports.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrEprAnnualReport"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"reports.view"},"post":{"operationId":"ppwr_epr_reports_create","x-module":"epr-reports","x-action":"create","tags":["Reports, EPR, BDO and recycled content"],"summary":"Epr reports \u2014 Create","description":"Annual EPR reports with lines and review. Export uses the recorded result; it does not file into a national portal.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: reports.export.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrEprAnnualReport"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"reports.export","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrEprReportsCreateInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/epr-reports\/{parentId}\/lines":{"get":{"operationId":"ppwr_epr_report_lines_list","x-module":"epr-report-lines","x-action":"list","tags":["Reports, EPR, BDO and recycled content"],"summary":"Epr report lines \u2014 List","description":"Categories\/masses in an annual EPR report. parentId is the report UUID. Complete lines before report review.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: reports.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"parentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Parent public id identified by the URL segment (report, case or reusable unit). Create\/retrieve the parent first."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrEprReportLine"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"reports.view"},"post":{"operationId":"ppwr_epr_report_lines_create","x-module":"epr-report-lines","x-action":"create","tags":["Reports, EPR, BDO and recycled content"],"summary":"Epr report lines \u2014 Create","description":"Categories\/masses in an annual EPR report. parentId is the report UUID. Complete lines before report review.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: reports.export.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"parentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Parent public id identified by the URL segment (report, case or reusable unit). Create\/retrieve the parent first."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrEprReportLine"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"reports.export","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrEprReportLinesCreateInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/epr-reports\/{parentId}\/lines\/{recordId}":{"get":{"operationId":"ppwr_epr_report_lines_show","x-module":"epr-report-lines","x-action":"show","tags":["Reports, EPR, BDO and recycled content"],"summary":"Epr report lines \u2014 Show","description":"Categories\/masses in an annual EPR report. parentId is the report UUID. Complete lines before report review.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: reports.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"parentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Parent public id identified by the URL segment (report, case or reusable unit). Create\/retrieve the parent first."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrEprReportLine"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"reports.view"}},"\/organizations\/{organizationId}\/ppwr\/epr-reports\/{recordId}":{"get":{"operationId":"ppwr_epr_reports_show","x-module":"epr-reports","x-action":"show","tags":["Reports, EPR, BDO and recycled content"],"summary":"Epr reports \u2014 Show","description":"Annual EPR reports with lines and review. Export uses the recorded result; it does not file into a national portal.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: reports.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrEprAnnualReport"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"reports.view"}},"\/organizations\/{organizationId}\/ppwr\/epr-reports\/{recordId}\/export":{"get":{"operationId":"epr_reports_download","x-module":"epr-reports","x-action":"download","tags":["Reports, EPR, BDO and recycled content"],"summary":"Epr reports \u2014 Download","description":"Annual EPR reports with lines and review. Export uses the recorded result; it does not file into a national portal.\n\nDownload a binary file, not JSON. Errors still return JSON; check HTTP status and Content-Type before saving the response.\n\nToken ability: reports:read. Organization permission: reports.export.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"reports:read","x-organization-permission":"reports.export"}},"\/organizations\/{organizationId}\/ppwr\/epr-reports\/{recordId}\/review":{"post":{"operationId":"ppwr_epr_reports_review","x-module":"epr-reports","x-action":"review","tags":["Reports, EPR, BDO and recycled content"],"summary":"Epr reports \u2014 Review","description":"Annual EPR reports with lines and review. Export uses the recorded result; it does not file into a national portal.\n\nRecord a review decision and reason. Read the record afterwards for its status. This is an internal register decision.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:review. Organization permission: evidence.review.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrEprAnnualReport"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:review","x-organization-permission":"evidence.review","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrEprReportsReviewInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/external-submissions":{"get":{"operationId":"ppwr_external_submissions_list","x-module":"external-submissions","x-action":"list","tags":["Cases, submissions and audit"],"summary":"External submission records \u2014 List","description":"Register of filings performed in external systems, with references and evidence. Creating a record does not submit to those systems.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: reports.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/ExternalSubmission"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"reports.view"},"post":{"operationId":"ppwr_external_submissions_create","x-module":"external-submissions","x-action":"create","tags":["Cases, submissions and audit"],"summary":"External submission records \u2014 Create","description":"Register of filings performed in external systems, with references and evidence. Creating a record does not submit to those systems.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: reports.export.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ExternalSubmission"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"reports.export","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrExternalSubmissionsCreateInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/external-submissions\/{recordId}":{"get":{"operationId":"ppwr_external_submissions_show","x-module":"external-submissions","x-action":"show","tags":["Cases, submissions and audit"],"summary":"External submission records \u2014 Show","description":"Register of filings performed in external systems, with references and evidence. Creating a record does not submit to those systems.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: reports.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ExternalSubmission"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"reports.view"}},"\/organizations\/{organizationId}\/ppwr\/external-submissions\/{recordId}\/review":{"post":{"operationId":"ppwr_external_submissions_review","x-module":"external-submissions","x-action":"review","tags":["Cases, submissions and audit"],"summary":"External submission records \u2014 Review","description":"Register of filings performed in external systems, with references and evidence. Creating a record does not submit to those systems.\n\nRecord a review decision and reason. Read the record afterwards for its status. This is an internal register decision.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:review. Organization permission: evidence.review.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ExternalSubmission"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:review","x-organization-permission":"evidence.review","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrExternalSubmissionsReviewInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/formal-cases":{"get":{"operationId":"ppwr_formal_cases_list","x-module":"formal-cases","x-action":"list","tags":["Cases, submissions and audit"],"summary":"Formal cases \u2014 List","description":"Formal cases\/corrective actions for packaging. History events record actions\/evidence, not authority decisions.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: issues.manage or evidence.review.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrFormalCase"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":["issues.manage","evidence.review"]},"post":{"operationId":"ppwr_formal_cases_create","x-module":"formal-cases","x-action":"create","tags":["Cases, submissions and audit"],"summary":"Formal cases \u2014 Create","description":"Formal cases\/corrective actions for packaging. History events record actions\/evidence, not authority decisions.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: issues.manage.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrFormalCase"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"issues.manage","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrFormalCasesCreateInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/formal-cases\/{parentId}\/events":{"get":{"operationId":"ppwr_formal_case_events_list","x-module":"formal-case-events","x-action":"list","tags":["Cases, submissions and audit"],"summary":"Formal case events \u2014 List","description":"Case history: findings, responses, actions and closure according to event type. parentId is the case UUID.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: issues.manage or evidence.review.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"parentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Parent public id identified by the URL segment (report, case or reusable unit). Create\/retrieve the parent first."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrFormalCaseEvent"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":["issues.manage","evidence.review"]},"post":{"operationId":"ppwr_formal_case_events_create","x-module":"formal-case-events","x-action":"create","tags":["Cases, submissions and audit"],"summary":"Formal case events \u2014 Create","description":"Case history: findings, responses, actions and closure according to event type. parentId is the case UUID.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: issues.manage.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"parentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Parent public id identified by the URL segment (report, case or reusable unit). Create\/retrieve the parent first."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrFormalCaseEvent"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"issues.manage","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrFormalCaseEventsCreateInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/formal-cases\/{parentId}\/events\/{recordId}":{"get":{"operationId":"ppwr_formal_case_events_show","x-module":"formal-case-events","x-action":"show","tags":["Cases, submissions and audit"],"summary":"Formal case events \u2014 Show","description":"Case history: findings, responses, actions and closure according to event type. parentId is the case UUID.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: issues.manage or evidence.review.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"parentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Parent public id identified by the URL segment (report, case or reusable unit). Create\/retrieve the parent first."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrFormalCaseEvent"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":["issues.manage","evidence.review"]}},"\/organizations\/{organizationId}\/ppwr\/formal-cases\/{recordId}":{"get":{"operationId":"ppwr_formal_cases_show","x-module":"formal-cases","x-action":"show","tags":["Cases, submissions and audit"],"summary":"Formal cases \u2014 Show","description":"Formal cases\/corrective actions for packaging. History events record actions\/evidence, not authority decisions.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: issues.manage or evidence.review.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrFormalCase"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":["issues.manage","evidence.review"]}},"\/organizations\/{organizationId}\/ppwr\/horeca":{"get":{"operationId":"ppwr_horeca_list","x-module":"horeca","x-action":"list","tags":["Deposits, hospitality and information"],"summary":"Horeca \u2014 List","description":"Hospitality packaging\/sales assessments with business scope and exceptions. A documentary register, not a POS system.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: reports.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrHorecaAssessment"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"reports.view"},"post":{"operationId":"ppwr_horeca_create","x-module":"horeca","x-action":"create","tags":["Deposits, hospitality and information"],"summary":"Horeca \u2014 Create","description":"Hospitality packaging\/sales assessments with business scope and exceptions. A documentary register, not a POS system.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: reports.export.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrHorecaAssessment"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"reports.export","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrHorecaCreateInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/horeca\/{recordId}":{"get":{"operationId":"ppwr_horeca_show","x-module":"horeca","x-action":"show","tags":["Deposits, hospitality and information"],"summary":"Horeca \u2014 Show","description":"Hospitality packaging\/sales assessments with business scope and exceptions. A documentary register, not a POS system.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: reports.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrHorecaAssessment"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"reports.view"}},"\/organizations\/{organizationId}\/ppwr\/horeca\/{recordId}\/review":{"post":{"operationId":"ppwr_horeca_review","x-module":"horeca","x-action":"review","tags":["Deposits, hospitality and information"],"summary":"Horeca \u2014 Review","description":"Hospitality packaging\/sales assessments with business scope and exceptions. A documentary register, not a POS system.\n\nRecord a review decision and reason. Read the record afterwards for its status. This is an internal register decision.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:review. Organization permission: evidence.review.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrHorecaAssessment"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:review","x-organization-permission":"evidence.review","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrHorecaReviewInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/plant-year-pcr":{"get":{"operationId":"ppwr_plant_year_pcr_list","x-module":"plant-year-pcr","x-action":"list","tags":["Reports, EPR, BDO and recycled content"],"summary":"Plant year pcr \u2014 List","description":"Plant-year recycled-content record with mass\/evidence. Not recycled-feedstock inventory or a complete manufacturing ERP.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: reports.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrPlantYearPcr"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"reports.view"},"post":{"operationId":"ppwr_plant_year_pcr_create","x-module":"plant-year-pcr","x-action":"create","tags":["Reports, EPR, BDO and recycled content"],"summary":"Plant year pcr \u2014 Create","description":"Plant-year recycled-content record with mass\/evidence. Not recycled-feedstock inventory or a complete manufacturing ERP.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: reports.export.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrPlantYearPcr"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"reports.export","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrPlantYearPcrCreateInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/plant-year-pcr\/{recordId}":{"get":{"operationId":"ppwr_plant_year_pcr_show","x-module":"plant-year-pcr","x-action":"show","tags":["Reports, EPR, BDO and recycled content"],"summary":"Plant year pcr \u2014 Show","description":"Plant-year recycled-content record with mass\/evidence. Not recycled-feedstock inventory or a complete manufacturing ERP.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: reports.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrPlantYearPcr"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"reports.view"}},"\/organizations\/{organizationId}\/ppwr\/plant-year-pcr\/{recordId}\/review":{"post":{"operationId":"ppwr_plant_year_pcr_review","x-module":"plant-year-pcr","x-action":"review","tags":["Reports, EPR, BDO and recycled content"],"summary":"Plant year pcr \u2014 Review","description":"Plant-year recycled-content record with mass\/evidence. Not recycled-feedstock inventory or a complete manufacturing ERP.\n\nRecord a review decision and reason. Read the record afterwards for its status. This is an internal register decision.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:review. Organization permission: evidence.review.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrPlantYearPcr"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:review","x-organization-permission":"evidence.review","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrPlantYearPcrReviewInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/refill-stations":{"get":{"operationId":"ppwr_refill_stations_list","x-module":"refill-stations","x-action":"list","tags":["Reuse systems and returnable units"],"summary":"Refill stations \u2014 List","description":"Refill-station records with operating conditions and evidence. Does not control dispensing equipment or retail sales.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: reports.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrRefillStation"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"reports.view"},"post":{"operationId":"ppwr_refill_stations_create","x-module":"refill-stations","x-action":"create","tags":["Reuse systems and returnable units"],"summary":"Refill stations \u2014 Create","description":"Refill-station records with operating conditions and evidence. Does not control dispensing equipment or retail sales.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: reports.export.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrRefillStation"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"reports.export","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrRefillStationsCreateInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/refill-stations\/{recordId}":{"get":{"operationId":"ppwr_refill_stations_show","x-module":"refill-stations","x-action":"show","tags":["Reuse systems and returnable units"],"summary":"Refill stations \u2014 Show","description":"Refill-station records with operating conditions and evidence. Does not control dispensing equipment or retail sales.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: reports.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrRefillStation"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"reports.view"}},"\/organizations\/{organizationId}\/ppwr\/refill-stations\/{recordId}\/review":{"post":{"operationId":"ppwr_refill_stations_review","x-module":"refill-stations","x-action":"review","tags":["Reuse systems and returnable units"],"summary":"Refill stations \u2014 Review","description":"Refill-station records with operating conditions and evidence. Does not control dispensing equipment or retail sales.\n\nRecord a review decision and reason. Read the record afterwards for its status. This is an internal register decision.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:review. Organization permission: evidence.review.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrRefillStation"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:review","x-organization-permission":"evidence.review","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrRefillStationsReviewInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/reuse-market-confirmations":{"get":{"operationId":"ppwr_reuse_market_confirmations_list","x-module":"reuse-market-confirmations","x-action":"list","tags":["Reuse systems and returnable units"],"summary":"Reuse market confirmations \u2014 List","description":"Market\/period confirmations for a reuse system, linking the system to evidence of specific use.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: catalog.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/ReuseMarketConfirmation"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"},"post":{"operationId":"ppwr_reuse_market_confirmations_create","x-module":"reuse-market-confirmations","x-action":"create","tags":["Reuse systems and returnable units"],"summary":"Reuse market confirmations \u2014 Create","description":"Market\/period confirmations for a reuse system, linking the system to evidence of specific use.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: catalog.update.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ReuseMarketConfirmation"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"catalog.update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrReuseMarketConfirmationsCreateInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/reuse-market-confirmations\/{recordId}":{"get":{"operationId":"ppwr_reuse_market_confirmations_show","x-module":"reuse-market-confirmations","x-action":"show","tags":["Reuse systems and returnable units"],"summary":"Reuse market confirmations \u2014 Show","description":"Market\/period confirmations for a reuse system, linking the system to evidence of specific use.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ReuseMarketConfirmation"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/ppwr\/reuse-market-confirmations\/{recordId}\/review":{"post":{"operationId":"ppwr_reuse_market_confirmations_review","x-module":"reuse-market-confirmations","x-action":"review","tags":["Reuse systems and returnable units"],"summary":"Reuse market confirmations \u2014 Review","description":"Market\/period confirmations for a reuse system, linking the system to evidence of specific use.\n\nRecord a review decision and reason. Read the record afterwards for its status. This is an internal register decision.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:review. Organization permission: evidence.review.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ReuseMarketConfirmation"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:review","x-organization-permission":"evidence.review","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrReuseMarketConfirmationsReviewInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/reuse-statistics":{"get":{"operationId":"reuse_statistics","x-module":"reuse-statistics","x-action":"reuse-statistics","tags":["Reuse systems and returnable units"],"summary":"Reuse statistics","description":"Aggregates of recorded reuse systems and units. Results reflect the recorded scope, not a replacement for periodic target datasets or full compliance assessment.\n\nRead aggregates of recorded circulation\/systems without modifying records or events.\n\nToken ability: ppwr:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/ppwr\/reuse-systems":{"get":{"operationId":"ppwr_reuse_systems_list","x-module":"reuse-systems","x-action":"list","tags":["Reuse systems and returnable units"],"summary":"Reuse systems \u2014 List","description":"A reusable-packaging circulation system and its evidence. Describes participants\/return rules, not a box-and-tape recipe in packaging-systems.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: catalog.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrReuseSystem"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"},"post":{"operationId":"ppwr_reuse_systems_create","x-module":"reuse-systems","x-action":"create","tags":["Reuse systems and returnable units"],"summary":"Reuse systems \u2014 Create","description":"A reusable-packaging circulation system and its evidence. Describes participants\/return rules, not a box-and-tape recipe in packaging-systems.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: catalog.update.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrReuseSystem"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"catalog.update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrReuseSystemsCreateInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/reuse-systems\/{recordId}":{"get":{"operationId":"ppwr_reuse_systems_show","x-module":"reuse-systems","x-action":"show","tags":["Reuse systems and returnable units"],"summary":"Reuse systems \u2014 Show","description":"A reusable-packaging circulation system and its evidence. Describes participants\/return rules, not a box-and-tape recipe in packaging-systems.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrReuseSystem"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/ppwr\/reuse-systems\/{recordId}\/review":{"post":{"operationId":"ppwr_reuse_systems_review","x-module":"reuse-systems","x-action":"review","tags":["Reuse systems and returnable units"],"summary":"Reuse systems \u2014 Review","description":"A reusable-packaging circulation system and its evidence. Describes participants\/return rules, not a box-and-tape recipe in packaging-systems.\n\nRecord a review decision and reason. Read the record afterwards for its status. This is an internal register decision.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:review. Organization permission: evidence.review.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrReuseSystem"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:review","x-organization-permission":"evidence.review","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrReuseSystemsReviewInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/reuse-targets":{"get":{"operationId":"ppwr_reuse_targets_list","x-module":"reuse-targets","x-action":"list","tags":["Reuse systems and returnable units"],"summary":"Reuse targets \u2014 List","description":"Periodic reuse-share dataset. Create the dataset first, add its lines and then review the whole dataset.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: reports.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrReuseTargetDataset"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"reports.view"},"post":{"operationId":"ppwr_reuse_targets_create","x-module":"reuse-targets","x-action":"create","tags":["Reuse systems and returnable units"],"summary":"Reuse targets \u2014 Create","description":"Periodic reuse-share dataset. Create the dataset first, add its lines and then review the whole dataset.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: reports.export.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrReuseTargetDataset"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"reports.export","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrReuseTargetsCreateInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/reuse-targets\/{parentId}\/lines":{"get":{"operationId":"ppwr_reuse_target_lines_list","x-module":"reuse-target-lines","x-action":"list","tags":["Reuse systems and returnable units"],"summary":"Reuse target lines \u2014 List","description":"Lines of a periodic reuse dataset. parentId identifies the dataset; fields determine contributions to the denominator\/numerator as specified.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: reports.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"parentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Parent public id identified by the URL segment (report, case or reusable unit). Create\/retrieve the parent first."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrReuseTargetLine"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"reports.view"},"post":{"operationId":"ppwr_reuse_target_lines_create","x-module":"reuse-target-lines","x-action":"create","tags":["Reuse systems and returnable units"],"summary":"Reuse target lines \u2014 Create","description":"Lines of a periodic reuse dataset. parentId identifies the dataset; fields determine contributions to the denominator\/numerator as specified.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: reports.export.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"parentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Parent public id identified by the URL segment (report, case or reusable unit). Create\/retrieve the parent first."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrReuseTargetLine"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"reports.export","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrReuseTargetLinesCreateInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/reuse-targets\/{parentId}\/lines\/{recordId}":{"get":{"operationId":"ppwr_reuse_target_lines_show","x-module":"reuse-target-lines","x-action":"show","tags":["Reuse systems and returnable units"],"summary":"Reuse target lines \u2014 Show","description":"Lines of a periodic reuse dataset. parentId identifies the dataset; fields determine contributions to the denominator\/numerator as specified.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: reports.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"parentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Parent public id identified by the URL segment (report, case or reusable unit). Create\/retrieve the parent first."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrReuseTargetLine"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"reports.view"}},"\/organizations\/{organizationId}\/ppwr\/reuse-targets\/{recordId}":{"get":{"operationId":"ppwr_reuse_targets_show","x-module":"reuse-targets","x-action":"show","tags":["Reuse systems and returnable units"],"summary":"Reuse targets \u2014 Show","description":"Periodic reuse-share dataset. Create the dataset first, add its lines and then review the whole dataset.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: reports.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrReuseTargetDataset"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"reports.view"}},"\/organizations\/{organizationId}\/ppwr\/reuse-targets\/{recordId}\/review":{"post":{"operationId":"ppwr_reuse_targets_review","x-module":"reuse-targets","x-action":"review","tags":["Reuse systems and returnable units"],"summary":"Reuse targets \u2014 Review","description":"Periodic reuse-share dataset. Create the dataset first, add its lines and then review the whole dataset.\n\nRecord a review decision and reason. Read the record afterwards for its status. This is an internal register decision.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:review. Organization permission: evidence.review.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrReuseTargetDataset"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:review","x-organization-permission":"evidence.review","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrReuseTargetsReviewInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/reuse-units\/{parentId}\/events":{"get":{"operationId":"ppwr_reuse_unit_events_list","x-module":"reuse-unit-events","x-action":"list","tags":["Reuse systems and returnable units"],"summary":"Reuse unit events \u2014 List","description":"Circulation events for a reusable unit identified by parentId. Recording and reviewing an event are separate operations.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: catalog.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"parentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Parent public id identified by the URL segment (report, case or reusable unit). Create\/retrieve the parent first."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrReuseUnitEvent"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"},"post":{"operationId":"ppwr_reuse_unit_events_create","x-module":"reuse-unit-events","x-action":"create","tags":["Reuse systems and returnable units"],"summary":"Reuse unit events \u2014 Create","description":"Circulation events for a reusable unit identified by parentId. Recording and reviewing an event are separate operations.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: catalog.update.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"parentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Parent public id identified by the URL segment (report, case or reusable unit). Create\/retrieve the parent first."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrReuseUnitEvent"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"catalog.update","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrReuseUnitEventsCreateInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/reuse-units\/{parentId}\/events\/{recordId}":{"get":{"operationId":"ppwr_reuse_unit_events_show","x-module":"reuse-unit-events","x-action":"show","tags":["Reuse systems and returnable units"],"summary":"Reuse unit events \u2014 Show","description":"Circulation events for a reusable unit identified by parentId. Recording and reviewing an event are separate operations.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: catalog.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"parentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Parent public id identified by the URL segment (report, case or reusable unit). Create\/retrieve the parent first."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrReuseUnitEvent"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"catalog.view"}},"\/organizations\/{organizationId}\/ppwr\/reuse-units\/{parentId}\/events\/{recordId}\/review":{"post":{"operationId":"ppwr_reuse_unit_events_review","x-module":"reuse-unit-events","x-action":"review","tags":["Reuse systems and returnable units"],"summary":"Reuse unit events \u2014 Review","description":"Circulation events for a reusable unit identified by parentId. Recording and reviewing an event are separate operations.\n\nRecord a review decision and reason. Read the record afterwards for its status. This is an internal register decision.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:review. Organization permission: evidence.review.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"parentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Parent public id identified by the URL segment (report, case or reusable unit). Create\/retrieve the parent first."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrReuseUnitEvent"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:review","x-organization-permission":"evidence.review","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrReuseUnitEventsReviewInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/waste-reports":{"get":{"operationId":"ppwr_waste_reports_list","x-module":"waste-reports","x-action":"list","tags":["Reports, EPR, BDO and recycled content"],"summary":"Waste reports \u2014 List","description":"Periodic waste-management reports with lines, evidence and review. Export requires an authority or producer audience.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: reports.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrWasteAnnualReport"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"reports.view"},"post":{"operationId":"ppwr_waste_reports_create","x-module":"waste-reports","x-action":"create","tags":["Reports, EPR, BDO and recycled content"],"summary":"Waste reports \u2014 Create","description":"Periodic waste-management reports with lines, evidence and review. Export requires an authority or producer audience.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: reports.export.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrWasteAnnualReport"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"reports.export","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrWasteReportsCreateInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/waste-reports\/{parentId}\/lines":{"get":{"operationId":"ppwr_waste_report_lines_list","x-module":"waste-report-lines","x-action":"list","tags":["Reports, EPR, BDO and recycled content"],"summary":"Waste report lines \u2014 List","description":"Waste-report lines attached to the report parentId. They are not waste transfer notes in the external BDO system.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: ppwr:read. Organization permission: reports.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"parentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Parent public id identified by the URL segment (report, case or reusable unit). Create\/retrieve the parent first."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrWasteReportLine"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"reports.view"},"post":{"operationId":"ppwr_waste_report_lines_create","x-module":"waste-report-lines","x-action":"create","tags":["Reports, EPR, BDO and recycled content"],"summary":"Waste report lines \u2014 Create","description":"Waste-report lines attached to the report parentId. They are not waste transfer notes in the external BDO system.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:write. Organization permission: reports.export.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"parentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Parent public id identified by the URL segment (report, case or reusable unit). Create\/retrieve the parent first."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrWasteReportLine"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:write","x-organization-permission":"reports.export","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrWasteReportLinesCreateInput"}}}}}},"\/organizations\/{organizationId}\/ppwr\/waste-reports\/{parentId}\/lines\/{recordId}":{"get":{"operationId":"ppwr_waste_report_lines_show","x-module":"waste-report-lines","x-action":"show","tags":["Reports, EPR, BDO and recycled content"],"summary":"Waste report lines \u2014 Show","description":"Waste-report lines attached to the report parentId. They are not waste transfer notes in the external BDO system.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: reports.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"parentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Parent public id identified by the URL segment (report, case or reusable unit). Create\/retrieve the parent first."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrWasteReportLine"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"reports.view"}},"\/organizations\/{organizationId}\/ppwr\/waste-reports\/{recordId}":{"get":{"operationId":"ppwr_waste_reports_show","x-module":"waste-reports","x-action":"show","tags":["Reports, EPR, BDO and recycled content"],"summary":"Waste reports \u2014 Show","description":"Periodic waste-management reports with lines, evidence and review. Export requires an authority or producer audience.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: ppwr:read. Organization permission: reports.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrWasteAnnualReport"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:read","x-organization-permission":"reports.view"}},"\/organizations\/{organizationId}\/ppwr\/waste-reports\/{recordId}\/export":{"get":{"operationId":"waste_reports_download","x-module":"waste-reports","x-action":"download","tags":["Reports, EPR, BDO and recycled content"],"summary":"Waste reports \u2014 Download","description":"Periodic waste-management reports with lines, evidence and review. Export requires an authority or producer audience.\n\nDownload a binary file, not JSON. Errors still return JSON; check HTTP status and Content-Type before saving the response.\n\nToken ability: reports:read. Organization permission: reports.export.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"audience","in":"query","required":true,"schema":{"type":"string","enum":["authority","producer"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"reports:read","x-organization-permission":"reports.export"}},"\/organizations\/{organizationId}\/ppwr\/waste-reports\/{recordId}\/review":{"post":{"operationId":"ppwr_waste_reports_review","x-module":"waste-reports","x-action":"review","tags":["Reports, EPR, BDO and recycled content"],"summary":"Waste reports \u2014 Review","description":"Periodic waste-management reports with lines, evidence and review. Export requires an authority or producer audience.\n\nRecord a review decision and reason. Read the record afterwards for its status. This is an internal register decision.\n\nFor a technical register: prepare packaging or a parent record, required document versions and assessment date; create the record, retain its UUID and call \/review if exposed. Sources must meet the register\u2019s requirements. A separate reviewer may be required; 403\/422 does not necessarily indicate a broken API key. Recording or reviewing data does not replace a published assessment methodology.\n\nToken ability: ppwr:review. Organization permission: evidence.review.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrWasteAnnualReport"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"ppwr:review","x-organization-permission":"evidence.review","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PpwrWasteReportsReviewInput"}}}}}},"\/organizations\/{organizationId}\/received-passports\/{recordId}\/subscription":{"post":{"operationId":"passport_subscriptions_create","x-module":"passport-subscriptions","x-action":"create","tags":["Passports and recipient access"],"summary":"Watched passports \u2014 Create","description":"Personal subscriptions to a received\/shared passport. Requires current access and does not grant future-version access.\n\nSubscribe to the received passport identified by recordId. The ID refers to the received version; active sharing is rechecked.\n\nToken ability: passports:write. Organization permission: catalog.view.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["id","status","grant","name","owner_name","version","subscribed_at","unsubscribed_at"],"properties":{"id":{"type":"string","format":"uuid"},"status":{"enum":["watching","stopped","access_unavailable"]},"grant":{"type":["string","null"],"format":"uuid"},"name":{"type":["string","null"]},"owner_name":{"type":["string","null"]},"version":{"type":["integer","null"]},"subscribed_at":{"type":"string","format":"date-time"},"unsubscribed_at":{"type":["string","null"],"format":"date-time"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"passports:write","x-organization-permission":"catalog.view","requestBody":{"required":false,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PassportSubscriptionsCreateInput"}}}}}},"\/organizations\/{organizationId}\/reports":{"get":{"operationId":"reports_list","x-module":"reports","x-action":"list","tags":["Reports, EPR, BDO and recycled content"],"summary":"Reports \u2014 List","description":"Catalogue, assessment and flow exports to CSV\/XLSX. A request freezes inputs; a worker generates the file. Download after completed.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: reports:read. Organization permission: reports.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/ReportRun"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"reports:read","x-organization-permission":"reports.view"},"post":{"operationId":"reports_create","x-module":"reports","x-action":"create","tags":["Reports, EPR, BDO and recycled content"],"summary":"Reports \u2014 Create","description":"Catalogue, assessment and flow exports to CSV\/XLSX. A request freezes inputs; a worker generates the file. Download after completed.\n\nRequest a catalog, assessments or flows CSV export, or its _xlsx variant. Keep id, poll GET \/reports\/{id}, then download after completed.\n\nToken ability: reports:run. Organization permission: reports.export.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.\n\n202 confirms queued work. Poll the resource by its returned `id` until processing finishes; `queued` does not mean a file is ready.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"202":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Acknowledgement"}}}}},"x-token-ability":"reports:run","x-organization-permission":"reports.export","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ReportsCreateInput"}}}}}},"\/organizations\/{organizationId}\/reports\/{recordId}":{"get":{"operationId":"reports_show","x-module":"reports","x-action":"show","tags":["Reports, EPR, BDO and recycled content"],"summary":"Reports \u2014 Show","description":"Catalogue, assessment and flow exports to CSV\/XLSX. A request freezes inputs; a worker generates the file. Download after completed.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: reports:read. Organization permission: reports.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ReportRun"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"reports:read","x-organization-permission":"reports.view"}},"\/organizations\/{organizationId}\/reports\/{recordId}\/download":{"get":{"operationId":"reports_download","x-module":"reports","x-action":"download","tags":["Reports, EPR, BDO and recycled content"],"summary":"Reports \u2014 Download","description":"Catalogue, assessment and flow exports to CSV\/XLSX. A request freezes inputs; a worker generates the file. Download after completed.\n\nDownload a binary file, not JSON. Errors still return JSON; check HTTP status and Content-Type before saving the response.\n\nToken ability: reports:read. Organization permission: reports.export.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"reports:read","x-organization-permission":"reports.export"}},"\/organizations\/{organizationId}\/sharing-grants":{"get":{"operationId":"sharing_grants_list","x-module":"sharing-grants","x-action":"list","tags":["Passports and recipient access"],"summary":"Sharing grants \u2014 List","description":"Recipient access to a specific passport version, including purpose, expiry and download\/adoption options. Not organisation membership roles.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: passports:read. Organization permission: sharing_grants.manage.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/SharingGrant"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"passports:read","x-organization-permission":"sharing_grants.manage"}},"\/organizations\/{organizationId}\/sharing-grants\/{recordId}":{"get":{"operationId":"sharing_grants_show","x-module":"sharing-grants","x-action":"show","tags":["Passports and recipient access"],"summary":"Sharing grants \u2014 Show","description":"Recipient access to a specific passport version, including purpose, expiry and download\/adoption options. Not organisation membership roles.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: passports:read. Organization permission: sharing_grants.manage.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SharingGrant"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"passports:read","x-organization-permission":"sharing_grants.manage"}},"\/organizations\/{organizationId}\/sharing-grants\/{recordId}\/revoke":{"post":{"operationId":"passports_revoke","x-module":"passports","x-action":"revoke","tags":["Passports and recipient access"],"summary":"Passports \u2014 Revoke","description":"A versioned packaging-data snapshot. Drafting, publishing and granting organisation access are separate. Publishing is not sharing; a new version does not automatically inherit access.\n\nRevoke the grant identified by recordId. Retains passport\/history while stopping access through this grant.\n\nToken ability: passports:write. Organization permission: sharing_grants.manage.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Acknowledgement"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"passports:write","x-organization-permission":"sharing_grants.manage","requestBody":{"required":false,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PassportsRevokeInput"}}}}}},"\/organizations\/{organizationId}\/supplier-requests":{"get":{"operationId":"supplier_requests_list","x-module":"supplier-requests","x-action":"list","tags":["Supplier collaboration and gaps"],"summary":"Supplier requests \u2014 List","description":"A supplier request collects documents for selected lines. Creating a request does not send mail; a separate action sends it. Suppliers can respond through a public link without an account.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: supplier-requests:read. Organization permission: supplier_requests.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/SupplierRequest"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"supplier-requests:read","x-organization-permission":"supplier_requests.view"},"post":{"operationId":"supplier_requests_create","x-module":"supplier-requests","x-action":"create","tags":["Supplier collaboration and gaps"],"summary":"Supplier requests \u2014 Create","description":"A supplier request collects documents for selected lines. Creating a request does not send mail; a separate action sends it. Suppliers can respond through a public link without an account.\n\nCreate a record from requestBody fields. The response provides a public id for subsequent reads and relationships.\n\nToken ability: supplier-requests:write. Organization permission: supplier_requests.create.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"201":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SupplierRequest"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"supplier-requests:write","x-organization-permission":"supplier_requests.create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SupplierRequestsCreateInput"}}}}}},"\/organizations\/{organizationId}\/supplier-requests\/{recordId}":{"get":{"operationId":"supplier_requests_show","x-module":"supplier-requests","x-action":"show","tags":["Supplier collaboration and gaps"],"summary":"Supplier requests \u2014 Show","description":"A supplier request collects documents for selected lines. Creating a request does not send mail; a separate action sends it. Suppliers can respond through a public link without an account.\n\nRetrieve an existing record. Obtain its UUID from the list or creation response for this resource type.\n\nToken ability: supplier-requests:read. Organization permission: supplier_requests.view.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SupplierRequest"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"supplier-requests:read","x-organization-permission":"supplier_requests.view"}},"\/organizations\/{organizationId}\/supplier-requests\/{recordId}\/cancel":{"post":{"operationId":"supplier_requests_cancel","x-module":"supplier-requests","x-action":"cancel","tags":["Supplier collaboration and gaps"],"summary":"Supplier requests \u2014 Cancel","description":"A supplier request collects documents for selected lines. Creating a request does not send mail; a separate action sends it. Suppliers can respond through a public link without an account.\n\nCancel the request using its current revision. Does not delete submitted files or response history.\n\nToken ability: supplier-requests:write. Organization permission: supplier_requests.send.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SupplierRequest"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"supplier-requests:write","x-organization-permission":"supplier_requests.send","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SupplierRequestsCancelInput"}}}}}},"\/organizations\/{organizationId}\/supplier-requests\/{recordId}\/lines\/{lineId}\/review":{"post":{"operationId":"supplier_requests_review_line","x-module":"supplier-requests","x-action":"review-line","tags":["Supplier collaboration and gaps"],"summary":"Supplier requests \u2014 Review line","description":"A supplier request collects documents for selected lines. Creating a request does not send mail; a separate action sends it. Suppliers can respond through a public link without an account.\n\nReview lineId within this request. revision refers to the request; a line decision is separate from document-version review. accepted requires approved documents and accepted evidence linked to the item; uploading a file alone is insufficient.\n\nToken ability: supplier-requests:write. Organization permission: evidence.review.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"lineId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id of a line belonging to the parent in this path. Obtain it from the parent\u2019s line list."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SupplierRequestLine"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"supplier-requests:write","x-organization-permission":"evidence.review","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SupplierRequestsReviewLineInput"}}}}}},"\/organizations\/{organizationId}\/supplier-requests\/{recordId}\/send":{"post":{"operationId":"supplier_requests_send","x-module":"supplier-requests","x-action":"send","tags":["Supplier collaboration and gaps"],"summary":"Supplier requests \u2014 Send","description":"A supplier request collects documents for selected lines. Creating a request does not send mail; a separate action sends it. Suppliers can respond through a public link without an account.\n\nSend a request email to the supplied address using the request revision. This contacts an external recipient; verify content\/address and reuse the idempotency key on retries.\n\nToken ability: supplier-requests:write. Organization permission: supplier_requests.send.\n\nThis operation requires `Idempotency-Key`. Retry with the same method, path, key and data. Use a new key for new work; do not bypass a conflict by generating another key without reconciling the original result.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from this resource\u2019s list\/create response, not a numeric database ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique operation key. Retrying with the same payload returns the original result; a different payload returns 409.","schema":{"type":"string","minLength":16,"maxLength":100}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SupplierRequest"}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"supplier-requests:write","x-organization-permission":"supplier_requests.send","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SupplierRequestsSendInput"}}}}}},"\/organizations\/{organizationId}\/supplier-requests\/{requestId}\/lines":{"get":{"operationId":"request_lines_list","x-module":"request-lines","x-action":"list","tags":["Supplier collaboration and gaps"],"summary":"Request lines \u2014 List","description":"Lines describe missing documents for packaging. Responses and decisions belong to the request identified by requestId.\n\nList records accessible to the key\u2019s organisation.\n\nToken ability: supplier-requests:read. Organization permission: supplier_requests.view.\n\nUses `per_page` (1\u2013100, default 50) and cursor pagination. Request `links.next` for the next page; null ends the list. Only use filters listed for this operation.","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public id from GET \/api\/v1\/organizations, matching the key\u2019s organisation."},{"name":"requestId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Supplier-request public id. In this URL it is not the HTTP diagnostic request ID."},{"name":"X-Locale","in":"header","required":false,"schema":{"type":"string","enum":["pl","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Operation succeeded","content":{"application\/json":{"schema":{"type":"object","required":["data","links","requestId"],"properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/SupplierRequestLine"}},"links":{"type":"object","properties":{"next":{"type":["string","null"]}}},"requestId":{"type":"string","format":"uuid"}}}}}},"401":{"description":"Missing or expired token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"403":{"description":"Permission denied or IP address not allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"404":{"description":"Resource not found in this organization","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"409":{"description":"Revision or idempotency conflict","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"422":{"description":"Validation error or invalid operation state","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal error","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"x-token-ability":"supplier-requests:read","x-organization-permission":"supplier_requests.view"}}},"webhooks":{"ppwrEvent":{"post":{"operationId":"receivePpwrEvent","tags":["Webhooks"],"summary":"Webhooks","description":"Notification sent to the configured HTTPS receiver. Signature: t=UnixTimestamp,v1=HMAC-SHA256(secret, timestamp + \".\" + raw body). Verify signature and timestamp (\u00b1300 s), deduplicate by id and return 2xx. Ordering is not guaranteed; retrieve current resource details using the API. Configure under Administration \u2192 Integrations \u2192 Webhooks. See docs\/webhooks.md for event types and metadata. Events only cover changes recorded after enabling the subscription.","security":[{"webhookSignature":[]}],"parameters":[{"name":"X-PPWR-Event","in":"header","required":true,"schema":{"type":"string"}},{"name":"X-PPWR-Delivery","in":"header","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"X-PPWR-Attempt","in":"header","required":true,"schema":{"type":"integer","minimum":1}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"type":"object","additionalProperties":false,"required":["schema_version","id","type","occurred_at","organization_id","resource","data"],"properties":{"schema_version":{"type":"integer","const":1},"id":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["webhook.test","catalog.saved","catalog.archived","catalog.restored","packaging_system.saved","packaging_system.component_saved","packaging_system.component_removed","packaging_system.archived","packaging_system.restored","packaging_system.consumed","ppwr.supply_chain.created","packing.reserved","packing.released","packing.reservation_consumed","document.uploaded","document.processed","document.approved","document.rejected","document.revoked","assessment.executed","assessment.reviewed","passport.published","passport.public_enabled","passport.public_disabled","supplier_request.sent","supplier_request.declined","supplier_request.cancelled","import.completed","import.validation_failed","report.completed","report.bdo.generated"]},"occurred_at":{"type":"string","format":"date-time"},"organization_id":{"type":"string","format":"uuid"},"resource":{"type":"object","additionalProperties":false,"required":["type","id"],"properties":{"type":{"type":"string","enum":["webhook_endpoint","catalog","packaging_system","supply_event","reservation","document_version","assessment","passport","supplier_request","import","report"]},"id":{"type":"string","format":"uuid"}}},"data":{"type":"object","additionalProperties":false,"properties":{"revision":{"type":"integer"},"usage":{"type":"string","format":"uuid"},"system":{"type":"string","format":"uuid"},"item_id":{"type":"string","format":"uuid"},"direction":{"type":"string","enum":["received","produced","supplied","used","opening","adjustment_in","adjustment_out"]}}}}}}}},"responses":{"200":{"description":"Acknowledged after durable deduplication and queuing; any 2xx is accepted."}}}}},"components":{"securitySchemes":{"webhookSignature":{"type":"apiKey","in":"header","name":"X-PPWR-Signature","description":"The HMAC-SHA256 signature is sent in X-PPWR-Signature. The receiver should verify the signature, timestamp and event identifier."},"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"Sanctum API key"}},"schemas":{"Error":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","fields","requestId"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"fields":{"type":["object","array"],"additionalProperties":true,"items":{}},"requestId":{"type":"string","format":"uuid"}}}}},"Acknowledgement":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"revision":{"type":"integer","description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. "}}},"CatalogItem":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"revision":{"type":"integer","description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. "},"markets":{"type":"array","items":{"type":"string"}},"recyclability":{"type":"object","additionalProperties":true},"internalCode":{"type":["string","null"]},"name":{"type":["string","null"]},"supplierOrderCode":{"type":["string","null"]},"manufacturerCode":{"type":["string","null"]},"packagingCategoryCode":{"type":["string","null"]},"intendedUse":{"type":["string","null"]},"foodContactStatus":{"type":["string","null"]},"workflowStatus":{"type":["string","null"]},"documentationReadiness":{"type":["string","null"]},"sourcingType":{"type":["string","null"]},"massG":{"type":["string","null"],"description":"Grams per packaging base unit, represented as a decimal string. "},"mainMaterialCode":{"type":["string","null"],"description":"Material code from \/dictionaries, not a translated name. "},"reuseType":{"type":["string","null"]},"countryOfManufacture":{"type":["string","null"]},"ppwrCategoryCode":{"type":["string","null"]},"ppwrRestrictedFormatCode":{"type":["string","null"]},"supplier":{"type":["string","null"]},"manufacturer":{"type":["string","null"]},"folder":{"type":["string","null"]},"family":{"type":["string","null"]},"stockUnit":{"type":"string","enum":["piece","m","m2","kg","l","m3"],"description":"Base stock unit; piece means one item. Validation rules: sometimes; required; in:\"piece\",\"m\",\"m2\",\"kg\",\"l\",\"m3\""},"stockTracked":{"type":"boolean","description":"Whether available stock is enforced for this item. Validation rules: sometimes; boolean"},"minimumStock":{"type":["string","null"]},"packagingRole":{"type":"string","enum":["box","mailer","bag","film","tape","filler","insert","pallet","strap","label","container","other"],"description":"Validation rules: sometimes; required; in:\"box\",\"mailer\",\"bag\",\"film\",\"tape\",\"filler\",\"insert\",\"pallet\",\"strap\",\"label\",\"container\",\"other\""},"unitConversions":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of unit code to base units, e.g. roll: 100 for a 100 m roll when base is m. "},"dimensions":{"type":"object","properties":{"length_mm":{"type":"string"},"width_mm":{"type":"string"},"height_mm":{"type":"string"},"inner_length_mm":{"type":"string"},"inner_width_mm":{"type":"string"},"inner_height_mm":{"type":"string"},"diameter_mm":{"type":"string"},"inner_diameter_mm":{"type":"string"},"thickness_um":{"type":"string"},"roll_length_m":{"type":"string"},"usable_volume_l":{"type":"string"},"max_load_kg":{"type":"string"}},"description":"Dimensions in units named by each field; internal dimensions support fitting contents. "}}},"CatalogFolder":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"name":{"type":"string"},"revision":{"type":"integer","description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. "},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"parent":{"type":["string","null"],"format":"uuid"}}},"LegalEntity":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"name":{"type":"string"},"status":{"type":"string"},"revision":{"type":"integer","description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. "},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"archived_at":{"type":["string","null"],"format":"date-time"},"country_code":{"type":["string","null"]},"identifier":{"type":["string","null"]},"email":{"type":["string","null"]},"relationship_type":{"type":"string"},"notes":{"type":["string","null"]}}},"ProductFamily":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"name":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"manufacturer_family_code":{"type":["string","null"]},"manufacturer":{"type":["string","null"],"format":"uuid"}}},"PackagingSystem":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"name":{"type":"string"},"revision":{"type":"integer","description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. "},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"archived_at":{"type":["string","null"],"format":"date-time"},"internal_code":{"type":"string"},"description":{"type":["string","null"]}}},"PackagingFlowRecord":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"measured_quantity":{"type":["string","null"]},"unit_code":{"type":"string"},"national_reporting":{"type":["object","array","null"],"additionalProperties":true,"items":{}},"event_date":{"type":"string","format":"date-time","description":"Reporting-flow date, YYYY-MM-DD. "},"country":{"type":"string"},"quantity":{"type":["integer","null"],"description":"Quantity covered by the operation, not its total mass. unit or resource configuration determines its unit. Use a decimal point. "},"mass_g":{"type":"string","description":"Mass in grams. Per-unit for packaging\/components; reporting flows use their own mass semantics. "},"event_type":{"type":"string"},"review_status":{"type":"string","description":"Content-review status, independent from file-processing status. "},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. "},"catalog_item":{"type":["string","null"],"format":"uuid"},"supply_chain_event":{"type":["string","null"],"format":"uuid"}}},"Assessment":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"revision":{"type":"integer","description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. "},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"input_hash":{"type":"string"},"engine_version":{"type":"string"},"documentation_readiness":{"type":"string"},"rule_verdict":{"type":"string"},"human_decision":{"type":["string","null"]},"published_at":{"type":["string","null"],"format":"date-time"},"assessment_date":{"type":"string","format":"date-time"},"jurisdiction":{"type":"string"},"economic_role":{"type":"string"},"results":{"type":["object","array","null"],"additionalProperties":true,"items":{}},"review_note":{"type":["string","null"]},"stale_at":{"type":["string","null"],"format":"date-time"},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. "},"rule_set":{"type":["string","null"],"format":"uuid","description":"Published rule-set UUID from \/dictionaries.rule_sets, not an article number. "},"catalog_item":{"type":["string","null"],"format":"uuid"}}},"CatalogImport":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"type":{"type":"string"},"filename":{"type":"string"},"sha256":{"type":"string"},"row_count":{"type":"integer"},"error_count":{"type":"integer"},"column_mapping":{"type":["object","array","null"],"additionalProperties":true,"items":{}}}},"ReportRun":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"locale":{"type":"string"},"cutoff_at":{"type":["string","null"],"format":"date-time"},"row_count":{"type":"integer"},"type":{"type":"string"},"report_year":{"type":["integer","null"]},"sha256":{"type":["string","null"]},"expires_at":{"type":["string","null"],"format":"date-time"}}},"SupplierRequest":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"revision":{"type":"integer","description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. "},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"decline_reason":{"type":["string","null"]},"declined_at":{"type":["string","null"],"format":"date-time"},"title":{"type":"string"},"message":{"type":["string","null"]},"due_on":{"type":"string","format":"date-time"},"sent_at":{"type":["string","null"],"format":"date-time"},"supplier":{"type":["string","null"],"format":"uuid"}}},"Issue":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"resolution_note":{"type":["string","null"]},"code":{"type":"string"},"severity":{"type":"string"},"assessment":{"type":["string","null"],"format":"uuid"},"catalog_item":{"type":["string","null"],"format":"uuid"}}},"PassportRelease":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"version":{"type":"integer"},"published_at":{"type":["string","null"],"format":"date-time"},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. "},"catalog_item":{"type":["string","null"],"format":"uuid"}}},"EvidenceFact":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"revision":{"type":"integer","description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. "},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"semantics":{"type":"string"},"scope":{"type":"string"},"source_hash":{"type":"string"},"decision_note":{"type":["string","null"]},"qualifiers":{"type":["object","array","null"],"additionalProperties":true,"items":{}},"fact_type":{"type":"string"},"proposed_value":{"type":"string"},"accepted_value":{"type":["string","null"]},"unit":{"type":["string","null"],"description":"Unit code accepted by this packaging item; retrieve the units map from \/inventory. "},"source_page":{"type":"integer"},"ppwr_catalog_revision":{"type":["integer","null"]},"catalog_item":{"type":["string","null"],"format":"uuid"},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. "}}},"PackagingDataVersion":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"catalog_revision":{"type":"integer","description":"Packaging revision from catalogue GET, used to check freshness. "},"sha256":{"type":"string"},"catalog_item":{"type":["string","null"],"format":"uuid"},"item":{"type":"object","additionalProperties":true,"description":"Packaging UUID from the catalogue; historical projections may instead contain a packaging snapshot here. "},"components":{"type":"array","items":{"type":"object","additionalProperties":true}}}},"Component":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"name":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"scope":{"type":"string"},"material":{"type":"string"},"mass_g":{"type":["string","null"],"description":"Mass in grams. Per-unit for packaging\/components; reporting flows use their own mass semantics. "},"separation_type":{"type":"string"},"recycled_type":{"type":"string"},"recycled_value":{"type":["string","null"]},"value_semantics":{"type":"string"},"share_percent":{"type":["string","null"]},"catalog_item":{"type":["string","null"],"format":"uuid"}}},"MarketScenario":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"name":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"archived_at":{"type":["string","null"],"format":"date-time"},"review_status":{"type":"string","description":"Content-review status, independent from file-processing status. "},"origin_country":{"type":["string","null"]},"destination_country":{"type":"string"},"assessment_date":{"type":"string","format":"date-time"},"economic_role":{"type":"string"},"catalog_item":{"type":["string","null"],"format":"uuid"}}},"PpwrSupplyChainEvent":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"measured_quantity":{"type":["string","null"]},"unit_code":{"type":"string"},"input_quantity":{"type":["string","null"]},"input_unit":{"type":["string","null"]},"conversion_factor":{"type":["string","null"]},"total_mass_g":{"type":["string","null"]},"national_reporting":{"type":["object","array","null"],"additionalProperties":true,"items":{}},"catalog_revision":{"type":"integer","description":"Packaging revision from catalogue GET, used to check freshness. "},"direction":{"type":"string"},"quantity_units":{"type":["integer","null"],"description":"Alternative integer unit count; do not combine with quantity and unit. "},"unit_mass_g":{"type":["string","null"]},"batch_code":{"type":["string","null"],"description":"Batch identifier restricting stock selection when supplied. "},"transaction_reference":{"type":["string","null"],"description":"Reference for the actual event; identifies order\/parcel for e-commerce usage. "},"usage_channel":{"type":["string","null"]},"report_as_placed":{"type":"boolean"},"counterparty_name":{"type":["string","null"]},"counterparty_country":{"type":["string","null"]},"counterparty_address":{"type":["string","null"]},"counterparty_reference":{"type":["string","null"]},"event_on":{"type":"string","format":"date-time","description":"Actual event date in YYYY-MM-DD format. "},"reusable_at_event":{"type":"boolean"},"retain_until":{"type":"string","format":"date-time"},"note":{"type":["string","null"]},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. "},"catalog_item":{"type":["string","null"],"format":"uuid"},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. "}}},"Document":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"title":{"type":"string"},"document_type":{"type":"string"},"sensitivity":{"type":"string"},"issuer":{"type":["string","null"],"format":"uuid"},"catalog_item":{"type":["string","null"],"format":"uuid"},"documentType":{"type":"string","deprecated":true},"status":{"type":"string","const":"private"}}},"DocumentVersion":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"revision":{"type":"integer","description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. "},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"language_code":{"type":"string"},"version_number":{"type":"integer"},"original_filename":{"type":"string"},"sha256":{"type":"string"},"mime_type":{"type":"string"},"size_bytes":{"type":"integer"},"issued_on":{"type":["string","null"],"format":"date-time"},"expires_on":{"type":["string","null"],"format":"date-time","description":"Document expiry date, if known. "},"review_due_on":{"type":["string","null"],"format":"date-time","description":"Next document-review date, distinct from expiry. "},"processing_status":{"type":"string","description":"File scan\/extraction status; review_required does not by itself mean content approval is missing. "},"review_status":{"type":"string","description":"Content-review status, independent from file-processing status. "},"review_note":{"type":["string","null"]},"generation_kind":{"type":["string","null"]},"catalog_revision":{"type":["integer","null"],"description":"Packaging revision from catalogue GET, used to check freshness. "},"supplier_request_line":{"type":["string","null"],"format":"uuid"},"document":{"type":["string","null"],"format":"uuid"}}},"PackagingSystemItem":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"quantity":{"type":"string","description":"Quantity covered by the operation, not its total mass. unit or resource configuration determines its unit. Use a decimal point. "},"unit":{"type":"string","description":"Unit code accepted by this packaging item; retrieve the units map from \/inventory. "},"base_quantity":{"type":"string"},"stock_unit":{"type":"string","description":"Base stock unit; piece means one item. "},"role":{"type":"string"},"is_outer":{"type":"boolean"},"catalog_item":{"type":["string","null"],"format":"uuid"},"packaging_system":{"type":["string","null"],"format":"uuid"}}},"PackingReservation":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"revision":{"type":"integer","description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. "},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"order_reference":{"type":"string","description":"Organisation-unique store\/order\/parcel reference, e.g. STORE-1\/ORDER-100\/PARCEL-1. Keep unchanged on retries. "},"country":{"type":"string"},"sets_count":{"type":"integer","description":"Number of identical sets\/parcels, not ingredient count. "},"expires_at":{"type":"string","format":"date-time"},"closed_at":{"type":["string","null"],"format":"date-time"},"configuration":{"type":"object","required":["id","revision","configuration_hash","ready","lines","stock"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"revision":{"type":"integer","description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. "},"configuration_hash":{"type":"string","minLength":64,"maxLength":64,"description":"Hash from the latest set-configuration GET; must match current composition\/data. "},"ready":{"type":"boolean","description":"Required data are present; does not certify regulatory compliance or stock availability."},"issues":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"item":{"type":["string","null"],"format":"uuid","description":"Packaging UUID from the catalogue; historical projections may instead contain a packaging snapshot here. "}}}},"mass_g":{"type":["string","null"],"description":"Mass in grams. Per-unit for packaging\/components; reporting flows use their own mass semantics. "},"available_sets":{"type":["integer","null"],"minimum":0},"all_stock_tracked":{"type":"boolean"},"outer_packaging":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"item":{"type":"string","format":"uuid","description":"Packaging UUID from the catalogue; historical projections may instead contain a packaging snapshot here. "},"name":{"type":"string"},"internal_code":{"type":"string"},"item_revision":{"type":"integer","description":"Packaging revision captured by this record. "},"quantity":{"type":"string","pattern":"^-?[0-9]+(\\.[0-9]+)?$","description":"Quantity covered by the operation, not its total mass. unit or resource configuration determines its unit. Use a decimal point. Exact decimal string"},"unit":{"type":"string","description":"Unit code accepted by this packaging item; retrieve the units map from \/inventory. "},"base_quantity":{"type":"string","pattern":"^-?[0-9]+(\\.[0-9]+)?$","description":"Exact decimal string"},"stock_unit":{"type":"string","description":"Base stock unit; piece means one item. "},"role":{"type":"string"},"packaging_role":{"type":["string","null"]},"is_outer":{"type":"boolean"},"mass_g":{"type":["string","null"],"description":"Mass in grams. Per-unit for packaging\/components; reporting flows use their own mass semantics. "},"reuse_type":{"type":"string"},"dimensions":{"type":"object","additionalProperties":{"type":"string","pattern":"^-?[0-9]+(\\.[0-9]+)?$","description":"Exact decimal string"},"description":"Dimensions in units named by each field; internal dimensions support fitting contents. "},"issues":{"type":"array","items":{"type":"string"}}}},{"type":"null"}]},"lines":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"item":{"type":"string","format":"uuid","description":"Packaging UUID from the catalogue; historical projections may instead contain a packaging snapshot here. "},"name":{"type":"string"},"internal_code":{"type":"string"},"item_revision":{"type":"integer","description":"Packaging revision captured by this record. "},"quantity":{"type":"string","pattern":"^-?[0-9]+(\\.[0-9]+)?$","description":"Quantity covered by the operation, not its total mass. unit or resource configuration determines its unit. Use a decimal point. Exact decimal string"},"unit":{"type":"string","description":"Unit code accepted by this packaging item; retrieve the units map from \/inventory. "},"base_quantity":{"type":"string","pattern":"^-?[0-9]+(\\.[0-9]+)?$","description":"Exact decimal string"},"stock_unit":{"type":"string","description":"Base stock unit; piece means one item. "},"role":{"type":"string"},"packaging_role":{"type":["string","null"]},"is_outer":{"type":"boolean"},"mass_g":{"type":["string","null"],"description":"Mass in grams. Per-unit for packaging\/components; reporting flows use their own mass semantics. "},"reuse_type":{"type":"string"},"dimensions":{"type":"object","additionalProperties":{"type":"string","pattern":"^-?[0-9]+(\\.[0-9]+)?$","description":"Exact decimal string"},"description":"Dimensions in units named by each field; internal dimensions support fitting contents. "},"issues":{"type":"array","items":{"type":"string"}}}}},"stock":{"type":"array","items":{"type":"object","properties":{"item":{"type":"string","format":"uuid","description":"Packaging UUID from the catalogue; historical projections may instead contain a packaging snapshot here. "},"name":{"type":"string"},"unit":{"type":"string","description":"Unit code accepted by this packaging item; retrieve the units map from \/inventory. "},"required_quantity":{"type":"string","pattern":"^-?[0-9]+(\\.[0-9]+)?$","description":"Exact decimal string"},"tracked":{"type":"boolean"},"balance_quantity":{"type":["string","null"]},"reserved_quantity":{"type":["string","null"]},"available_quantity":{"type":["string","null"]},"available_sets":{"type":["integer","null"],"minimum":0}}}}}},"packaging_system_usage":{"type":["string","null"],"format":"uuid"},"packaging_system":{"type":["string","null"],"format":"uuid"}}},"ReservationsCreateInput":{"type":"object","properties":{"order_reference":{"type":"string","maxLength":255,"description":"Organisation-unique store\/order\/parcel reference, e.g. STORE-1\/ORDER-100\/PARCEL-1. Keep unchanged on retries. Validation rules: required; string; max:255"},"country":{"type":"string","enum":["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"],"description":"Validation rules: required; in:\"AD\",\"AE\",\"AF\",\"AG\",\"AI\",\"AL\",\"AM\",\"AO\",\"AQ\",\"AR\",\"AS\",\"AT\",\"AU\",\"AW\",\"AX\",\"AZ\",\"BA\",\"BB\",\"BD\",\"BE\",\"BF\",\"BG\",\"BH\",\"BI\",\"BJ\",\"BL\",\"BM\",\"BN\",\"BO\",\"BQ\",\"BR\",\"BS\",\"BT\",\"BV\",\"BW\",\"BY\",\"BZ\",\"CA\",\"CC\",\"CD\",\"CF\",\"CG\",\"CH\",\"CI\",\"CK\",\"CL\",\"CM\",\"CN\",\"CO\",\"CR\",\"CU\",\"CV\",\"CW\",\"CX\",\"CY\",\"CZ\",\"DE\",\"DJ\",\"DK\",\"DM\",\"DO\",\"DZ\",\"EC\",\"EE\",\"EG\",\"EH\",\"ER\",\"ES\",\"ET\",\"FI\",\"FJ\",\"FK\",\"FM\",\"FO\",\"FR\",\"GA\",\"GB\",\"GD\",\"GE\",\"GF\",\"GG\",\"GH\",\"GI\",\"GL\",\"GM\",\"GN\",\"GP\",\"GQ\",\"GR\",\"GS\",\"GT\",\"GU\",\"GW\",\"GY\",\"HK\",\"HM\",\"HN\",\"HR\",\"HT\",\"HU\",\"ID\",\"IE\",\"IL\",\"IM\",\"IN\",\"IO\",\"IQ\",\"IR\",\"IS\",\"IT\",\"JE\",\"JM\",\"JO\",\"JP\",\"KE\",\"KG\",\"KH\",\"KI\",\"KM\",\"KN\",\"KP\",\"KR\",\"KW\",\"KY\",\"KZ\",\"LA\",\"LB\",\"LC\",\"LI\",\"LK\",\"LR\",\"LS\",\"LT\",\"LU\",\"LV\",\"LY\",\"MA\",\"MC\",\"MD\",\"ME\",\"MF\",\"MG\",\"MH\",\"MK\",\"ML\",\"MM\",\"MN\",\"MO\",\"MP\",\"MQ\",\"MR\",\"MS\",\"MT\",\"MU\",\"MV\",\"MW\",\"MX\",\"MY\",\"MZ\",\"NA\",\"NC\",\"NE\",\"NF\",\"NG\",\"NI\",\"NL\",\"NO\",\"NP\",\"NR\",\"NU\",\"NZ\",\"OM\",\"PA\",\"PE\",\"PF\",\"PG\",\"PH\",\"PK\",\"PL\",\"PM\",\"PN\",\"PR\",\"PS\",\"PT\",\"PW\",\"PY\",\"QA\",\"RE\",\"RO\",\"RS\",\"RU\",\"RW\",\"SA\",\"SB\",\"SC\",\"SD\",\"SE\",\"SG\",\"SH\",\"SI\",\"SJ\",\"SK\",\"SL\",\"SM\",\"SN\",\"SO\",\"SR\",\"SS\",\"ST\",\"SV\",\"SX\",\"SY\",\"SZ\",\"TC\",\"TD\",\"TF\",\"TG\",\"TH\",\"TJ\",\"TK\",\"TL\",\"TM\",\"TN\",\"TO\",\"TR\",\"TT\",\"TV\",\"TW\",\"TZ\",\"UA\",\"UG\",\"UM\",\"US\",\"UY\",\"UZ\",\"VA\",\"VC\",\"VE\",\"VG\",\"VI\",\"VN\",\"VU\",\"WF\",\"WS\",\"YE\",\"YT\",\"ZA\",\"ZM\",\"ZW\""},"revision":{"type":"integer","minimum":1,"description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. Validation rules: required; integer; min:1"},"configuration_hash":{"type":"string","description":"Hash from the latest set-configuration GET; must match current composition\/data. Validation rules: required; string; size:64"},"sets_count":{"type":"integer","minimum":1,"maximum":1000000,"description":"Number of identical sets\/parcels, not ingredient count. Validation rules: required; integer; min:1; max:1000000"},"versions":{"type":"array","items":{"type":"object","description":"Validation rules: required; array:item,data_version","properties":{"item":{"type":"string","format":"uuid","description":"Packaging UUID from the catalogue; historical projections may instead contain a packaging snapshot here. Validation rules: required; uuid; distinct"},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. Validation rules: nullable; uuid"}},"required":["item"]},"maxItems":100,"description":"Historical-basis selection per ingredient. Each item selects at most one data_version in this operation. Validation rules: nullable; array; max:100"},"expires_in_hours":{"type":"integer","minimum":1,"maximum":168,"description":"Reservation lifetime of 1\u2013168 hours from server-side creation. Validation rules: required; integer; min:1; max:168"}},"required":["order_reference","country","revision","configuration_hash","sets_count","expires_in_hours"]},"ReservationsReleaseInput":{"type":"object","properties":{"revision":{"type":"integer","minimum":1,"description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. Validation rules: required; integer; min:1"}},"required":["revision"]},"PackagingSystemUsage":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"order_reference":{"type":"string","description":"Organisation-unique store\/order\/parcel reference, e.g. STORE-1\/ORDER-100\/PARCEL-1. Keep unchanged on retries. "},"sets_count":{"type":"integer","description":"Number of identical sets\/parcels, not ingredient count. "},"system_revision":{"type":"integer"},"event_on":{"type":"string","format":"date-time","description":"Actual event date in YYYY-MM-DD format. "},"country":{"type":"string"},"snapshot":{"type":"object","properties":{"configuration":{"type":"object","required":["id","revision","configuration_hash","ready","lines","stock"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"revision":{"type":"integer","description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. "},"configuration_hash":{"type":"string","minLength":64,"maxLength":64,"description":"Hash from the latest set-configuration GET; must match current composition\/data. "},"ready":{"type":"boolean","description":"Required data are present; does not certify regulatory compliance or stock availability."},"issues":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"item":{"type":["string","null"],"format":"uuid","description":"Packaging UUID from the catalogue; historical projections may instead contain a packaging snapshot here. "}}}},"mass_g":{"type":["string","null"],"description":"Mass in grams. Per-unit for packaging\/components; reporting flows use their own mass semantics. "},"available_sets":{"type":["integer","null"],"minimum":0},"all_stock_tracked":{"type":"boolean"},"outer_packaging":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"item":{"type":"string","format":"uuid","description":"Packaging UUID from the catalogue; historical projections may instead contain a packaging snapshot here. "},"name":{"type":"string"},"internal_code":{"type":"string"},"item_revision":{"type":"integer","description":"Packaging revision captured by this record. "},"quantity":{"type":"string","pattern":"^-?[0-9]+(\\.[0-9]+)?$","description":"Quantity covered by the operation, not its total mass. unit or resource configuration determines its unit. Use a decimal point. Exact decimal string"},"unit":{"type":"string","description":"Unit code accepted by this packaging item; retrieve the units map from \/inventory. "},"base_quantity":{"type":"string","pattern":"^-?[0-9]+(\\.[0-9]+)?$","description":"Exact decimal string"},"stock_unit":{"type":"string","description":"Base stock unit; piece means one item. "},"role":{"type":"string"},"packaging_role":{"type":["string","null"]},"is_outer":{"type":"boolean"},"mass_g":{"type":["string","null"],"description":"Mass in grams. Per-unit for packaging\/components; reporting flows use their own mass semantics. "},"reuse_type":{"type":"string"},"dimensions":{"type":"object","additionalProperties":{"type":"string","pattern":"^-?[0-9]+(\\.[0-9]+)?$","description":"Exact decimal string"},"description":"Dimensions in units named by each field; internal dimensions support fitting contents. "},"issues":{"type":"array","items":{"type":"string"}}}},{"type":"null"}]},"lines":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"item":{"type":"string","format":"uuid","description":"Packaging UUID from the catalogue; historical projections may instead contain a packaging snapshot here. "},"name":{"type":"string"},"internal_code":{"type":"string"},"item_revision":{"type":"integer","description":"Packaging revision captured by this record. "},"quantity":{"type":"string","pattern":"^-?[0-9]+(\\.[0-9]+)?$","description":"Quantity covered by the operation, not its total mass. unit or resource configuration determines its unit. Use a decimal point. Exact decimal string"},"unit":{"type":"string","description":"Unit code accepted by this packaging item; retrieve the units map from \/inventory. "},"base_quantity":{"type":"string","pattern":"^-?[0-9]+(\\.[0-9]+)?$","description":"Exact decimal string"},"stock_unit":{"type":"string","description":"Base stock unit; piece means one item. "},"role":{"type":"string"},"packaging_role":{"type":["string","null"]},"is_outer":{"type":"boolean"},"mass_g":{"type":["string","null"],"description":"Mass in grams. Per-unit for packaging\/components; reporting flows use their own mass semantics. "},"reuse_type":{"type":"string"},"dimensions":{"type":"object","additionalProperties":{"type":"string","pattern":"^-?[0-9]+(\\.[0-9]+)?$","description":"Exact decimal string"},"description":"Dimensions in units named by each field; internal dimensions support fitting contents. "},"issues":{"type":"array","items":{"type":"string"}}}}},"stock":{"type":"array","items":{"type":"object","properties":{"item":{"type":"string","format":"uuid","description":"Packaging UUID from the catalogue; historical projections may instead contain a packaging snapshot here. "},"name":{"type":"string"},"unit":{"type":"string","description":"Unit code accepted by this packaging item; retrieve the units map from \/inventory. "},"required_quantity":{"type":"string","pattern":"^-?[0-9]+(\\.[0-9]+)?$","description":"Exact decimal string"},"tracked":{"type":"boolean"},"balance_quantity":{"type":["string","null"]},"reserved_quantity":{"type":["string","null"]},"available_quantity":{"type":["string","null"]},"available_sets":{"type":["integer","null"],"minimum":0}}}}}},"consumption":{"type":"object","properties":{"order_reference":{"type":"string","description":"Organisation-unique store\/order\/parcel reference, e.g. STORE-1\/ORDER-100\/PARCEL-1. Keep unchanged on retries. "},"events":{"type":"array","items":{"$ref":"#\/components\/schemas\/PpwrSupplyChainEvent"}}}}}},"packaging_system":{"type":["string","null"],"format":"uuid"}}},"ReservationsConsumeInput":{"type":"object","properties":{"versions":{"type":"array","items":{"type":"object","description":"Validation rules: required; array:item,data_version","properties":{"item":{"type":"string","format":"uuid","description":"Packaging UUID from the catalogue; historical projections may instead contain a packaging snapshot here. Validation rules: required; uuid; distinct"},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. Validation rules: nullable; uuid"}},"required":["item"]},"maxItems":100,"description":"Historical-basis selection per ingredient. Each item selects at most one data_version in this operation. Validation rules: nullable; array; max:100"},"revision":{"type":"integer","minimum":1,"description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. Validation rules: required; integer; min:1"},"event_on":{"type":"string","format":"date","description":"Actual event date in YYYY-MM-DD format. Validation rules: required; date_format:Y-m-d; before_or_equal:today"}},"required":["revision","event_on"]},"SystemsUpdateInput":{"type":"object","properties":{"internal_code":{"type":"string","maxLength":100,"description":"Validation rules: required; string; max:100"},"name":{"type":"string","maxLength":255,"description":"Validation rules: required; string; max:255"},"description":{"type":["string","null"],"maxLength":4000,"description":"Validation rules: nullable; string; max:4000"},"revision":{"type":"integer","minimum":1,"description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. Validation rules: required; integer; min:1"}},"required":["internal_code","name","revision"]},"SystemsRemoveItemInput":{"type":"object","properties":{"revision":{"type":"integer","minimum":1,"description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. Validation rules: required; integer; min:1"}},"required":["revision"]},"SystemsArchiveInput":{"type":"object","properties":{"revision":{"type":"integer","minimum":1,"description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. Validation rules: required; integer; min:1"}},"required":["revision"]},"SystemsRestoreInput":{"type":"object","properties":{"revision":{"type":"integer","minimum":1,"description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. Validation rules: required; integer; min:1"}},"required":["revision"]},"SystemsConsumeInput":{"type":"object","properties":{"order_reference":{"type":"string","maxLength":255,"description":"Organisation-unique store\/order\/parcel reference, e.g. STORE-1\/ORDER-100\/PARCEL-1. Keep unchanged on retries. Validation rules: required; string; max:255"},"event_on":{"type":"string","format":"date","description":"Actual event date in YYYY-MM-DD format. Validation rules: required; date_format:Y-m-d; before_or_equal:today"},"country":{"type":"string","enum":["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"],"description":"Validation rules: required; in:\"AD\",\"AE\",\"AF\",\"AG\",\"AI\",\"AL\",\"AM\",\"AO\",\"AQ\",\"AR\",\"AS\",\"AT\",\"AU\",\"AW\",\"AX\",\"AZ\",\"BA\",\"BB\",\"BD\",\"BE\",\"BF\",\"BG\",\"BH\",\"BI\",\"BJ\",\"BL\",\"BM\",\"BN\",\"BO\",\"BQ\",\"BR\",\"BS\",\"BT\",\"BV\",\"BW\",\"BY\",\"BZ\",\"CA\",\"CC\",\"CD\",\"CF\",\"CG\",\"CH\",\"CI\",\"CK\",\"CL\",\"CM\",\"CN\",\"CO\",\"CR\",\"CU\",\"CV\",\"CW\",\"CX\",\"CY\",\"CZ\",\"DE\",\"DJ\",\"DK\",\"DM\",\"DO\",\"DZ\",\"EC\",\"EE\",\"EG\",\"EH\",\"ER\",\"ES\",\"ET\",\"FI\",\"FJ\",\"FK\",\"FM\",\"FO\",\"FR\",\"GA\",\"GB\",\"GD\",\"GE\",\"GF\",\"GG\",\"GH\",\"GI\",\"GL\",\"GM\",\"GN\",\"GP\",\"GQ\",\"GR\",\"GS\",\"GT\",\"GU\",\"GW\",\"GY\",\"HK\",\"HM\",\"HN\",\"HR\",\"HT\",\"HU\",\"ID\",\"IE\",\"IL\",\"IM\",\"IN\",\"IO\",\"IQ\",\"IR\",\"IS\",\"IT\",\"JE\",\"JM\",\"JO\",\"JP\",\"KE\",\"KG\",\"KH\",\"KI\",\"KM\",\"KN\",\"KP\",\"KR\",\"KW\",\"KY\",\"KZ\",\"LA\",\"LB\",\"LC\",\"LI\",\"LK\",\"LR\",\"LS\",\"LT\",\"LU\",\"LV\",\"LY\",\"MA\",\"MC\",\"MD\",\"ME\",\"MF\",\"MG\",\"MH\",\"MK\",\"ML\",\"MM\",\"MN\",\"MO\",\"MP\",\"MQ\",\"MR\",\"MS\",\"MT\",\"MU\",\"MV\",\"MW\",\"MX\",\"MY\",\"MZ\",\"NA\",\"NC\",\"NE\",\"NF\",\"NG\",\"NI\",\"NL\",\"NO\",\"NP\",\"NR\",\"NU\",\"NZ\",\"OM\",\"PA\",\"PE\",\"PF\",\"PG\",\"PH\",\"PK\",\"PL\",\"PM\",\"PN\",\"PR\",\"PS\",\"PT\",\"PW\",\"PY\",\"QA\",\"RE\",\"RO\",\"RS\",\"RU\",\"RW\",\"SA\",\"SB\",\"SC\",\"SD\",\"SE\",\"SG\",\"SH\",\"SI\",\"SJ\",\"SK\",\"SL\",\"SM\",\"SN\",\"SO\",\"SR\",\"SS\",\"ST\",\"SV\",\"SX\",\"SY\",\"SZ\",\"TC\",\"TD\",\"TF\",\"TG\",\"TH\",\"TJ\",\"TK\",\"TL\",\"TM\",\"TN\",\"TO\",\"TR\",\"TT\",\"TV\",\"TW\",\"TZ\",\"UA\",\"UG\",\"UM\",\"US\",\"UY\",\"UZ\",\"VA\",\"VC\",\"VE\",\"VG\",\"VI\",\"VN\",\"VU\",\"WF\",\"WS\",\"YE\",\"YT\",\"ZA\",\"ZM\",\"ZW\""},"revision":{"type":"integer","minimum":1,"description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. Validation rules: required; integer; min:1"},"configuration_hash":{"type":"string","description":"Hash from the latest set-configuration GET; must match current composition\/data. Validation rules: required; string; size:64"},"sets_count":{"type":"integer","minimum":1,"maximum":1000000,"description":"Number of identical sets\/parcels, not ingredient count. Validation rules: required; integer; min:1; max:1000000"},"versions":{"type":"array","items":{"type":"object","description":"Validation rules: required; array:item,data_version","properties":{"item":{"type":"string","format":"uuid","description":"Packaging UUID from the catalogue; historical projections may instead contain a packaging snapshot here. Validation rules: required; uuid; distinct"},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. Validation rules: nullable; uuid"}},"required":["item"]},"maxItems":100,"description":"Historical-basis selection per ingredient. Each item selects at most one data_version in this operation. Validation rules: nullable; array; max:100"}},"required":["order_reference","event_on","country","revision","configuration_hash","sets_count"]},"SupplierRequestLine":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"response_note":{"type":["string","null"]},"reviewed_at":{"type":["string","null"]},"review_note":{"type":["string","null"]},"supplier_request":{"type":["string","null"],"format":"uuid"},"issue":{"type":["string","null"],"format":"uuid"}}},"ImportRow":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"target_public_id":{"type":["string","null"]},"row_number":{"type":"integer"},"data":{"type":["object","array","null"],"additionalProperties":true,"items":{}},"errors":{"type":["object","array","null"],"additionalProperties":true,"items":{}},"action":{"type":["string","null"]},"target_revision":{"type":["integer","null"]},"before_data":{"type":["object","array","null"],"additionalProperties":true,"items":{}},"changes":{"type":["object","array","null"],"additionalProperties":true,"items":{}},"import":{"type":["string","null"],"format":"uuid"}}},"FoldersCreateInput":{"type":"object","properties":{"name":{"type":"string","pattern":"\\S","maxLength":100,"description":"Validation rules: required; string; regex:\/\\S\/u; max:100"},"parent":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"}},"required":["name"]},"FoldersUpdateInput":{"type":"object","properties":{"name":{"type":"string","pattern":"\\S","maxLength":100,"description":"Validation rules: required; string; regex:\/\\S\/u; max:100"},"parent":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"},"revision":{"type":"integer","minimum":1,"description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. Validation rules: required; integer; min:1"}},"required":["name","revision"]},"FoldersDeleteInput":{"type":"object","properties":{"revision":{"type":"integer","minimum":1,"description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. Validation rules: required; integer; min:1"}},"required":["revision"]},"PartiesCreateInput":{"type":"object","properties":{"name":{"type":"string","maxLength":255,"description":"Validation rules: required; string; max:255"},"country_code":{"type":["string","null"],"pattern":"^[A-Z]{2}$","description":"Validation rules: nullable; regex:\/^[A-Z]{2}$\/"},"identifier":{"type":["string","null"],"maxLength":100,"description":"Validation rules: nullable; string; max:100"},"email":{"type":["string","null"],"format":"email","maxLength":255,"description":"Validation rules: nullable; email; max:255"},"relationship_type":{"type":"string","enum":["supplier","manufacturer","customer","consultant","other"],"description":"Validation rules: required; in:supplier,manufacturer,customer,consultant,other"},"notes":{"type":["string","null"],"maxLength":4000,"description":"Validation rules: nullable; string; max:4000"}},"required":["name","relationship_type"]},"FamiliesCreateInput":{"oneOf":[{"type":"object","properties":{"name":{"type":"string","maxLength":255,"description":"Validation rules: required; string; max:255"},"manufacturer_family_code":{"type":"string","maxLength":100,"description":"Validation rules: required; string; max:100"},"manufacturer":{"type":"string","format":"uuid","description":"Validation rules: required; uuid"},"own_manufacturer":{"type":"boolean","description":"Validation rules: sometimes; boolean","const":false}},"required":["name","manufacturer_family_code","manufacturer"]},{"type":"object","properties":{"name":{"type":"string","maxLength":255,"description":"Validation rules: required; string; max:255"},"manufacturer_family_code":{"type":"string","maxLength":100,"description":"Validation rules: required; string; max:100"},"manufacturer":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"},"own_manufacturer":{"type":"boolean","description":"Validation rules: sometimes; boolean","const":true}},"required":["name","manufacturer_family_code","own_manufacturer"]}]},"FamiliesUpdateInput":{"type":"object","properties":{"name":{"type":"string","maxLength":255,"description":"Validation rules: required; string; max:255"},"manufacturer_family_code":{"type":"string","maxLength":100,"description":"Validation rules: required; string; max:100"},"manufacturer":{"type":"string","format":"uuid","description":"Validation rules: required; uuid"},"updated_at":{"type":"string","description":"Validation rules: required; date_format:Y-m-d H:i:s"}},"required":["name","manufacturer_family_code","manufacturer","updated_at"]},"SystemsCreateInput":{"type":"object","properties":{"internal_code":{"type":"string","maxLength":100,"description":"Validation rules: required; string; max:100"},"name":{"type":"string","maxLength":255,"description":"Validation rules: required; string; max:255"},"description":{"type":["string","null"],"maxLength":4000,"description":"Validation rules: nullable; string; max:4000"}},"required":["internal_code","name"]},"SystemsItemInput":{"type":"object","properties":{"item":{"type":"string","format":"uuid","description":"Packaging UUID from the catalogue; historical projections may instead contain a packaging snapshot here. Validation rules: required; uuid"},"quantity":{"type":"number","maximum":1000000000,"description":"Quantity covered by the operation, not its total mass. unit or resource configuration determines its unit. Use a decimal point. Validation rules: required; numeric; decimal:0,6; gt:0; max:1000000000"},"role":{"type":"string","enum":["sales","grouped","transport","ecommerce","auxiliary"],"description":"Validation rules: required; in:sales,grouped,transport,ecommerce,auxiliary"},"revision":{"type":"integer","minimum":1,"description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. Validation rules: required; integer; min:1"},"unit":{"type":"string","maxLength":16,"description":"Unit code accepted by this packaging item; retrieve the units map from \/inventory. Validation rules: sometimes; required; string; max:16"},"is_outer":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"line":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"}},"required":["item","quantity","role","revision","unit"]},"CatalogArchiveInput":{"type":"object","properties":{"revision":{"type":"integer","minimum":1,"description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. Validation rules: required; integer; min:1"}},"required":["revision"]},"CatalogRestoreInput":{"type":"object","properties":{"revision":{"type":"integer","minimum":1,"description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. Validation rules: required; integer; min:1"}},"required":["revision"]},"ComponentsCreateInput":{"type":"object","properties":{"revision":{"type":"integer","minimum":1,"description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. Validation rules: required; integer; min:1"},"name":{"type":"string","maxLength":255,"description":"Validation rules: required; string; max:255"},"material":{"type":"string","maxLength":60,"description":"Validation rules: required; string; max:60"},"mass_g":{"type":["string","null"],"description":"Mass in grams. Per-unit for packaging\/components; reporting flows use their own mass semantics. Validation rules: nullable; string; numeric; decimal:0,6; min:0; max:999999999999"},"separation_type":{"type":"string","enum":["integrated","separate","auxiliary","unknown"],"description":"Validation rules: required; in:integrated,separate,auxiliary,unknown"},"recycled_type":{"type":"string","enum":["PCR","PIR","unspecified"],"description":"Validation rules: required; in:PCR,PIR,unspecified"},"recycled_value":{"type":["string","null"],"description":"Validation rules: nullable; string; numeric; decimal:0,6; between:0,100"},"value_semantics":{"type":"string","enum":["exact","minimum","maximum","average","unknown"],"description":"Validation rules: required; in:exact,minimum,maximum,average,unknown"}},"required":["revision","name","material","separation_type","recycled_type","value_semantics"]},"MarketsUpdateInput":{"type":"object","properties":{"market_revision":{"type":"integer","minimum":1,"description":"Packaging revision used when replacing the complete market list. Validation rules: required; integer; min:1"},"markets":{"type":"array","items":{"type":"string","enum":["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"],"description":"Validation rules: required; distinct; in:\"AD\",\"AE\",\"AF\",\"AG\",\"AI\",\"AL\",\"AM\",\"AO\",\"AQ\",\"AR\",\"AS\",\"AT\",\"AU\",\"AW\",\"AX\",\"AZ\",\"BA\",\"BB\",\"BD\",\"BE\",\"BF\",\"BG\",\"BH\",\"BI\",\"BJ\",\"BL\",\"BM\",\"BN\",\"BO\",\"BQ\",\"BR\",\"BS\",\"BT\",\"BV\",\"BW\",\"BY\",\"BZ\",\"CA\",\"CC\",\"CD\",\"CF\",\"CG\",\"CH\",\"CI\",\"CK\",\"CL\",\"CM\",\"CN\",\"CO\",\"CR\",\"CU\",\"CV\",\"CW\",\"CX\",\"CY\",\"CZ\",\"DE\",\"DJ\",\"DK\",\"DM\",\"DO\",\"DZ\",\"EC\",\"EE\",\"EG\",\"EH\",\"ER\",\"ES\",\"ET\",\"FI\",\"FJ\",\"FK\",\"FM\",\"FO\",\"FR\",\"GA\",\"GB\",\"GD\",\"GE\",\"GF\",\"GG\",\"GH\",\"GI\",\"GL\",\"GM\",\"GN\",\"GP\",\"GQ\",\"GR\",\"GS\",\"GT\",\"GU\",\"GW\",\"GY\",\"HK\",\"HM\",\"HN\",\"HR\",\"HT\",\"HU\",\"ID\",\"IE\",\"IL\",\"IM\",\"IN\",\"IO\",\"IQ\",\"IR\",\"IS\",\"IT\",\"JE\",\"JM\",\"JO\",\"JP\",\"KE\",\"KG\",\"KH\",\"KI\",\"KM\",\"KN\",\"KP\",\"KR\",\"KW\",\"KY\",\"KZ\",\"LA\",\"LB\",\"LC\",\"LI\",\"LK\",\"LR\",\"LS\",\"LT\",\"LU\",\"LV\",\"LY\",\"MA\",\"MC\",\"MD\",\"ME\",\"MF\",\"MG\",\"MH\",\"MK\",\"ML\",\"MM\",\"MN\",\"MO\",\"MP\",\"MQ\",\"MR\",\"MS\",\"MT\",\"MU\",\"MV\",\"MW\",\"MX\",\"MY\",\"MZ\",\"NA\",\"NC\",\"NE\",\"NF\",\"NG\",\"NI\",\"NL\",\"NO\",\"NP\",\"NR\",\"NU\",\"NZ\",\"OM\",\"PA\",\"PE\",\"PF\",\"PG\",\"PH\",\"PK\",\"PL\",\"PM\",\"PN\",\"PR\",\"PS\",\"PT\",\"PW\",\"PY\",\"QA\",\"RE\",\"RO\",\"RS\",\"RU\",\"RW\",\"SA\",\"SB\",\"SC\",\"SD\",\"SE\",\"SG\",\"SH\",\"SI\",\"SJ\",\"SK\",\"SL\",\"SM\",\"SN\",\"SO\",\"SR\",\"SS\",\"ST\",\"SV\",\"SX\",\"SY\",\"SZ\",\"TC\",\"TD\",\"TF\",\"TG\",\"TH\",\"TJ\",\"TK\",\"TL\",\"TM\",\"TN\",\"TO\",\"TR\",\"TT\",\"TV\",\"TW\",\"TZ\",\"UA\",\"UG\",\"UM\",\"US\",\"UY\",\"UZ\",\"VA\",\"VC\",\"VE\",\"VG\",\"VI\",\"VN\",\"VU\",\"WF\",\"WS\",\"YE\",\"YT\",\"ZA\",\"ZM\",\"ZW\""},"maxItems":250,"description":"Validation rules: present; array; max:250"},"market_details":{"type":"object","items":{},"description":"Validation rules: sometimes; array","additionalProperties":{"type":"object","description":"Validation rules: array:origin_country,economic_role,assessment_date","properties":{"origin_country":{"type":["string","null"],"enum":["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW",null],"description":"Validation rules: nullable; in:\"AD\",\"AE\",\"AF\",\"AG\",\"AI\",\"AL\",\"AM\",\"AO\",\"AQ\",\"AR\",\"AS\",\"AT\",\"AU\",\"AW\",\"AX\",\"AZ\",\"BA\",\"BB\",\"BD\",\"BE\",\"BF\",\"BG\",\"BH\",\"BI\",\"BJ\",\"BL\",\"BM\",\"BN\",\"BO\",\"BQ\",\"BR\",\"BS\",\"BT\",\"BV\",\"BW\",\"BY\",\"BZ\",\"CA\",\"CC\",\"CD\",\"CF\",\"CG\",\"CH\",\"CI\",\"CK\",\"CL\",\"CM\",\"CN\",\"CO\",\"CR\",\"CU\",\"CV\",\"CW\",\"CX\",\"CY\",\"CZ\",\"DE\",\"DJ\",\"DK\",\"DM\",\"DO\",\"DZ\",\"EC\",\"EE\",\"EG\",\"EH\",\"ER\",\"ES\",\"ET\",\"FI\",\"FJ\",\"FK\",\"FM\",\"FO\",\"FR\",\"GA\",\"GB\",\"GD\",\"GE\",\"GF\",\"GG\",\"GH\",\"GI\",\"GL\",\"GM\",\"GN\",\"GP\",\"GQ\",\"GR\",\"GS\",\"GT\",\"GU\",\"GW\",\"GY\",\"HK\",\"HM\",\"HN\",\"HR\",\"HT\",\"HU\",\"ID\",\"IE\",\"IL\",\"IM\",\"IN\",\"IO\",\"IQ\",\"IR\",\"IS\",\"IT\",\"JE\",\"JM\",\"JO\",\"JP\",\"KE\",\"KG\",\"KH\",\"KI\",\"KM\",\"KN\",\"KP\",\"KR\",\"KW\",\"KY\",\"KZ\",\"LA\",\"LB\",\"LC\",\"LI\",\"LK\",\"LR\",\"LS\",\"LT\",\"LU\",\"LV\",\"LY\",\"MA\",\"MC\",\"MD\",\"ME\",\"MF\",\"MG\",\"MH\",\"MK\",\"ML\",\"MM\",\"MN\",\"MO\",\"MP\",\"MQ\",\"MR\",\"MS\",\"MT\",\"MU\",\"MV\",\"MW\",\"MX\",\"MY\",\"MZ\",\"NA\",\"NC\",\"NE\",\"NF\",\"NG\",\"NI\",\"NL\",\"NO\",\"NP\",\"NR\",\"NU\",\"NZ\",\"OM\",\"PA\",\"PE\",\"PF\",\"PG\",\"PH\",\"PK\",\"PL\",\"PM\",\"PN\",\"PR\",\"PS\",\"PT\",\"PW\",\"PY\",\"QA\",\"RE\",\"RO\",\"RS\",\"RU\",\"RW\",\"SA\",\"SB\",\"SC\",\"SD\",\"SE\",\"SG\",\"SH\",\"SI\",\"SJ\",\"SK\",\"SL\",\"SM\",\"SN\",\"SO\",\"SR\",\"SS\",\"ST\",\"SV\",\"SX\",\"SY\",\"SZ\",\"TC\",\"TD\",\"TF\",\"TG\",\"TH\",\"TJ\",\"TK\",\"TL\",\"TM\",\"TN\",\"TO\",\"TR\",\"TT\",\"TV\",\"TW\",\"TZ\",\"UA\",\"UG\",\"UM\",\"US\",\"UY\",\"UZ\",\"VA\",\"VC\",\"VE\",\"VG\",\"VI\",\"VN\",\"VU\",\"WF\",\"WS\",\"YE\",\"YT\",\"ZA\",\"ZM\",\"ZW\""},"economic_role":{"type":"string","enum":["unknown","distributor","importer","compliance_manufacturer","filler_packer","end_user","material_supplier","authorized_representative","fulfillment_provider","waste_operator"],"description":"Validation rules: required; in:\"unknown\",\"distributor\",\"importer\",\"compliance_manufacturer\",\"filler_packer\",\"end_user\",\"material_supplier\",\"authorized_representative\",\"fulfillment_provider\",\"waste_operator\""},"assessment_date":{"type":"string","format":"date","description":"Validation rules: required; date_format:Y-m-d"}},"required":["economic_role","assessment_date"]}}},"required":["market_revision","markets"]},"SupplyEventsCreateInput":{"oneOf":[{"type":"object","properties":{"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. Validation rules: nullable; uuid"},"direction":{"type":"string","enum":["received","supplied","used","produced","opening","adjustment_in","adjustment_out"],"description":"Validation rules: required; in:\"received\",\"supplied\",\"used\",\"produced\",\"opening\",\"adjustment_in\",\"adjustment_out\"","const":"received"},"quantity_units":{"type":"integer","minimum":1,"maximum":1000000000,"description":"Alternative integer unit count; do not combine with quantity and unit. Validation rules: required_without:quantity; prohibits:quantity; integer; min:1; max:1000000000"},"quantity":{"type":"number","maximum":1000000000,"description":"Quantity covered by the operation, not its total mass. unit or resource configuration determines its unit. Use a decimal point. Validation rules: required_without:quantity_units; prohibits:quantity_units; numeric; decimal:0,6; gt:0; max:1000000000"},"unit":{"type":"string","maxLength":16,"description":"Unit code accepted by this packaging item; retrieve the units map from \/inventory. Validation rules: required_with:quantity; prohibits:quantity_units; string; max:16"},"batch_code":{"type":["string","null"],"maxLength":100,"description":"Batch identifier restricting stock selection when supplied. Validation rules: nullable; string; max:100"},"transaction_reference":{"type":["string","null"],"maxLength":255,"description":"Reference for the actual event; identifies order\/parcel for e-commerce usage. Validation rules: nullable; string; max:255; "},"usage_channel":{"type":"string","enum":["ecommerce","internal","other"],"description":"Validation rules: ; in:\"ecommerce\",\"internal\",\"other\""},"report_as_placed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"counterparty_name":{"type":["string","null"],"minLength":2,"maxLength":255,"description":"Validation rules: required; nullable; string; min:2; max:255"},"counterparty_country":{"type":"string","enum":["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"],"description":"Validation rules: required; string; size:2; in:\"AD\",\"AE\",\"AF\",\"AG\",\"AI\",\"AL\",\"AM\",\"AO\",\"AQ\",\"AR\",\"AS\",\"AT\",\"AU\",\"AW\",\"AX\",\"AZ\",\"BA\",\"BB\",\"BD\",\"BE\",\"BF\",\"BG\",\"BH\",\"BI\",\"BJ\",\"BL\",\"BM\",\"BN\",\"BO\",\"BQ\",\"BR\",\"BS\",\"BT\",\"BV\",\"BW\",\"BY\",\"BZ\",\"CA\",\"CC\",\"CD\",\"CF\",\"CG\",\"CH\",\"CI\",\"CK\",\"CL\",\"CM\",\"CN\",\"CO\",\"CR\",\"CU\",\"CV\",\"CW\",\"CX\",\"CY\",\"CZ\",\"DE\",\"DJ\",\"DK\",\"DM\",\"DO\",\"DZ\",\"EC\",\"EE\",\"EG\",\"EH\",\"ER\",\"ES\",\"ET\",\"FI\",\"FJ\",\"FK\",\"FM\",\"FO\",\"FR\",\"GA\",\"GB\",\"GD\",\"GE\",\"GF\",\"GG\",\"GH\",\"GI\",\"GL\",\"GM\",\"GN\",\"GP\",\"GQ\",\"GR\",\"GS\",\"GT\",\"GU\",\"GW\",\"GY\",\"HK\",\"HM\",\"HN\",\"HR\",\"HT\",\"HU\",\"ID\",\"IE\",\"IL\",\"IM\",\"IN\",\"IO\",\"IQ\",\"IR\",\"IS\",\"IT\",\"JE\",\"JM\",\"JO\",\"JP\",\"KE\",\"KG\",\"KH\",\"KI\",\"KM\",\"KN\",\"KP\",\"KR\",\"KW\",\"KY\",\"KZ\",\"LA\",\"LB\",\"LC\",\"LI\",\"LK\",\"LR\",\"LS\",\"LT\",\"LU\",\"LV\",\"LY\",\"MA\",\"MC\",\"MD\",\"ME\",\"MF\",\"MG\",\"MH\",\"MK\",\"ML\",\"MM\",\"MN\",\"MO\",\"MP\",\"MQ\",\"MR\",\"MS\",\"MT\",\"MU\",\"MV\",\"MW\",\"MX\",\"MY\",\"MZ\",\"NA\",\"NC\",\"NE\",\"NF\",\"NG\",\"NI\",\"NL\",\"NO\",\"NP\",\"NR\",\"NU\",\"NZ\",\"OM\",\"PA\",\"PE\",\"PF\",\"PG\",\"PH\",\"PK\",\"PL\",\"PM\",\"PN\",\"PR\",\"PS\",\"PT\",\"PW\",\"PY\",\"QA\",\"RE\",\"RO\",\"RS\",\"RU\",\"RW\",\"SA\",\"SB\",\"SC\",\"SD\",\"SE\",\"SG\",\"SH\",\"SI\",\"SJ\",\"SK\",\"SL\",\"SM\",\"SN\",\"SO\",\"SR\",\"SS\",\"ST\",\"SV\",\"SX\",\"SY\",\"SZ\",\"TC\",\"TD\",\"TF\",\"TG\",\"TH\",\"TJ\",\"TK\",\"TL\",\"TM\",\"TN\",\"TO\",\"TR\",\"TT\",\"TV\",\"TW\",\"TZ\",\"UA\",\"UG\",\"UM\",\"US\",\"UY\",\"UZ\",\"VA\",\"VC\",\"VE\",\"VG\",\"VI\",\"VN\",\"VU\",\"WF\",\"WS\",\"YE\",\"YT\",\"ZA\",\"ZM\",\"ZW\""},"counterparty_address":{"type":["string","null"],"minLength":10,"maxLength":2000,"description":"Validation rules: required; nullable; string; min:10; max:2000"},"counterparty_reference":{"type":["string","null"],"maxLength":255,"description":"Validation rules: nullable; string; max:255"},"event_on":{"type":"string","format":"date","description":"Actual event date in YYYY-MM-DD format. Validation rules: required; date_format:Y-m-d; before_or_equal:today"},"reusable_at_event":{"type":"string","enum":["yes","no"],"description":"Validation rules: required; in:\"yes\",\"no\""},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: nullable; uuid"},"note":{"type":["string","null"],"maxLength":3000,"description":"Validation rules: required_if:direction,adjustment_in,adjustment_out; nullable; string; max:3000"}},"required":["catalog_revision","direction","counterparty_name","counterparty_country","counterparty_address","event_on","reusable_at_event"],"allOf":[{"oneOf":[{"required":["quantity","unit"],"not":{"required":["quantity_units"]}},{"required":["quantity_units"],"not":{"required":["quantity"]}}]}]},{"type":"object","properties":{"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. Validation rules: nullable; uuid"},"direction":{"type":"string","enum":["received","supplied","used","produced","opening","adjustment_in","adjustment_out"],"description":"Validation rules: required; in:\"received\",\"supplied\",\"used\",\"produced\",\"opening\",\"adjustment_in\",\"adjustment_out\"","const":"supplied"},"quantity_units":{"type":"integer","minimum":1,"maximum":1000000000,"description":"Alternative integer unit count; do not combine with quantity and unit. Validation rules: required_without:quantity; prohibits:quantity; integer; min:1; max:1000000000"},"quantity":{"type":"number","maximum":1000000000,"description":"Quantity covered by the operation, not its total mass. unit or resource configuration determines its unit. Use a decimal point. Validation rules: required_without:quantity_units; prohibits:quantity_units; numeric; decimal:0,6; gt:0; max:1000000000"},"unit":{"type":"string","maxLength":16,"description":"Unit code accepted by this packaging item; retrieve the units map from \/inventory. Validation rules: required_with:quantity; prohibits:quantity_units; string; max:16"},"batch_code":{"type":["string","null"],"maxLength":100,"description":"Batch identifier restricting stock selection when supplied. Validation rules: nullable; string; max:100"},"transaction_reference":{"type":["string","null"],"maxLength":255,"description":"Reference for the actual event; identifies order\/parcel for e-commerce usage. Validation rules: nullable; string; max:255; "},"usage_channel":{"type":"string","enum":["ecommerce","internal","other"],"description":"Validation rules: ; in:\"ecommerce\",\"internal\",\"other\""},"report_as_placed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"counterparty_name":{"type":["string","null"],"minLength":2,"maxLength":255,"description":"Validation rules: required; nullable; string; min:2; max:255"},"counterparty_country":{"type":"string","enum":["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"],"description":"Validation rules: required; string; size:2; in:\"AD\",\"AE\",\"AF\",\"AG\",\"AI\",\"AL\",\"AM\",\"AO\",\"AQ\",\"AR\",\"AS\",\"AT\",\"AU\",\"AW\",\"AX\",\"AZ\",\"BA\",\"BB\",\"BD\",\"BE\",\"BF\",\"BG\",\"BH\",\"BI\",\"BJ\",\"BL\",\"BM\",\"BN\",\"BO\",\"BQ\",\"BR\",\"BS\",\"BT\",\"BV\",\"BW\",\"BY\",\"BZ\",\"CA\",\"CC\",\"CD\",\"CF\",\"CG\",\"CH\",\"CI\",\"CK\",\"CL\",\"CM\",\"CN\",\"CO\",\"CR\",\"CU\",\"CV\",\"CW\",\"CX\",\"CY\",\"CZ\",\"DE\",\"DJ\",\"DK\",\"DM\",\"DO\",\"DZ\",\"EC\",\"EE\",\"EG\",\"EH\",\"ER\",\"ES\",\"ET\",\"FI\",\"FJ\",\"FK\",\"FM\",\"FO\",\"FR\",\"GA\",\"GB\",\"GD\",\"GE\",\"GF\",\"GG\",\"GH\",\"GI\",\"GL\",\"GM\",\"GN\",\"GP\",\"GQ\",\"GR\",\"GS\",\"GT\",\"GU\",\"GW\",\"GY\",\"HK\",\"HM\",\"HN\",\"HR\",\"HT\",\"HU\",\"ID\",\"IE\",\"IL\",\"IM\",\"IN\",\"IO\",\"IQ\",\"IR\",\"IS\",\"IT\",\"JE\",\"JM\",\"JO\",\"JP\",\"KE\",\"KG\",\"KH\",\"KI\",\"KM\",\"KN\",\"KP\",\"KR\",\"KW\",\"KY\",\"KZ\",\"LA\",\"LB\",\"LC\",\"LI\",\"LK\",\"LR\",\"LS\",\"LT\",\"LU\",\"LV\",\"LY\",\"MA\",\"MC\",\"MD\",\"ME\",\"MF\",\"MG\",\"MH\",\"MK\",\"ML\",\"MM\",\"MN\",\"MO\",\"MP\",\"MQ\",\"MR\",\"MS\",\"MT\",\"MU\",\"MV\",\"MW\",\"MX\",\"MY\",\"MZ\",\"NA\",\"NC\",\"NE\",\"NF\",\"NG\",\"NI\",\"NL\",\"NO\",\"NP\",\"NR\",\"NU\",\"NZ\",\"OM\",\"PA\",\"PE\",\"PF\",\"PG\",\"PH\",\"PK\",\"PL\",\"PM\",\"PN\",\"PR\",\"PS\",\"PT\",\"PW\",\"PY\",\"QA\",\"RE\",\"RO\",\"RS\",\"RU\",\"RW\",\"SA\",\"SB\",\"SC\",\"SD\",\"SE\",\"SG\",\"SH\",\"SI\",\"SJ\",\"SK\",\"SL\",\"SM\",\"SN\",\"SO\",\"SR\",\"SS\",\"ST\",\"SV\",\"SX\",\"SY\",\"SZ\",\"TC\",\"TD\",\"TF\",\"TG\",\"TH\",\"TJ\",\"TK\",\"TL\",\"TM\",\"TN\",\"TO\",\"TR\",\"TT\",\"TV\",\"TW\",\"TZ\",\"UA\",\"UG\",\"UM\",\"US\",\"UY\",\"UZ\",\"VA\",\"VC\",\"VE\",\"VG\",\"VI\",\"VN\",\"VU\",\"WF\",\"WS\",\"YE\",\"YT\",\"ZA\",\"ZM\",\"ZW\""},"counterparty_address":{"type":["string","null"],"minLength":10,"maxLength":2000,"description":"Validation rules: required; nullable; string; min:10; max:2000"},"counterparty_reference":{"type":["string","null"],"maxLength":255,"description":"Validation rules: nullable; string; max:255"},"event_on":{"type":"string","format":"date","description":"Actual event date in YYYY-MM-DD format. Validation rules: required; date_format:Y-m-d; before_or_equal:today"},"reusable_at_event":{"type":"string","enum":["yes","no"],"description":"Validation rules: required; in:\"yes\",\"no\""},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: nullable; uuid"},"note":{"type":["string","null"],"maxLength":3000,"description":"Validation rules: required_if:direction,adjustment_in,adjustment_out; nullable; string; max:3000"}},"required":["catalog_revision","direction","counterparty_name","counterparty_country","counterparty_address","event_on","reusable_at_event"],"allOf":[{"oneOf":[{"required":["quantity","unit"],"not":{"required":["quantity_units"]}},{"required":["quantity_units"],"not":{"required":["quantity"]}}]}]},{"type":"object","properties":{"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. Validation rules: nullable; uuid"},"direction":{"type":"string","enum":["received","supplied","used","produced","opening","adjustment_in","adjustment_out"],"description":"Validation rules: required; in:\"received\",\"supplied\",\"used\",\"produced\",\"opening\",\"adjustment_in\",\"adjustment_out\"","const":"produced"},"quantity_units":{"type":"integer","minimum":1,"maximum":1000000000,"description":"Alternative integer unit count; do not combine with quantity and unit. Validation rules: required_without:quantity; prohibits:quantity; integer; min:1; max:1000000000"},"quantity":{"type":"number","maximum":1000000000,"description":"Quantity covered by the operation, not its total mass. unit or resource configuration determines its unit. Use a decimal point. Validation rules: required_without:quantity_units; prohibits:quantity_units; numeric; decimal:0,6; gt:0; max:1000000000"},"unit":{"type":"string","maxLength":16,"description":"Unit code accepted by this packaging item; retrieve the units map from \/inventory. Validation rules: required_with:quantity; prohibits:quantity_units; string; max:16"},"batch_code":{"type":["string","null"],"maxLength":100,"description":"Batch identifier restricting stock selection when supplied. Validation rules: nullable; string; max:100"},"transaction_reference":{"type":["string","null"],"maxLength":255,"description":"Reference for the actual event; identifies order\/parcel for e-commerce usage. Validation rules: nullable; string; max:255; "},"usage_channel":{"type":"string","enum":["ecommerce","internal","other"],"description":"Validation rules: ; in:\"ecommerce\",\"internal\",\"other\""},"report_as_placed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"counterparty_name":{"type":["string","null"],"minLength":2,"maxLength":255,"description":"Validation rules: ; nullable; string; min:2; max:255"},"counterparty_country":{"type":"string","enum":["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"],"description":"Validation rules: required; string; size:2; in:\"AD\",\"AE\",\"AF\",\"AG\",\"AI\",\"AL\",\"AM\",\"AO\",\"AQ\",\"AR\",\"AS\",\"AT\",\"AU\",\"AW\",\"AX\",\"AZ\",\"BA\",\"BB\",\"BD\",\"BE\",\"BF\",\"BG\",\"BH\",\"BI\",\"BJ\",\"BL\",\"BM\",\"BN\",\"BO\",\"BQ\",\"BR\",\"BS\",\"BT\",\"BV\",\"BW\",\"BY\",\"BZ\",\"CA\",\"CC\",\"CD\",\"CF\",\"CG\",\"CH\",\"CI\",\"CK\",\"CL\",\"CM\",\"CN\",\"CO\",\"CR\",\"CU\",\"CV\",\"CW\",\"CX\",\"CY\",\"CZ\",\"DE\",\"DJ\",\"DK\",\"DM\",\"DO\",\"DZ\",\"EC\",\"EE\",\"EG\",\"EH\",\"ER\",\"ES\",\"ET\",\"FI\",\"FJ\",\"FK\",\"FM\",\"FO\",\"FR\",\"GA\",\"GB\",\"GD\",\"GE\",\"GF\",\"GG\",\"GH\",\"GI\",\"GL\",\"GM\",\"GN\",\"GP\",\"GQ\",\"GR\",\"GS\",\"GT\",\"GU\",\"GW\",\"GY\",\"HK\",\"HM\",\"HN\",\"HR\",\"HT\",\"HU\",\"ID\",\"IE\",\"IL\",\"IM\",\"IN\",\"IO\",\"IQ\",\"IR\",\"IS\",\"IT\",\"JE\",\"JM\",\"JO\",\"JP\",\"KE\",\"KG\",\"KH\",\"KI\",\"KM\",\"KN\",\"KP\",\"KR\",\"KW\",\"KY\",\"KZ\",\"LA\",\"LB\",\"LC\",\"LI\",\"LK\",\"LR\",\"LS\",\"LT\",\"LU\",\"LV\",\"LY\",\"MA\",\"MC\",\"MD\",\"ME\",\"MF\",\"MG\",\"MH\",\"MK\",\"ML\",\"MM\",\"MN\",\"MO\",\"MP\",\"MQ\",\"MR\",\"MS\",\"MT\",\"MU\",\"MV\",\"MW\",\"MX\",\"MY\",\"MZ\",\"NA\",\"NC\",\"NE\",\"NF\",\"NG\",\"NI\",\"NL\",\"NO\",\"NP\",\"NR\",\"NU\",\"NZ\",\"OM\",\"PA\",\"PE\",\"PF\",\"PG\",\"PH\",\"PK\",\"PL\",\"PM\",\"PN\",\"PR\",\"PS\",\"PT\",\"PW\",\"PY\",\"QA\",\"RE\",\"RO\",\"RS\",\"RU\",\"RW\",\"SA\",\"SB\",\"SC\",\"SD\",\"SE\",\"SG\",\"SH\",\"SI\",\"SJ\",\"SK\",\"SL\",\"SM\",\"SN\",\"SO\",\"SR\",\"SS\",\"ST\",\"SV\",\"SX\",\"SY\",\"SZ\",\"TC\",\"TD\",\"TF\",\"TG\",\"TH\",\"TJ\",\"TK\",\"TL\",\"TM\",\"TN\",\"TO\",\"TR\",\"TT\",\"TV\",\"TW\",\"TZ\",\"UA\",\"UG\",\"UM\",\"US\",\"UY\",\"UZ\",\"VA\",\"VC\",\"VE\",\"VG\",\"VI\",\"VN\",\"VU\",\"WF\",\"WS\",\"YE\",\"YT\",\"ZA\",\"ZM\",\"ZW\""},"counterparty_address":{"type":["string","null"],"minLength":10,"maxLength":2000,"description":"Validation rules: ; nullable; string; min:10; max:2000"},"counterparty_reference":{"type":["string","null"],"maxLength":255,"description":"Validation rules: nullable; string; max:255"},"event_on":{"type":"string","format":"date","description":"Actual event date in YYYY-MM-DD format. Validation rules: required; date_format:Y-m-d; before_or_equal:today"},"reusable_at_event":{"type":"string","enum":["yes","no"],"description":"Validation rules: required; in:\"yes\",\"no\""},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: nullable; uuid"},"note":{"type":["string","null"],"maxLength":3000,"description":"Validation rules: required_if:direction,adjustment_in,adjustment_out; nullable; string; max:3000"}},"required":["catalog_revision","direction","counterparty_country","event_on","reusable_at_event"],"allOf":[{"oneOf":[{"required":["quantity","unit"],"not":{"required":["quantity_units"]}},{"required":["quantity_units"],"not":{"required":["quantity"]}}]}]},{"type":"object","properties":{"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. Validation rules: nullable; uuid"},"direction":{"type":"string","enum":["received","supplied","used","produced","opening","adjustment_in","adjustment_out"],"description":"Validation rules: required; in:\"received\",\"supplied\",\"used\",\"produced\",\"opening\",\"adjustment_in\",\"adjustment_out\"","const":"opening"},"quantity_units":{"type":"integer","minimum":1,"maximum":1000000000,"description":"Alternative integer unit count; do not combine with quantity and unit. Validation rules: required_without:quantity; prohibits:quantity; integer; min:1; max:1000000000"},"quantity":{"type":"number","maximum":1000000000,"description":"Quantity covered by the operation, not its total mass. unit or resource configuration determines its unit. Use a decimal point. Validation rules: required_without:quantity_units; prohibits:quantity_units; numeric; decimal:0,6; gt:0; max:1000000000"},"unit":{"type":"string","maxLength":16,"description":"Unit code accepted by this packaging item; retrieve the units map from \/inventory. Validation rules: required_with:quantity; prohibits:quantity_units; string; max:16"},"batch_code":{"type":["string","null"],"maxLength":100,"description":"Batch identifier restricting stock selection when supplied. Validation rules: nullable; string; max:100"},"transaction_reference":{"type":["string","null"],"maxLength":255,"description":"Reference for the actual event; identifies order\/parcel for e-commerce usage. Validation rules: nullable; string; max:255; "},"usage_channel":{"type":"string","enum":["ecommerce","internal","other"],"description":"Validation rules: ; in:\"ecommerce\",\"internal\",\"other\""},"report_as_placed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"counterparty_name":{"type":["string","null"],"minLength":2,"maxLength":255,"description":"Validation rules: ; nullable; string; min:2; max:255"},"counterparty_country":{"type":"string","enum":["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"],"description":"Validation rules: required; string; size:2; in:\"AD\",\"AE\",\"AF\",\"AG\",\"AI\",\"AL\",\"AM\",\"AO\",\"AQ\",\"AR\",\"AS\",\"AT\",\"AU\",\"AW\",\"AX\",\"AZ\",\"BA\",\"BB\",\"BD\",\"BE\",\"BF\",\"BG\",\"BH\",\"BI\",\"BJ\",\"BL\",\"BM\",\"BN\",\"BO\",\"BQ\",\"BR\",\"BS\",\"BT\",\"BV\",\"BW\",\"BY\",\"BZ\",\"CA\",\"CC\",\"CD\",\"CF\",\"CG\",\"CH\",\"CI\",\"CK\",\"CL\",\"CM\",\"CN\",\"CO\",\"CR\",\"CU\",\"CV\",\"CW\",\"CX\",\"CY\",\"CZ\",\"DE\",\"DJ\",\"DK\",\"DM\",\"DO\",\"DZ\",\"EC\",\"EE\",\"EG\",\"EH\",\"ER\",\"ES\",\"ET\",\"FI\",\"FJ\",\"FK\",\"FM\",\"FO\",\"FR\",\"GA\",\"GB\",\"GD\",\"GE\",\"GF\",\"GG\",\"GH\",\"GI\",\"GL\",\"GM\",\"GN\",\"GP\",\"GQ\",\"GR\",\"GS\",\"GT\",\"GU\",\"GW\",\"GY\",\"HK\",\"HM\",\"HN\",\"HR\",\"HT\",\"HU\",\"ID\",\"IE\",\"IL\",\"IM\",\"IN\",\"IO\",\"IQ\",\"IR\",\"IS\",\"IT\",\"JE\",\"JM\",\"JO\",\"JP\",\"KE\",\"KG\",\"KH\",\"KI\",\"KM\",\"KN\",\"KP\",\"KR\",\"KW\",\"KY\",\"KZ\",\"LA\",\"LB\",\"LC\",\"LI\",\"LK\",\"LR\",\"LS\",\"LT\",\"LU\",\"LV\",\"LY\",\"MA\",\"MC\",\"MD\",\"ME\",\"MF\",\"MG\",\"MH\",\"MK\",\"ML\",\"MM\",\"MN\",\"MO\",\"MP\",\"MQ\",\"MR\",\"MS\",\"MT\",\"MU\",\"MV\",\"MW\",\"MX\",\"MY\",\"MZ\",\"NA\",\"NC\",\"NE\",\"NF\",\"NG\",\"NI\",\"NL\",\"NO\",\"NP\",\"NR\",\"NU\",\"NZ\",\"OM\",\"PA\",\"PE\",\"PF\",\"PG\",\"PH\",\"PK\",\"PL\",\"PM\",\"PN\",\"PR\",\"PS\",\"PT\",\"PW\",\"PY\",\"QA\",\"RE\",\"RO\",\"RS\",\"RU\",\"RW\",\"SA\",\"SB\",\"SC\",\"SD\",\"SE\",\"SG\",\"SH\",\"SI\",\"SJ\",\"SK\",\"SL\",\"SM\",\"SN\",\"SO\",\"SR\",\"SS\",\"ST\",\"SV\",\"SX\",\"SY\",\"SZ\",\"TC\",\"TD\",\"TF\",\"TG\",\"TH\",\"TJ\",\"TK\",\"TL\",\"TM\",\"TN\",\"TO\",\"TR\",\"TT\",\"TV\",\"TW\",\"TZ\",\"UA\",\"UG\",\"UM\",\"US\",\"UY\",\"UZ\",\"VA\",\"VC\",\"VE\",\"VG\",\"VI\",\"VN\",\"VU\",\"WF\",\"WS\",\"YE\",\"YT\",\"ZA\",\"ZM\",\"ZW\""},"counterparty_address":{"type":["string","null"],"minLength":10,"maxLength":2000,"description":"Validation rules: ; nullable; string; min:10; max:2000"},"counterparty_reference":{"type":["string","null"],"maxLength":255,"description":"Validation rules: nullable; string; max:255"},"event_on":{"type":"string","format":"date","description":"Actual event date in YYYY-MM-DD format. Validation rules: required; date_format:Y-m-d; before_or_equal:today"},"reusable_at_event":{"type":"string","enum":["yes","no"],"description":"Validation rules: required; in:\"yes\",\"no\""},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: nullable; uuid"},"note":{"type":["string","null"],"maxLength":3000,"description":"Validation rules: required_if:direction,adjustment_in,adjustment_out; nullable; string; max:3000"}},"required":["catalog_revision","direction","counterparty_country","event_on","reusable_at_event"],"allOf":[{"oneOf":[{"required":["quantity","unit"],"not":{"required":["quantity_units"]}},{"required":["quantity_units"],"not":{"required":["quantity"]}}]}]},{"type":"object","properties":{"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. Validation rules: nullable; uuid"},"direction":{"type":"string","enum":["received","supplied","used","produced","opening","adjustment_in","adjustment_out"],"description":"Validation rules: required; in:\"received\",\"supplied\",\"used\",\"produced\",\"opening\",\"adjustment_in\",\"adjustment_out\"","const":"adjustment_in"},"quantity_units":{"type":"integer","minimum":1,"maximum":1000000000,"description":"Alternative integer unit count; do not combine with quantity and unit. Validation rules: required_without:quantity; prohibits:quantity; integer; min:1; max:1000000000"},"quantity":{"type":"number","maximum":1000000000,"description":"Quantity covered by the operation, not its total mass. unit or resource configuration determines its unit. Use a decimal point. Validation rules: required_without:quantity_units; prohibits:quantity_units; numeric; decimal:0,6; gt:0; max:1000000000"},"unit":{"type":"string","maxLength":16,"description":"Unit code accepted by this packaging item; retrieve the units map from \/inventory. Validation rules: required_with:quantity; prohibits:quantity_units; string; max:16"},"batch_code":{"type":["string","null"],"maxLength":100,"description":"Batch identifier restricting stock selection when supplied. Validation rules: nullable; string; max:100"},"transaction_reference":{"type":["string","null"],"maxLength":255,"description":"Reference for the actual event; identifies order\/parcel for e-commerce usage. Validation rules: nullable; string; max:255; "},"usage_channel":{"type":"string","enum":["ecommerce","internal","other"],"description":"Validation rules: ; in:\"ecommerce\",\"internal\",\"other\""},"report_as_placed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"counterparty_name":{"type":["string","null"],"minLength":2,"maxLength":255,"description":"Validation rules: ; nullable; string; min:2; max:255"},"counterparty_country":{"type":"string","enum":["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"],"description":"Validation rules: required; string; size:2; in:\"AD\",\"AE\",\"AF\",\"AG\",\"AI\",\"AL\",\"AM\",\"AO\",\"AQ\",\"AR\",\"AS\",\"AT\",\"AU\",\"AW\",\"AX\",\"AZ\",\"BA\",\"BB\",\"BD\",\"BE\",\"BF\",\"BG\",\"BH\",\"BI\",\"BJ\",\"BL\",\"BM\",\"BN\",\"BO\",\"BQ\",\"BR\",\"BS\",\"BT\",\"BV\",\"BW\",\"BY\",\"BZ\",\"CA\",\"CC\",\"CD\",\"CF\",\"CG\",\"CH\",\"CI\",\"CK\",\"CL\",\"CM\",\"CN\",\"CO\",\"CR\",\"CU\",\"CV\",\"CW\",\"CX\",\"CY\",\"CZ\",\"DE\",\"DJ\",\"DK\",\"DM\",\"DO\",\"DZ\",\"EC\",\"EE\",\"EG\",\"EH\",\"ER\",\"ES\",\"ET\",\"FI\",\"FJ\",\"FK\",\"FM\",\"FO\",\"FR\",\"GA\",\"GB\",\"GD\",\"GE\",\"GF\",\"GG\",\"GH\",\"GI\",\"GL\",\"GM\",\"GN\",\"GP\",\"GQ\",\"GR\",\"GS\",\"GT\",\"GU\",\"GW\",\"GY\",\"HK\",\"HM\",\"HN\",\"HR\",\"HT\",\"HU\",\"ID\",\"IE\",\"IL\",\"IM\",\"IN\",\"IO\",\"IQ\",\"IR\",\"IS\",\"IT\",\"JE\",\"JM\",\"JO\",\"JP\",\"KE\",\"KG\",\"KH\",\"KI\",\"KM\",\"KN\",\"KP\",\"KR\",\"KW\",\"KY\",\"KZ\",\"LA\",\"LB\",\"LC\",\"LI\",\"LK\",\"LR\",\"LS\",\"LT\",\"LU\",\"LV\",\"LY\",\"MA\",\"MC\",\"MD\",\"ME\",\"MF\",\"MG\",\"MH\",\"MK\",\"ML\",\"MM\",\"MN\",\"MO\",\"MP\",\"MQ\",\"MR\",\"MS\",\"MT\",\"MU\",\"MV\",\"MW\",\"MX\",\"MY\",\"MZ\",\"NA\",\"NC\",\"NE\",\"NF\",\"NG\",\"NI\",\"NL\",\"NO\",\"NP\",\"NR\",\"NU\",\"NZ\",\"OM\",\"PA\",\"PE\",\"PF\",\"PG\",\"PH\",\"PK\",\"PL\",\"PM\",\"PN\",\"PR\",\"PS\",\"PT\",\"PW\",\"PY\",\"QA\",\"RE\",\"RO\",\"RS\",\"RU\",\"RW\",\"SA\",\"SB\",\"SC\",\"SD\",\"SE\",\"SG\",\"SH\",\"SI\",\"SJ\",\"SK\",\"SL\",\"SM\",\"SN\",\"SO\",\"SR\",\"SS\",\"ST\",\"SV\",\"SX\",\"SY\",\"SZ\",\"TC\",\"TD\",\"TF\",\"TG\",\"TH\",\"TJ\",\"TK\",\"TL\",\"TM\",\"TN\",\"TO\",\"TR\",\"TT\",\"TV\",\"TW\",\"TZ\",\"UA\",\"UG\",\"UM\",\"US\",\"UY\",\"UZ\",\"VA\",\"VC\",\"VE\",\"VG\",\"VI\",\"VN\",\"VU\",\"WF\",\"WS\",\"YE\",\"YT\",\"ZA\",\"ZM\",\"ZW\""},"counterparty_address":{"type":["string","null"],"minLength":10,"maxLength":2000,"description":"Validation rules: ; nullable; string; min:10; max:2000"},"counterparty_reference":{"type":["string","null"],"maxLength":255,"description":"Validation rules: nullable; string; max:255"},"event_on":{"type":"string","format":"date","description":"Actual event date in YYYY-MM-DD format. Validation rules: required; date_format:Y-m-d; before_or_equal:today"},"reusable_at_event":{"type":"string","enum":["yes","no"],"description":"Validation rules: required; in:\"yes\",\"no\""},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: nullable; uuid"},"note":{"type":["string","null"],"maxLength":3000,"description":"Validation rules: required_if:direction,adjustment_in,adjustment_out; nullable; string; max:3000"}},"required":["catalog_revision","direction","counterparty_country","event_on","reusable_at_event","note"],"allOf":[{"oneOf":[{"required":["quantity","unit"],"not":{"required":["quantity_units"]}},{"required":["quantity_units"],"not":{"required":["quantity"]}}]}]},{"type":"object","properties":{"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. Validation rules: nullable; uuid"},"direction":{"type":"string","enum":["received","supplied","used","produced","opening","adjustment_in","adjustment_out"],"description":"Validation rules: required; in:\"received\",\"supplied\",\"used\",\"produced\",\"opening\",\"adjustment_in\",\"adjustment_out\"","const":"adjustment_out"},"quantity_units":{"type":"integer","minimum":1,"maximum":1000000000,"description":"Alternative integer unit count; do not combine with quantity and unit. Validation rules: required_without:quantity; prohibits:quantity; integer; min:1; max:1000000000"},"quantity":{"type":"number","maximum":1000000000,"description":"Quantity covered by the operation, not its total mass. unit or resource configuration determines its unit. Use a decimal point. Validation rules: required_without:quantity_units; prohibits:quantity_units; numeric; decimal:0,6; gt:0; max:1000000000"},"unit":{"type":"string","maxLength":16,"description":"Unit code accepted by this packaging item; retrieve the units map from \/inventory. Validation rules: required_with:quantity; prohibits:quantity_units; string; max:16"},"batch_code":{"type":["string","null"],"maxLength":100,"description":"Batch identifier restricting stock selection when supplied. Validation rules: nullable; string; max:100"},"transaction_reference":{"type":["string","null"],"maxLength":255,"description":"Reference for the actual event; identifies order\/parcel for e-commerce usage. Validation rules: nullable; string; max:255; "},"usage_channel":{"type":"string","enum":["ecommerce","internal","other"],"description":"Validation rules: ; in:\"ecommerce\",\"internal\",\"other\""},"report_as_placed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"counterparty_name":{"type":["string","null"],"minLength":2,"maxLength":255,"description":"Validation rules: ; nullable; string; min:2; max:255"},"counterparty_country":{"type":"string","enum":["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"],"description":"Validation rules: required; string; size:2; in:\"AD\",\"AE\",\"AF\",\"AG\",\"AI\",\"AL\",\"AM\",\"AO\",\"AQ\",\"AR\",\"AS\",\"AT\",\"AU\",\"AW\",\"AX\",\"AZ\",\"BA\",\"BB\",\"BD\",\"BE\",\"BF\",\"BG\",\"BH\",\"BI\",\"BJ\",\"BL\",\"BM\",\"BN\",\"BO\",\"BQ\",\"BR\",\"BS\",\"BT\",\"BV\",\"BW\",\"BY\",\"BZ\",\"CA\",\"CC\",\"CD\",\"CF\",\"CG\",\"CH\",\"CI\",\"CK\",\"CL\",\"CM\",\"CN\",\"CO\",\"CR\",\"CU\",\"CV\",\"CW\",\"CX\",\"CY\",\"CZ\",\"DE\",\"DJ\",\"DK\",\"DM\",\"DO\",\"DZ\",\"EC\",\"EE\",\"EG\",\"EH\",\"ER\",\"ES\",\"ET\",\"FI\",\"FJ\",\"FK\",\"FM\",\"FO\",\"FR\",\"GA\",\"GB\",\"GD\",\"GE\",\"GF\",\"GG\",\"GH\",\"GI\",\"GL\",\"GM\",\"GN\",\"GP\",\"GQ\",\"GR\",\"GS\",\"GT\",\"GU\",\"GW\",\"GY\",\"HK\",\"HM\",\"HN\",\"HR\",\"HT\",\"HU\",\"ID\",\"IE\",\"IL\",\"IM\",\"IN\",\"IO\",\"IQ\",\"IR\",\"IS\",\"IT\",\"JE\",\"JM\",\"JO\",\"JP\",\"KE\",\"KG\",\"KH\",\"KI\",\"KM\",\"KN\",\"KP\",\"KR\",\"KW\",\"KY\",\"KZ\",\"LA\",\"LB\",\"LC\",\"LI\",\"LK\",\"LR\",\"LS\",\"LT\",\"LU\",\"LV\",\"LY\",\"MA\",\"MC\",\"MD\",\"ME\",\"MF\",\"MG\",\"MH\",\"MK\",\"ML\",\"MM\",\"MN\",\"MO\",\"MP\",\"MQ\",\"MR\",\"MS\",\"MT\",\"MU\",\"MV\",\"MW\",\"MX\",\"MY\",\"MZ\",\"NA\",\"NC\",\"NE\",\"NF\",\"NG\",\"NI\",\"NL\",\"NO\",\"NP\",\"NR\",\"NU\",\"NZ\",\"OM\",\"PA\",\"PE\",\"PF\",\"PG\",\"PH\",\"PK\",\"PL\",\"PM\",\"PN\",\"PR\",\"PS\",\"PT\",\"PW\",\"PY\",\"QA\",\"RE\",\"RO\",\"RS\",\"RU\",\"RW\",\"SA\",\"SB\",\"SC\",\"SD\",\"SE\",\"SG\",\"SH\",\"SI\",\"SJ\",\"SK\",\"SL\",\"SM\",\"SN\",\"SO\",\"SR\",\"SS\",\"ST\",\"SV\",\"SX\",\"SY\",\"SZ\",\"TC\",\"TD\",\"TF\",\"TG\",\"TH\",\"TJ\",\"TK\",\"TL\",\"TM\",\"TN\",\"TO\",\"TR\",\"TT\",\"TV\",\"TW\",\"TZ\",\"UA\",\"UG\",\"UM\",\"US\",\"UY\",\"UZ\",\"VA\",\"VC\",\"VE\",\"VG\",\"VI\",\"VN\",\"VU\",\"WF\",\"WS\",\"YE\",\"YT\",\"ZA\",\"ZM\",\"ZW\""},"counterparty_address":{"type":["string","null"],"minLength":10,"maxLength":2000,"description":"Validation rules: ; nullable; string; min:10; max:2000"},"counterparty_reference":{"type":["string","null"],"maxLength":255,"description":"Validation rules: nullable; string; max:255"},"event_on":{"type":"string","format":"date","description":"Actual event date in YYYY-MM-DD format. Validation rules: required; date_format:Y-m-d; before_or_equal:today"},"reusable_at_event":{"type":"string","enum":["yes","no"],"description":"Validation rules: required; in:\"yes\",\"no\""},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: nullable; uuid"},"note":{"type":["string","null"],"maxLength":3000,"description":"Validation rules: required_if:direction,adjustment_in,adjustment_out; nullable; string; max:3000"}},"required":["catalog_revision","direction","counterparty_country","event_on","reusable_at_event","note"],"allOf":[{"oneOf":[{"required":["quantity","unit"],"not":{"required":["quantity_units"]}},{"required":["quantity_units"],"not":{"required":["quantity"]}}]}]},{"type":"object","properties":{"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. Validation rules: nullable; uuid"},"direction":{"type":"string","enum":["received","supplied","used","produced","opening","adjustment_in","adjustment_out"],"description":"Validation rules: required; in:\"received\",\"supplied\",\"used\",\"produced\",\"opening\",\"adjustment_in\",\"adjustment_out\"","const":"used"},"quantity_units":{"type":"integer","minimum":1,"maximum":1000000000,"description":"Alternative integer unit count; do not combine with quantity and unit. Validation rules: required_without:quantity; prohibits:quantity; integer; min:1; max:1000000000"},"quantity":{"type":"number","maximum":1000000000,"description":"Quantity covered by the operation, not its total mass. unit or resource configuration determines its unit. Use a decimal point. Validation rules: required_without:quantity_units; prohibits:quantity_units; numeric; decimal:0,6; gt:0; max:1000000000"},"unit":{"type":"string","maxLength":16,"description":"Unit code accepted by this packaging item; retrieve the units map from \/inventory. Validation rules: required_with:quantity; prohibits:quantity_units; string; max:16"},"batch_code":{"type":["string","null"],"maxLength":100,"description":"Batch identifier restricting stock selection when supplied. Validation rules: nullable; string; max:100"},"transaction_reference":{"type":["string","null"],"maxLength":255,"description":"Reference for the actual event; identifies order\/parcel for e-commerce usage. Validation rules: nullable; string; max:255; required"},"usage_channel":{"type":"string","enum":["ecommerce","internal","other"],"description":"Validation rules: required; in:\"ecommerce\",\"internal\",\"other\"","const":"ecommerce"},"report_as_placed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"counterparty_name":{"type":["string","null"],"minLength":2,"maxLength":255,"description":"Validation rules: ; nullable; string; min:2; max:255"},"counterparty_country":{"type":"string","enum":["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"],"description":"Validation rules: required; string; size:2; in:\"AD\",\"AE\",\"AF\",\"AG\",\"AI\",\"AL\",\"AM\",\"AO\",\"AQ\",\"AR\",\"AS\",\"AT\",\"AU\",\"AW\",\"AX\",\"AZ\",\"BA\",\"BB\",\"BD\",\"BE\",\"BF\",\"BG\",\"BH\",\"BI\",\"BJ\",\"BL\",\"BM\",\"BN\",\"BO\",\"BQ\",\"BR\",\"BS\",\"BT\",\"BV\",\"BW\",\"BY\",\"BZ\",\"CA\",\"CC\",\"CD\",\"CF\",\"CG\",\"CH\",\"CI\",\"CK\",\"CL\",\"CM\",\"CN\",\"CO\",\"CR\",\"CU\",\"CV\",\"CW\",\"CX\",\"CY\",\"CZ\",\"DE\",\"DJ\",\"DK\",\"DM\",\"DO\",\"DZ\",\"EC\",\"EE\",\"EG\",\"EH\",\"ER\",\"ES\",\"ET\",\"FI\",\"FJ\",\"FK\",\"FM\",\"FO\",\"FR\",\"GA\",\"GB\",\"GD\",\"GE\",\"GF\",\"GG\",\"GH\",\"GI\",\"GL\",\"GM\",\"GN\",\"GP\",\"GQ\",\"GR\",\"GS\",\"GT\",\"GU\",\"GW\",\"GY\",\"HK\",\"HM\",\"HN\",\"HR\",\"HT\",\"HU\",\"ID\",\"IE\",\"IL\",\"IM\",\"IN\",\"IO\",\"IQ\",\"IR\",\"IS\",\"IT\",\"JE\",\"JM\",\"JO\",\"JP\",\"KE\",\"KG\",\"KH\",\"KI\",\"KM\",\"KN\",\"KP\",\"KR\",\"KW\",\"KY\",\"KZ\",\"LA\",\"LB\",\"LC\",\"LI\",\"LK\",\"LR\",\"LS\",\"LT\",\"LU\",\"LV\",\"LY\",\"MA\",\"MC\",\"MD\",\"ME\",\"MF\",\"MG\",\"MH\",\"MK\",\"ML\",\"MM\",\"MN\",\"MO\",\"MP\",\"MQ\",\"MR\",\"MS\",\"MT\",\"MU\",\"MV\",\"MW\",\"MX\",\"MY\",\"MZ\",\"NA\",\"NC\",\"NE\",\"NF\",\"NG\",\"NI\",\"NL\",\"NO\",\"NP\",\"NR\",\"NU\",\"NZ\",\"OM\",\"PA\",\"PE\",\"PF\",\"PG\",\"PH\",\"PK\",\"PL\",\"PM\",\"PN\",\"PR\",\"PS\",\"PT\",\"PW\",\"PY\",\"QA\",\"RE\",\"RO\",\"RS\",\"RU\",\"RW\",\"SA\",\"SB\",\"SC\",\"SD\",\"SE\",\"SG\",\"SH\",\"SI\",\"SJ\",\"SK\",\"SL\",\"SM\",\"SN\",\"SO\",\"SR\",\"SS\",\"ST\",\"SV\",\"SX\",\"SY\",\"SZ\",\"TC\",\"TD\",\"TF\",\"TG\",\"TH\",\"TJ\",\"TK\",\"TL\",\"TM\",\"TN\",\"TO\",\"TR\",\"TT\",\"TV\",\"TW\",\"TZ\",\"UA\",\"UG\",\"UM\",\"US\",\"UY\",\"UZ\",\"VA\",\"VC\",\"VE\",\"VG\",\"VI\",\"VN\",\"VU\",\"WF\",\"WS\",\"YE\",\"YT\",\"ZA\",\"ZM\",\"ZW\""},"counterparty_address":{"type":["string","null"],"minLength":10,"maxLength":2000,"description":"Validation rules: ; nullable; string; min:10; max:2000"},"counterparty_reference":{"type":["string","null"],"maxLength":255,"description":"Validation rules: nullable; string; max:255"},"event_on":{"type":"string","format":"date","description":"Actual event date in YYYY-MM-DD format. Validation rules: required; date_format:Y-m-d; before_or_equal:today"},"reusable_at_event":{"type":"string","enum":["yes","no"],"description":"Validation rules: required; in:\"yes\",\"no\""},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: nullable; uuid"},"note":{"type":["string","null"],"maxLength":3000,"description":"Validation rules: required_if:direction,adjustment_in,adjustment_out; nullable; string; max:3000"}},"required":["catalog_revision","direction","transaction_reference","usage_channel","counterparty_country","event_on","reusable_at_event"],"allOf":[{"oneOf":[{"required":["quantity","unit"],"not":{"required":["quantity_units"]}},{"required":["quantity_units"],"not":{"required":["quantity"]}}]}]},{"type":"object","properties":{"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. Validation rules: nullable; uuid"},"direction":{"type":"string","enum":["received","supplied","used","produced","opening","adjustment_in","adjustment_out"],"description":"Validation rules: required; in:\"received\",\"supplied\",\"used\",\"produced\",\"opening\",\"adjustment_in\",\"adjustment_out\"","const":"used"},"quantity_units":{"type":"integer","minimum":1,"maximum":1000000000,"description":"Alternative integer unit count; do not combine with quantity and unit. Validation rules: required_without:quantity; prohibits:quantity; integer; min:1; max:1000000000"},"quantity":{"type":"number","maximum":1000000000,"description":"Quantity covered by the operation, not its total mass. unit or resource configuration determines its unit. Use a decimal point. Validation rules: required_without:quantity_units; prohibits:quantity_units; numeric; decimal:0,6; gt:0; max:1000000000"},"unit":{"type":"string","maxLength":16,"description":"Unit code accepted by this packaging item; retrieve the units map from \/inventory. Validation rules: required_with:quantity; prohibits:quantity_units; string; max:16"},"batch_code":{"type":["string","null"],"maxLength":100,"description":"Batch identifier restricting stock selection when supplied. Validation rules: nullable; string; max:100"},"transaction_reference":{"type":["string","null"],"maxLength":255,"description":"Reference for the actual event; identifies order\/parcel for e-commerce usage. Validation rules: nullable; string; max:255; "},"usage_channel":{"type":"string","enum":["ecommerce","internal","other"],"description":"Validation rules: required; in:\"ecommerce\",\"internal\",\"other\"","const":"internal"},"report_as_placed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"counterparty_name":{"type":["string","null"],"minLength":2,"maxLength":255,"description":"Validation rules: ; nullable; string; min:2; max:255"},"counterparty_country":{"type":"string","enum":["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"],"description":"Validation rules: required; string; size:2; in:\"AD\",\"AE\",\"AF\",\"AG\",\"AI\",\"AL\",\"AM\",\"AO\",\"AQ\",\"AR\",\"AS\",\"AT\",\"AU\",\"AW\",\"AX\",\"AZ\",\"BA\",\"BB\",\"BD\",\"BE\",\"BF\",\"BG\",\"BH\",\"BI\",\"BJ\",\"BL\",\"BM\",\"BN\",\"BO\",\"BQ\",\"BR\",\"BS\",\"BT\",\"BV\",\"BW\",\"BY\",\"BZ\",\"CA\",\"CC\",\"CD\",\"CF\",\"CG\",\"CH\",\"CI\",\"CK\",\"CL\",\"CM\",\"CN\",\"CO\",\"CR\",\"CU\",\"CV\",\"CW\",\"CX\",\"CY\",\"CZ\",\"DE\",\"DJ\",\"DK\",\"DM\",\"DO\",\"DZ\",\"EC\",\"EE\",\"EG\",\"EH\",\"ER\",\"ES\",\"ET\",\"FI\",\"FJ\",\"FK\",\"FM\",\"FO\",\"FR\",\"GA\",\"GB\",\"GD\",\"GE\",\"GF\",\"GG\",\"GH\",\"GI\",\"GL\",\"GM\",\"GN\",\"GP\",\"GQ\",\"GR\",\"GS\",\"GT\",\"GU\",\"GW\",\"GY\",\"HK\",\"HM\",\"HN\",\"HR\",\"HT\",\"HU\",\"ID\",\"IE\",\"IL\",\"IM\",\"IN\",\"IO\",\"IQ\",\"IR\",\"IS\",\"IT\",\"JE\",\"JM\",\"JO\",\"JP\",\"KE\",\"KG\",\"KH\",\"KI\",\"KM\",\"KN\",\"KP\",\"KR\",\"KW\",\"KY\",\"KZ\",\"LA\",\"LB\",\"LC\",\"LI\",\"LK\",\"LR\",\"LS\",\"LT\",\"LU\",\"LV\",\"LY\",\"MA\",\"MC\",\"MD\",\"ME\",\"MF\",\"MG\",\"MH\",\"MK\",\"ML\",\"MM\",\"MN\",\"MO\",\"MP\",\"MQ\",\"MR\",\"MS\",\"MT\",\"MU\",\"MV\",\"MW\",\"MX\",\"MY\",\"MZ\",\"NA\",\"NC\",\"NE\",\"NF\",\"NG\",\"NI\",\"NL\",\"NO\",\"NP\",\"NR\",\"NU\",\"NZ\",\"OM\",\"PA\",\"PE\",\"PF\",\"PG\",\"PH\",\"PK\",\"PL\",\"PM\",\"PN\",\"PR\",\"PS\",\"PT\",\"PW\",\"PY\",\"QA\",\"RE\",\"RO\",\"RS\",\"RU\",\"RW\",\"SA\",\"SB\",\"SC\",\"SD\",\"SE\",\"SG\",\"SH\",\"SI\",\"SJ\",\"SK\",\"SL\",\"SM\",\"SN\",\"SO\",\"SR\",\"SS\",\"ST\",\"SV\",\"SX\",\"SY\",\"SZ\",\"TC\",\"TD\",\"TF\",\"TG\",\"TH\",\"TJ\",\"TK\",\"TL\",\"TM\",\"TN\",\"TO\",\"TR\",\"TT\",\"TV\",\"TW\",\"TZ\",\"UA\",\"UG\",\"UM\",\"US\",\"UY\",\"UZ\",\"VA\",\"VC\",\"VE\",\"VG\",\"VI\",\"VN\",\"VU\",\"WF\",\"WS\",\"YE\",\"YT\",\"ZA\",\"ZM\",\"ZW\""},"counterparty_address":{"type":["string","null"],"minLength":10,"maxLength":2000,"description":"Validation rules: ; nullable; string; min:10; max:2000"},"counterparty_reference":{"type":["string","null"],"maxLength":255,"description":"Validation rules: nullable; string; max:255"},"event_on":{"type":"string","format":"date","description":"Actual event date in YYYY-MM-DD format. Validation rules: required; date_format:Y-m-d; before_or_equal:today"},"reusable_at_event":{"type":"string","enum":["yes","no"],"description":"Validation rules: required; in:\"yes\",\"no\""},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: nullable; uuid"},"note":{"type":["string","null"],"maxLength":3000,"description":"Validation rules: required_if:direction,adjustment_in,adjustment_out; nullable; string; max:3000"}},"required":["catalog_revision","direction","usage_channel","counterparty_country","event_on","reusable_at_event"],"allOf":[{"oneOf":[{"required":["quantity","unit"],"not":{"required":["quantity_units"]}},{"required":["quantity_units"],"not":{"required":["quantity"]}}]}]},{"type":"object","properties":{"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. Validation rules: nullable; uuid"},"direction":{"type":"string","enum":["received","supplied","used","produced","opening","adjustment_in","adjustment_out"],"description":"Validation rules: required; in:\"received\",\"supplied\",\"used\",\"produced\",\"opening\",\"adjustment_in\",\"adjustment_out\"","const":"used"},"quantity_units":{"type":"integer","minimum":1,"maximum":1000000000,"description":"Alternative integer unit count; do not combine with quantity and unit. Validation rules: required_without:quantity; prohibits:quantity; integer; min:1; max:1000000000"},"quantity":{"type":"number","maximum":1000000000,"description":"Quantity covered by the operation, not its total mass. unit or resource configuration determines its unit. Use a decimal point. Validation rules: required_without:quantity_units; prohibits:quantity_units; numeric; decimal:0,6; gt:0; max:1000000000"},"unit":{"type":"string","maxLength":16,"description":"Unit code accepted by this packaging item; retrieve the units map from \/inventory. Validation rules: required_with:quantity; prohibits:quantity_units; string; max:16"},"batch_code":{"type":["string","null"],"maxLength":100,"description":"Batch identifier restricting stock selection when supplied. Validation rules: nullable; string; max:100"},"transaction_reference":{"type":["string","null"],"maxLength":255,"description":"Reference for the actual event; identifies order\/parcel for e-commerce usage. Validation rules: nullable; string; max:255; "},"usage_channel":{"type":"string","enum":["ecommerce","internal","other"],"description":"Validation rules: required; in:\"ecommerce\",\"internal\",\"other\"","const":"other"},"report_as_placed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"counterparty_name":{"type":["string","null"],"minLength":2,"maxLength":255,"description":"Validation rules: ; nullable; string; min:2; max:255"},"counterparty_country":{"type":"string","enum":["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"],"description":"Validation rules: required; string; size:2; in:\"AD\",\"AE\",\"AF\",\"AG\",\"AI\",\"AL\",\"AM\",\"AO\",\"AQ\",\"AR\",\"AS\",\"AT\",\"AU\",\"AW\",\"AX\",\"AZ\",\"BA\",\"BB\",\"BD\",\"BE\",\"BF\",\"BG\",\"BH\",\"BI\",\"BJ\",\"BL\",\"BM\",\"BN\",\"BO\",\"BQ\",\"BR\",\"BS\",\"BT\",\"BV\",\"BW\",\"BY\",\"BZ\",\"CA\",\"CC\",\"CD\",\"CF\",\"CG\",\"CH\",\"CI\",\"CK\",\"CL\",\"CM\",\"CN\",\"CO\",\"CR\",\"CU\",\"CV\",\"CW\",\"CX\",\"CY\",\"CZ\",\"DE\",\"DJ\",\"DK\",\"DM\",\"DO\",\"DZ\",\"EC\",\"EE\",\"EG\",\"EH\",\"ER\",\"ES\",\"ET\",\"FI\",\"FJ\",\"FK\",\"FM\",\"FO\",\"FR\",\"GA\",\"GB\",\"GD\",\"GE\",\"GF\",\"GG\",\"GH\",\"GI\",\"GL\",\"GM\",\"GN\",\"GP\",\"GQ\",\"GR\",\"GS\",\"GT\",\"GU\",\"GW\",\"GY\",\"HK\",\"HM\",\"HN\",\"HR\",\"HT\",\"HU\",\"ID\",\"IE\",\"IL\",\"IM\",\"IN\",\"IO\",\"IQ\",\"IR\",\"IS\",\"IT\",\"JE\",\"JM\",\"JO\",\"JP\",\"KE\",\"KG\",\"KH\",\"KI\",\"KM\",\"KN\",\"KP\",\"KR\",\"KW\",\"KY\",\"KZ\",\"LA\",\"LB\",\"LC\",\"LI\",\"LK\",\"LR\",\"LS\",\"LT\",\"LU\",\"LV\",\"LY\",\"MA\",\"MC\",\"MD\",\"ME\",\"MF\",\"MG\",\"MH\",\"MK\",\"ML\",\"MM\",\"MN\",\"MO\",\"MP\",\"MQ\",\"MR\",\"MS\",\"MT\",\"MU\",\"MV\",\"MW\",\"MX\",\"MY\",\"MZ\",\"NA\",\"NC\",\"NE\",\"NF\",\"NG\",\"NI\",\"NL\",\"NO\",\"NP\",\"NR\",\"NU\",\"NZ\",\"OM\",\"PA\",\"PE\",\"PF\",\"PG\",\"PH\",\"PK\",\"PL\",\"PM\",\"PN\",\"PR\",\"PS\",\"PT\",\"PW\",\"PY\",\"QA\",\"RE\",\"RO\",\"RS\",\"RU\",\"RW\",\"SA\",\"SB\",\"SC\",\"SD\",\"SE\",\"SG\",\"SH\",\"SI\",\"SJ\",\"SK\",\"SL\",\"SM\",\"SN\",\"SO\",\"SR\",\"SS\",\"ST\",\"SV\",\"SX\",\"SY\",\"SZ\",\"TC\",\"TD\",\"TF\",\"TG\",\"TH\",\"TJ\",\"TK\",\"TL\",\"TM\",\"TN\",\"TO\",\"TR\",\"TT\",\"TV\",\"TW\",\"TZ\",\"UA\",\"UG\",\"UM\",\"US\",\"UY\",\"UZ\",\"VA\",\"VC\",\"VE\",\"VG\",\"VI\",\"VN\",\"VU\",\"WF\",\"WS\",\"YE\",\"YT\",\"ZA\",\"ZM\",\"ZW\""},"counterparty_address":{"type":["string","null"],"minLength":10,"maxLength":2000,"description":"Validation rules: ; nullable; string; min:10; max:2000"},"counterparty_reference":{"type":["string","null"],"maxLength":255,"description":"Validation rules: nullable; string; max:255"},"event_on":{"type":"string","format":"date","description":"Actual event date in YYYY-MM-DD format. Validation rules: required; date_format:Y-m-d; before_or_equal:today"},"reusable_at_event":{"type":"string","enum":["yes","no"],"description":"Validation rules: required; in:\"yes\",\"no\""},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: nullable; uuid"},"note":{"type":["string","null"],"maxLength":3000,"description":"Validation rules: required_if:direction,adjustment_in,adjustment_out; nullable; string; max:3000"}},"required":["catalog_revision","direction","usage_channel","counterparty_country","event_on","reusable_at_event"],"allOf":[{"oneOf":[{"required":["quantity","unit"],"not":{"required":["quantity_units"]}},{"required":["quantity_units"],"not":{"required":["quantity"]}}]}]}]},"FlowsCreateInput":{"type":"object","properties":{"item":{"type":"string","format":"uuid","description":"Packaging UUID from the catalogue; historical projections may instead contain a packaging snapshot here. Validation rules: required; uuid"},"event_date":{"type":"string","format":"date","description":"Reporting-flow date, YYYY-MM-DD. Validation rules: required; date_format:Y-m-d"},"country":{"type":"string","pattern":"^[A-Z]{2}$","description":"Validation rules: required; regex:\/^[A-Z]{2}$\/"},"quantity":{"type":"number","maximum":1000000000,"description":"Quantity covered by the operation, not its total mass. unit or resource configuration determines its unit. Use a decimal point. Validation rules: required; numeric; decimal:0,6; gt:0; max:1000000000"},"unit":{"type":"string","maxLength":16,"description":"Unit code accepted by this packaging item; retrieve the units map from \/inventory. Validation rules: sometimes; string; max:16"},"mass_g":{"type":"string","description":"Mass in grams. Per-unit for packaging\/components; reporting flows use their own mass semantics. Validation rules: required; string; numeric; decimal:0,6; min:0; max:999999999999"},"event_type":{"type":"string","enum":["placed","used"],"description":"Validation rules: required; in:placed,used"}},"required":["item","event_date","country","quantity","mass_g","event_type"]},"AssessmentsCreateInput":{"type":"object","properties":{"item":{"type":"string","format":"uuid","description":"Packaging UUID from the catalogue; historical projections may instead contain a packaging snapshot here. Validation rules: required; uuid"},"scenario":{"type":["string","null"],"format":"uuid","description":"UUID of an active market scenario for the packaging item, from \/markets. Validation rules: nullable; uuid"},"assessment_date":{"type":["string","null"],"format":"date","description":"Validation rules: required_without:scenario; nullable; date_format:Y-m-d"},"jurisdiction":{"type":"string","maxLength":20,"description":"Validation rules: required; string; max:20"},"economic_role":{"type":["string","null"],"enum":["unknown","distributor","importer","compliance_manufacturer","filler_packer","end_user","material_supplier","authorized_representative","fulfillment_provider","waste_operator",null],"description":"Validation rules: required_without:scenario; nullable; in:unknown,distributor,importer,compliance_manufacturer,filler_packer,end_user,material_supplier,authorized_representative,fulfillment_provider,waste_operator"},"rule_set":{"type":["string","null"],"format":"uuid","description":"Published rule-set UUID from \/dictionaries.rule_sets, not an article number. Validation rules: nullable; uuid"}},"required":["item","jurisdiction"]},"AssessmentsReviewInput":{"type":"object","properties":{"decision":{"type":"string","enum":["approved","rejected","needs_changes"],"description":"Validation rules: required; in:approved,rejected,needs_changes"},"revision":{"type":"integer","minimum":1,"description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. Validation rules: required; integer; min:1"},"reason":{"type":"string","maxLength":2000,"description":"Decision rationale recorded in review history. Validation rules: required; string; max:2000"}},"required":["decision","revision","reason"]},"DocumentsUploadInput":{"type":"object","properties":{"title":{"type":"string","maxLength":255,"description":"Validation rules: required; string; max:255"},"document_type":{"type":"string","enum":["eu_declaration_of_conformity","manufacturer_ppwr_statement","article_16_supplier_information","technical_data_sheet","covered_product_table","material_composition_statement","recycled_content_statement","recyclability_statement","heavy_metals_statement","pfas_statement","laboratory_report","reach","pop","fsc","pefc","food_contact_evidence","other"],"description":"Validation rules: required; in:\"eu_declaration_of_conformity\",\"manufacturer_ppwr_statement\",\"article_16_supplier_information\",\"technical_data_sheet\",\"covered_product_table\",\"material_composition_statement\",\"recycled_content_statement\",\"recyclability_statement\",\"heavy_metals_statement\",\"pfas_statement\",\"laboratory_report\",\"reach\",\"pop\",\"fsc\",\"pefc\",\"food_contact_evidence\",\"other\""},"item":{"type":["string","null"],"format":"uuid","description":"Packaging UUID from the catalogue; historical projections may instead contain a packaging snapshot here. Validation rules: nullable; uuid"},"file":{"type":"string","format":"binary","description":"Validation rules: required; file; max:51200; mimetypes:application\/pdf,image\/png,image\/jpeg"},"issued_on":{"type":["string","null"],"format":"date","description":"Validation rules: nullable; date_format:Y-m-d"},"expires_on":{"type":["string","null"],"format":"date","description":"Document expiry date, if known. Validation rules: nullable; date_format:Y-m-d; after_or_equal:issued_on"},"review_due_on":{"type":["string","null"],"format":"date","description":"Next document-review date, distinct from expiry. Validation rules: nullable; date_format:Y-m-d"}},"required":["title","document_type","file"]},"DocumentsVersionInput":{"type":"object","properties":{"title":{"type":"string","maxLength":255,"description":"Validation rules: required; string; max:255"},"document_type":{"type":"string","enum":["eu_declaration_of_conformity","manufacturer_ppwr_statement","article_16_supplier_information","technical_data_sheet","covered_product_table","material_composition_statement","recycled_content_statement","recyclability_statement","heavy_metals_statement","pfas_statement","laboratory_report","reach","pop","fsc","pefc","food_contact_evidence","other"],"description":"Validation rules: required; in:\"eu_declaration_of_conformity\",\"manufacturer_ppwr_statement\",\"article_16_supplier_information\",\"technical_data_sheet\",\"covered_product_table\",\"material_composition_statement\",\"recycled_content_statement\",\"recyclability_statement\",\"heavy_metals_statement\",\"pfas_statement\",\"laboratory_report\",\"reach\",\"pop\",\"fsc\",\"pefc\",\"food_contact_evidence\",\"other\""},"item":{"type":["string","null"],"format":"uuid","description":"Packaging UUID from the catalogue; historical projections may instead contain a packaging snapshot here. Validation rules: nullable; uuid"},"file":{"type":"string","format":"binary","description":"Validation rules: required; file; max:51200; mimetypes:application\/pdf,image\/png,image\/jpeg"},"issued_on":{"type":["string","null"],"format":"date","description":"Validation rules: nullable; date_format:Y-m-d"},"expires_on":{"type":["string","null"],"format":"date","description":"Document expiry date, if known. Validation rules: nullable; date_format:Y-m-d; after_or_equal:issued_on"},"review_due_on":{"type":["string","null"],"format":"date","description":"Next document-review date, distinct from expiry. Validation rules: nullable; date_format:Y-m-d"}},"required":["title","document_type","file"]},"DocumentsDecisionInput":{"type":"object","properties":{"decision":{"type":"string","enum":["approved","rejected","revoked"],"description":"Validation rules: required; in:approved,rejected,revoked"},"revision":{"type":"integer","minimum":1,"description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. Validation rules: required; integer; min:1"},"reason":{"type":"string","maxLength":2000,"description":"Decision rationale recorded in review history. Validation rules: required; string; max:2000"}},"required":["decision","revision","reason"]},"DocumentsProposeInput":{"type":"object","properties":{"fact_type":{"type":"string","maxLength":100,"description":"Validation rules: required; string; max:100"},"proposed_value":{"type":"string","maxLength":2000,"description":"Validation rules: required; string; max:2000"},"unit":{"type":["string","null"],"maxLength":20,"description":"Unit code accepted by this packaging item; retrieve the units map from \/inventory. Validation rules: nullable; string; max:20"},"semantics":{"type":"string","enum":["exact","minimum","maximum","range","average","confirmation","unknown"],"description":"Validation rules: required; in:exact,minimum,maximum,range,average,confirmation,unknown"},"source_page":{"type":"integer","minimum":1,"maximum":300,"description":"Validation rules: required; integer; min:1; max:300"},"source_text":{"type":"string","maxLength":1000,"description":"Validation rules: required; string; max:1000"},"method_reference":{"type":["string","null"],"maxLength":255,"description":"Validation rules: nullable; string; max:255"},"component":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"}},"required":["fact_type","proposed_value","semantics","source_page","source_text"]},"DocumentsAnalyzeInput":{"type":"object","properties":[]},"DocumentsGenerateInput":{"type":"object","properties":{"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"kind":{"type":"string","enum":["technical_sheet","technical_file","declaration"],"description":"Validation rules: required; in:\"technical_sheet\",\"technical_file\",\"declaration\""},"notes":{"type":["string","null"],"maxLength":5000,"description":"Validation rules: nullable; string; max:5000"},"declaration_number":{"type":["string","null"],"maxLength":255,"description":"Validation rules: nullable; string; max:255"},"issue_place":{"type":["string","null"],"maxLength":255,"description":"Validation rules: nullable; string; max:255"},"issue_on":{"type":["string","null"],"format":"date","description":"Validation rules: nullable; date_format:Y-m-d; before_or_equal:today"},"signatory_name":{"type":["string","null"],"maxLength":255,"description":"Validation rules: nullable; string; max:255"},"signatory_position":{"type":["string","null"],"maxLength":255,"description":"Validation rules: nullable; string; max:255"},"technical_specifications":{"type":["string","null"],"maxLength":3000,"description":"Validation rules: nullable; string; max:3000"},"other_union_acts":{"type":["string","null"],"maxLength":3000,"description":"Validation rules: nullable; string; max:3000"},"representative_name":{"type":["string","null"],"maxLength":255,"description":"Validation rules: nullable; string; max:255"},"representative_address":{"type":["string","null"],"maxLength":2000,"description":"Validation rules: nullable; string; max:2000"},"notified_body":{"type":["string","null"],"maxLength":3000,"description":"Validation rules: nullable; string; max:3000"},"additional_information":{"type":["string","null"],"maxLength":3000,"description":"Validation rules: nullable; string; max:3000"}},"required":["catalog_revision","kind"]},"ImportsApplyInput":{"type":"object","properties":[]},"SupplierRequestsCreateInput":{"type":"object","properties":{"supplier":{"type":"string","format":"uuid","description":"Validation rules: required; uuid"},"title":{"type":"string","maxLength":255,"description":"Validation rules: required; string; max:255"},"message":{"type":["string","null"],"maxLength":4000,"description":"Validation rules: nullable; string; max:4000"},"due_on":{"type":"string","format":"date","description":"Validation rules: required; date_format:Y-m-d; after_or_equal:today"},"issues":{"type":"array","items":{"type":"string","format":"uuid","description":"Validation rules: required; uuid"},"minItems":1,"maxItems":100,"description":"Validation rules: required; array; min:1; max:100"}},"required":["supplier","title","due_on","issues"]},"SupplierRequestsSendInput":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"Validation rules: required; email"},"revision":{"type":"integer","minimum":1,"description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. Validation rules: required; integer; min:1"}},"required":["email","revision"]},"SupplierRequestsCancelInput":{"type":"object","properties":{"revision":{"type":"integer","minimum":1,"description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. Validation rules: required; integer; min:1"}},"required":["revision"]},"SupplierRequestsReviewLineInput":{"type":"object","properties":{"decision":{"type":"string","enum":["accepted","clarify"],"description":"Validation rules: required; in:accepted,clarify"},"note":{"type":"string","maxLength":2000,"description":"Validation rules: required; string; max:2000"},"revision":{"type":"integer","minimum":1,"description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. Validation rules: required; integer; min:1"}},"required":["decision","note","revision"]},"PassportsCreateInput":{"type":"object","properties":{"item":{"type":"string","format":"uuid","description":"Packaging UUID from the catalogue; historical projections may instead contain a packaging snapshot here. Validation rules: required; uuid"}},"required":["item"]},"PassportsPublishInput":{"type":"object","properties":[]},"SharingGrant":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"purpose":{"type":"string"},"expires_at":{"type":["string","null"],"format":"date-time"},"revoked_at":{"type":["string","null"],"format":"date-time"},"allow_download":{"type":"boolean","description":"Whether the grant permits downloading shared files. "},"allow_adoption":{"type":"boolean","description":"Whether the grant allows the recipient to adopt shared data. "},"passport_release":{"type":["string","null"],"format":"uuid"},"recipient_organization":{"type":["string","null"],"format":"uuid"}}},"PassportsShareInput":{"type":"object","properties":{"recipient":{"type":"string","format":"uuid","description":"Recipient as defined by this operation: organisation UUID for passport sharing, recipient name for a BDO report. Validation rules: required; uuid"},"purpose":{"type":"string","maxLength":2000,"description":"Validation rules: required; string; max:2000"},"expires_at":{"type":["string","null"],"format":"date","description":"Validation rules: nullable; date_format:Y-m-d; after:today"},"allow_download":{"type":"boolean","description":"Whether the grant permits downloading shared files. Validation rules: sometimes; boolean"},"allow_adoption":{"type":"boolean","description":"Whether the grant allows the recipient to adopt shared data. Validation rules: sometimes; boolean"}},"required":["recipient","purpose"]},"PassportsRevokeInput":{"type":"object","properties":[]},"PassportSubscriptionsCreateInput":{"type":"object","properties":[]},"PassportSubscriptionsUnsubscribeInput":{"type":"object","properties":[]},"PassportUpdatesOpenInput":{"type":"object","properties":[]},"CarbonEmissionFactor":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"name":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"archived_at":{"type":["string","null"],"format":"date-time"},"value":{"type":"string"},"basis":{"type":"string","description":"Explanation of assessment basis\/evidence applicability, not merely an article number. "},"source":{"type":["object","array","null"],"additionalProperties":true,"items":{}}}},"CarbonFactorsCreateInput":{"type":"object","properties":{"reference":{"type":"string","enum":["official","custom"],"description":"Validation rules: required; in:official,custom"},"reference_key":{"type":["string","null"],"enum":["D40","G40","D67","G67","D75","G75","D76","G76","D77","G77","D78","G78","D79","G79","D85","G85","D87","G87",null],"description":"Validation rules: required_if:reference,official; nullable; in:\"D40\",\"G40\",\"D67\",\"G67\",\"D75\",\"G75\",\"D76\",\"G76\",\"D77\",\"G77\",\"D78\",\"G78\",\"D79\",\"G79\",\"D85\",\"G85\",\"D87\",\"G87\""},"name":{"type":["string","null"],"maxLength":255,"description":"Validation rules: required_if:reference,custom; nullable; string; max:255"},"value":{"type":["number","null"],"maximum":1000000,"description":"Validation rules: required_if:reference,custom; nullable; numeric; decimal:0,12; gt:0; max:1000000"},"basis":{"type":["string","null"],"minLength":5,"maxLength":120,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required_if:reference,custom; nullable; string; min:5; max:120"},"source_title":{"type":["string","null"],"minLength":5,"maxLength":255,"description":"Validation rules: required_if:reference,custom; nullable; string; min:5; max:255"},"source_url":{"type":["string","null"],"maxLength":2000,"description":"Validation rules: required_if:reference,custom; nullable; url:http,https; max:2000"},"source_year":{"type":["integer","null"],"minimum":1990,"maximum":2026,"description":"Validation rules: required_if:reference,custom; nullable; integer; min:1990; max:2026"},"geography":{"type":["string","null"],"maxLength":120,"description":"Validation rules: required_if:reference,custom; nullable; string; max:120"},"applicability":{"type":"string","minLength":10,"maxLength":2000,"description":"Validation rules: required; string; min:10; max:2000"},"confirmed":{"type":"string","description":"Validation rules: required; accepted"}},"required":["reference","applicability","confirmed"]},"CarbonFactorsArchiveInput":{"type":"object","properties":[]},"CarbonCalculation":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"name":{"type":"string"},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"subject_revision":{"type":"integer"},"method_version":{"type":"string"},"snapshot":{"type":"object","required":["method_version","boundary","subject","quantity","assumptions","bases","issues","lines","coverage_percent","per_unit_kg_co2e","total_kg_co2e","known_subtotal_kg_co2e","created_at"],"properties":{"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. "},"data_sha256":{"type":["string","null"]},"method_version":{"const":"material-procurement-1"},"boundary":{"const":"procurement_to_point_of_sale"},"excluded_stages":{"type":"array","items":{"type":"string"}},"subject":{"type":"object","properties":{"type":{"enum":["item","system"]},"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"name":{"type":"string"},"revision":{"type":"integer","description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. "},"unit":{"type":"string","description":"Unit code accepted by this packaging item; retrieve the units map from \/inventory. "},"mass_g":{"type":["string","null"],"description":"Mass in grams. Per-unit for packaging\/components; reporting flows use their own mass semantics. "}}},"configuration_hash":{"type":["string","null"],"description":"Hash from the latest set-configuration GET; must match current composition\/data. "},"quantity":{"type":"string","pattern":"^[0-9]+(?:\\.[0-9]+)?$","description":"Quantity covered by the operation, not its total mass. unit or resource configuration determines its unit. Use a decimal point. "},"assumptions":{"type":"string"},"bases":{"type":"array","items":{"type":"string"}},"issues":{"type":"array","items":{"enum":["factor_missing","unallocated_mass","mixed_basis","profile_missing_or_stale","empty_system"]}},"lines":{"type":"array","items":{"type":"object","required":["name","mass_g","kg_co2e"],"properties":{"name":{"type":["string","null"]},"mass_g":{"type":["string","null"],"description":"Mass in grams. Per-unit for packaging\/components; reporting flows use their own mass semantics. "},"kg_co2e":{"type":["string","null"]},"factor":{"type":["object","null"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"name":{"type":"string"},"value":{"type":"string","pattern":"^[0-9]+(?:\\.[0-9]+)?$"},"unit":{"const":"kgCO2e\/kg","description":"Unit code accepted by this packaging item; retrieve the units map from \/inventory. "},"basis":{"type":"string","description":"Explanation of assessment basis\/evidence applicability, not merely an article number. "},"source":{"type":"object","additionalProperties":true}}},"item":{"type":"string","format":"uuid","description":"Packaging UUID from the catalogue; historical projections may instead contain a packaging snapshot here. "},"item_revision":{"type":"integer","description":"Packaging revision captured by this record. "},"base_quantity":{"type":"string","pattern":"^[0-9]+(?:\\.[0-9]+)?$"},"unit":{"type":"string","description":"Unit code accepted by this packaging item; retrieve the units map from \/inventory. "},"profile":{"type":["string","null"],"format":"uuid"},"profile_sha256":{"type":["string","null"]},"materials":{"type":"array","items":{"type":"object","required":["name","mass_g","kg_co2e","factor"],"properties":{"name":{"type":["string","null"]},"mass_g":{"type":"string","pattern":"^[0-9]+(?:\\.[0-9]+)?$","description":"Mass in grams. Per-unit for packaging\/components; reporting flows use their own mass semantics. "},"kg_co2e":{"type":["string","null"]},"factor":{"type":["object","null"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"name":{"type":"string"},"value":{"type":"string","pattern":"^[0-9]+(?:\\.[0-9]+)?$"},"unit":{"const":"kgCO2e\/kg","description":"Unit code accepted by this packaging item; retrieve the units map from \/inventory. "},"basis":{"type":"string","description":"Explanation of assessment basis\/evidence applicability, not merely an article number. "},"source":{"type":"object","additionalProperties":true}}}}}}}}},"coverage_percent":{"type":["string","null"]},"per_unit_kg_co2e":{"type":["string","null"]},"total_kg_co2e":{"type":["string","null"]},"known_subtotal_kg_co2e":{"type":["string","null"]},"created_at":{"type":"string","format":"date-time"}}},"sha256":{"type":"string"},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. "},"catalog_item":{"type":["string","null"],"format":"uuid"},"packaging_system":{"type":["string","null"],"format":"uuid"}}},"CarbonCalculationsCreateInput":{"type":"object","properties":{"type":{"type":"string","enum":["item","system"],"description":"Validation rules: required; in:item,system"},"subject":{"type":"string","format":"uuid","description":"Validation rules: required; uuid"},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. Validation rules: nullable; uuid; prohibited_if:type,system"},"revision":{"type":"integer","minimum":1,"description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. Validation rules: required; integer; min:1"},"quantity":{"type":"number","maximum":1000000,"description":"Quantity covered by the operation, not its total mass. unit or resource configuration determines its unit. Use a decimal point. Validation rules: required; numeric; decimal:0,6; gt:0; max:1000000"},"assumptions":{"type":"string","minLength":10,"maxLength":2000,"description":"Validation rules: required; string; min:10; max:2000"},"confirmed":{"type":"string","description":"Validation rules: required; accepted"},"lines":{"type":"array","items":{"type":"object","description":"Validation rules: required; array:name,mass_g,factor","properties":{"name":{"type":"string","maxLength":255,"description":"Validation rules: required; string; max:255"},"mass_g":{"type":"number","maximum":1000000000,"description":"Mass in grams. Per-unit for packaging\/components; reporting flows use their own mass semantics. Validation rules: required; numeric; decimal:0,6; gt:0; max:1000000000"},"factor":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"}},"required":["name","mass_g"]},"minItems":1,"maxItems":50,"description":"Validation rules: required_if:type,item; exclude_if:type,system; array; list; min:1; max:50"}},"required":["type","subject","revision","quantity","assumptions","confirmed"]},"PackingRecommendInput":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","description":"Validation rules: required; array:reference,quantity,length_mm,width_mm,height_mm,weight_g,can_rotate","properties":{"reference":{"type":"string","maxLength":80,"description":"Validation rules: required; string; max:80"},"quantity":{"type":"integer","minimum":1,"maximum":100,"description":"Quantity covered by the operation, not its total mass. unit or resource configuration determines its unit. Use a decimal point. Validation rules: required; integer; min:1; max:100"},"length_mm":{"type":"number","maximum":10000,"description":"Validation rules: required; numeric; decimal:0,2; gt:0; max:10000"},"width_mm":{"type":"number","maximum":10000,"description":"Validation rules: required; numeric; decimal:0,2; gt:0; max:10000"},"height_mm":{"type":"number","maximum":10000,"description":"Validation rules: required; numeric; decimal:0,2; gt:0; max:10000"},"weight_g":{"type":"number","maximum":1000000,"description":"Validation rules: required; numeric; decimal:0,3; gt:0; max:1000000"},"can_rotate":{"type":"boolean","description":"Validation rules: required; boolean"}},"required":["reference","quantity","length_mm","width_mm","height_mm","weight_g","can_rotate"]},"minItems":1,"maxItems":50,"description":"Validation rules: required; array; list; min:1; max:50"},"margin_mm":{"type":"number","minimum":0,"maximum":100,"description":"Validation rules: required; numeric; decimal:0,2; min:0; max:100"},"allow_stacking":{"type":"boolean","description":"Validation rules: required; boolean"},"candidate_type":{"type":"string","enum":["both","item","set"],"description":"Validation rules: required; in:both,item,set"},"stock_policy":{"type":"string","enum":["available_only","include_untracked"],"description":"Validation rules: required; in:available_only,include_untracked"},"limit":{"type":"integer","minimum":1,"maximum":10,"description":"Validation rules: sometimes; integer; min:1; max:10"}},"required":["items","margin_mm","allow_stacking","candidate_type","stock_policy"]},"PackingConsumptionsCreateInput":{"type":"object","properties":{"order_reference":{"type":"string","maxLength":255,"description":"Organisation-unique store\/order\/parcel reference, e.g. STORE-1\/ORDER-100\/PARCEL-1. Keep unchanged on retries. Validation rules: required; string; max:255"},"event_on":{"type":"string","format":"date","description":"Actual event date in YYYY-MM-DD format. Validation rules: required; date_format:Y-m-d; before_or_equal:today"},"country":{"type":"string","enum":["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"],"description":"Validation rules: required; in:\"AD\",\"AE\",\"AF\",\"AG\",\"AI\",\"AL\",\"AM\",\"AO\",\"AQ\",\"AR\",\"AS\",\"AT\",\"AU\",\"AW\",\"AX\",\"AZ\",\"BA\",\"BB\",\"BD\",\"BE\",\"BF\",\"BG\",\"BH\",\"BI\",\"BJ\",\"BL\",\"BM\",\"BN\",\"BO\",\"BQ\",\"BR\",\"BS\",\"BT\",\"BV\",\"BW\",\"BY\",\"BZ\",\"CA\",\"CC\",\"CD\",\"CF\",\"CG\",\"CH\",\"CI\",\"CK\",\"CL\",\"CM\",\"CN\",\"CO\",\"CR\",\"CU\",\"CV\",\"CW\",\"CX\",\"CY\",\"CZ\",\"DE\",\"DJ\",\"DK\",\"DM\",\"DO\",\"DZ\",\"EC\",\"EE\",\"EG\",\"EH\",\"ER\",\"ES\",\"ET\",\"FI\",\"FJ\",\"FK\",\"FM\",\"FO\",\"FR\",\"GA\",\"GB\",\"GD\",\"GE\",\"GF\",\"GG\",\"GH\",\"GI\",\"GL\",\"GM\",\"GN\",\"GP\",\"GQ\",\"GR\",\"GS\",\"GT\",\"GU\",\"GW\",\"GY\",\"HK\",\"HM\",\"HN\",\"HR\",\"HT\",\"HU\",\"ID\",\"IE\",\"IL\",\"IM\",\"IN\",\"IO\",\"IQ\",\"IR\",\"IS\",\"IT\",\"JE\",\"JM\",\"JO\",\"JP\",\"KE\",\"KG\",\"KH\",\"KI\",\"KM\",\"KN\",\"KP\",\"KR\",\"KW\",\"KY\",\"KZ\",\"LA\",\"LB\",\"LC\",\"LI\",\"LK\",\"LR\",\"LS\",\"LT\",\"LU\",\"LV\",\"LY\",\"MA\",\"MC\",\"MD\",\"ME\",\"MF\",\"MG\",\"MH\",\"MK\",\"ML\",\"MM\",\"MN\",\"MO\",\"MP\",\"MQ\",\"MR\",\"MS\",\"MT\",\"MU\",\"MV\",\"MW\",\"MX\",\"MY\",\"MZ\",\"NA\",\"NC\",\"NE\",\"NF\",\"NG\",\"NI\",\"NL\",\"NO\",\"NP\",\"NR\",\"NU\",\"NZ\",\"OM\",\"PA\",\"PE\",\"PF\",\"PG\",\"PH\",\"PK\",\"PL\",\"PM\",\"PN\",\"PR\",\"PS\",\"PT\",\"PW\",\"PY\",\"QA\",\"RE\",\"RO\",\"RS\",\"RU\",\"RW\",\"SA\",\"SB\",\"SC\",\"SD\",\"SE\",\"SG\",\"SH\",\"SI\",\"SJ\",\"SK\",\"SL\",\"SM\",\"SN\",\"SO\",\"SR\",\"SS\",\"ST\",\"SV\",\"SX\",\"SY\",\"SZ\",\"TC\",\"TD\",\"TF\",\"TG\",\"TH\",\"TJ\",\"TK\",\"TL\",\"TM\",\"TN\",\"TO\",\"TR\",\"TT\",\"TV\",\"TW\",\"TZ\",\"UA\",\"UG\",\"UM\",\"US\",\"UY\",\"UZ\",\"VA\",\"VC\",\"VE\",\"VG\",\"VI\",\"VN\",\"VU\",\"WF\",\"WS\",\"YE\",\"YT\",\"ZA\",\"ZM\",\"ZW\""},"lines":{"type":"array","items":{"type":"object","description":"Validation rules: required; array:item,revision,quantity,unit,reusable,data_version,batch_code","properties":{"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. Validation rules: nullable; uuid"},"batch_code":{"type":["string","null"],"maxLength":100,"description":"Batch identifier restricting stock selection when supplied. Validation rules: nullable; string; max:100"},"item":{"type":"string","format":"uuid","description":"Packaging UUID from the catalogue; historical projections may instead contain a packaging snapshot here. Validation rules: required; uuid; distinct"},"revision":{"type":"integer","minimum":1,"description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. Validation rules: required; integer; min:1"},"quantity":{"type":"number","maximum":1000000000,"description":"Quantity covered by the operation, not its total mass. unit or resource configuration determines its unit. Use a decimal point. Validation rules: required; numeric; decimal:0,6; gt:0; max:1000000000"},"unit":{"type":"string","maxLength":16,"description":"Unit code accepted by this packaging item; retrieve the units map from \/inventory. Validation rules: required; string; max:16"},"reusable":{"type":"boolean","description":"Validation rules: required; boolean"}},"required":["item","revision","quantity","unit","reusable"]},"minItems":1,"maxItems":100,"description":"Validation rules: required; array; min:1; max:100"}},"required":["order_reference","event_on","country","lines"]},"BdoReportsCreateInput":{"type":"object","properties":{"year":{"type":"integer","minimum":2024,"maximum":2026,"description":"Validation rules: required; integer; min:2024; max:2026"},"registration_number":{"type":"string","pattern":"^\\d{9}$","description":"Validation rules: required; regex:\/^\\d{9}$\/"},"recipient":{"type":"string","minLength":5,"maxLength":255,"description":"Recipient as defined by this operation: organisation UUID for passport sharing, recipient name for a BDO report. Validation rules: required; string; min:5; max:255"},"settlement_mode":{"type":"string","enum":["not_calculated","statutory","recovery_organization","de_minimis"],"description":"Validation rules: required; in:not_calculated,statutory,recovery_organization,de_minimis"},"records_complete":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"standard_scope":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"settlement_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"previous_kg":{"type":"object","description":"Validation rules: nullable; array:plastic,aluminium,steel,paper,glass,wood,other","additionalProperties":{"type":["number","null"],"minimum":0,"maximum":999999999999,"description":"Validation rules: nullable; numeric; decimal:0,6; min:0; max:999999999999"}},"recycled_kg":{"type":"object","description":"Validation rules: nullable; array:plastic,aluminium,steel,paper,glass,wood,other","additionalProperties":{"type":["number","null"],"minimum":0,"maximum":999999999999,"description":"Validation rules: nullable; numeric; decimal:0,6; min:0; max:999999999999"}},"evidence_document":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"},"settlement_note":{"type":["string","null"],"minLength":10,"maxLength":4000,"description":"Validation rules: required_if:settlement_mode,statutory; nullable; string; min:10; max:4000"}},"required":["year","registration_number","recipient","settlement_mode"]},"BdoReportsClassifyInput":{"type":"object","properties":{"sources":{"type":"array","items":{"type":"string","pattern":"^(flow|supply):[0-9a-fA-F-]{36}$","description":"Validation rules: required; distinct; regex:\/^(flow|supply):[0-9a-fA-F-]{36}$\/"},"minItems":1,"maxItems":250,"description":"Validation rules: required; array; min:1; max:250"},"flow_kind":{"type":"string","enum":["produced","imported_empty","exported_empty","placed_products","exported_products","excluded"],"description":"Validation rules: required; in:\"produced\",\"imported_empty\",\"exported_empty\",\"placed_products\",\"exported_products\",\"excluded\""},"material":{"type":["string","null"],"enum":["plastic","aluminium","steel","paper","glass","wood","other","composite","hazardous",null],"description":"Validation rules: required_unless:flow_kind,excluded; nullable; in:\"plastic\",\"aluminium\",\"steel\",\"paper\",\"glass\",\"wood\",\"other\",\"composite\",\"hazardous\""},"reuse":{"type":["string","null"],"enum":["single_use","reusable",null],"description":"Validation rules: required_unless:flow_kind,excluded; nullable; in:single_use,reusable"},"special_scope":{"type":"string","enum":["none","deposit","sup","medicinal","other"],"description":"Validation rules: required; in:none,deposit,sup,medicinal,other"},"note":{"type":"string","minLength":5,"maxLength":2000,"description":"Validation rules: required; string; min:5; max:2000"}},"required":["sources","flow_kind","special_scope","note"]},"TraceabilityLinkInput":{"type":"object","properties":{"version":{"type":"string","format":"uuid","description":"Validation rules: required; uuid"},"link_type":{"type":"string","enum":["internal_to_supplier","supplier_to_manufacturer","internal_to_manufacturer","code_to_tds","item_to_family","family_to_declaration","code_to_declaration"],"description":"Validation rules: required; in:\"internal_to_supplier\",\"supplier_to_manufacturer\",\"internal_to_manufacturer\",\"code_to_tds\",\"item_to_family\",\"family_to_declaration\",\"code_to_declaration\""},"revision":{"type":"integer","minimum":1,"description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. Validation rules: required; integer; min:1"}},"required":["version","link_type","revision"]},"PpwrAuthorityRequest":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"actor_role":{"type":"string"},"authority_name":{"type":"string"},"authority_reference":{"type":"string"},"confirmed_due_on":{"type":["string","null"],"format":"date-time"},"item_revision":{"type":"integer","description":"Packaging revision captured by this record. "},"market_country":{"type":"string"},"received_on":{"type":"string","format":"date-time"},"requested_material":{"type":"string"},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. "},"request_document_version":{"type":["string","null"],"format":"uuid"},"catalog_item":{"type":["string","null"],"format":"uuid"}}},"PpwrAuthorityRequestsCreateInput":{"type":"object","properties":{"item":{"type":"string","format":"uuid","description":"Packaging UUID from the catalogue; historical projections may instead contain a packaging snapshot here. Validation rules: required; uuid"},"market_country":{"type":"string","pattern":"^[A-Z]{2}$","description":"Validation rules: required; regex:\/^[A-Z]{2}$\/"},"actor_role":{"type":"string","enum":["manufacturer","importer"],"description":"Validation rules: required; in:\"manufacturer\",\"importer\""},"authority_name":{"type":"string","maxLength":255,"description":"Validation rules: required; string; max:255"},"authority_reference":{"type":"string","maxLength":255,"description":"Validation rules: required; string; max:255"},"received_on":{"type":"string","format":"date","description":"Validation rules: required; date; before_or_equal:today"},"confirmed_due_on":{"type":["string","null"],"format":"date","description":"Validation rules: nullable; date; after_or_equal:received_on"},"requested_material":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"request_document_version":{"type":"string","format":"uuid","description":"Validation rules: required; uuid"}},"required":["item","market_country","actor_role","authority_name","authority_reference","received_on","requested_material","request_document_version"]},"PpwrFormalCase":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"affected_markets":{"type":["object","array","null"],"additionalProperties":true,"items":{}},"authority_due_on":{"type":["string","null"],"format":"date-time"},"authority_name":{"type":["string","null"]},"authority_reference":{"type":["string","null"]},"case_type":{"type":"string"},"closed_at":{"type":["string","null"],"format":"date-time"},"defect_code":{"type":["string","null"]},"finding":{"type":"string"},"item_revision":{"type":"integer","description":"Packaging revision captured by this record. "},"market_country":{"type":"string"},"noticed_on":{"type":"string","format":"date-time"},"origin":{"type":"string"},"risk_kind":{"type":["string","null"]},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. "},"finding_document_version":{"type":["string","null"],"format":"uuid"},"catalog_item":{"type":["string","null"],"format":"uuid"}}},"PpwrFormalCasesCreateInput":{"type":"object","properties":{"item":{"type":"string","format":"uuid","description":"Packaging UUID from the catalogue; historical projections may instead contain a packaging snapshot here. Validation rules: required; uuid"},"market_country":{"type":"string","pattern":"^[A-Z]{2}$","description":"Validation rules: required; regex:\/^[A-Z]{2}$\/"},"case_type":{"type":"string","enum":["formal","nonconforming_risk","compliant_risk"],"description":"Validation rules: required; in:\"formal\",\"nonconforming_risk\",\"compliant_risk\""},"defect_code":{"type":["string","null"],"enum":["a","b","c","d","e","f","g","h","i","j","k","l","m","n",null],"description":"Validation rules: ; nullable; in:\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"h\",\"i\",\"j\",\"k\",\"l\",\"m\",\"n\""},"risk_kind":{"type":["string","null"],"enum":["environment","human_health",null],"description":"Validation rules: required; nullable; in:\"environment\",\"human_health\""},"affected_markets":{"type":"array","items":{"type":"string","enum":["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE"],"description":"Validation rules: in:\"AT\",\"BE\",\"BG\",\"HR\",\"CY\",\"CZ\",\"DK\",\"EE\",\"FI\",\"FR\",\"DE\",\"GR\",\"HU\",\"IE\",\"IT\",\"LV\",\"LT\",\"LU\",\"MT\",\"NL\",\"PL\",\"PT\",\"RO\",\"SK\",\"SI\",\"ES\",\"SE\""},"minItems":1,"maxItems":27,"description":"Validation rules: required; nullable; array; min:1; max:27"},"origin":{"type":"string","enum":["internal","authority"],"description":"Validation rules: required; in:\"internal\",\"authority\""},"authority_name":{"type":["string","null"],"maxLength":255,"description":"Validation rules: required_if:origin,authority; nullable; string; max:255"},"authority_reference":{"type":["string","null"],"maxLength":255,"description":"Validation rules: required_if:origin,authority; nullable; string; max:255"},"noticed_on":{"type":"string","format":"date","description":"Validation rules: required; date; before_or_equal:today"},"authority_due_on":{"type":["string","null"],"format":"date","description":"Validation rules: nullable; date; after_or_equal:noticed_on"},"finding":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"finding_document_version":{"type":"string","format":"uuid","description":"Validation rules: required; uuid"}},"required":["item","market_country","case_type","risk_kind","affected_markets","origin","noticed_on","finding","finding_document_version"]},"PpwrEuDeclaration":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"declaration_number":{"type":"string"},"language_code":{"type":"string"},"manufacturer_name":{"type":"string"},"manufacturer_address":{"type":"string"},"representative_name":{"type":["string","null"]},"representative_address":{"type":["string","null"]},"packaging_description":{"type":"string"},"other_union_acts":{"type":["string","null"]},"technical_specifications":{"type":["string","null"]},"notified_body":{"type":["string","null"]},"additional_information":{"type":["string","null"]},"issue_place":{"type":"string"},"issue_on":{"type":"string","format":"date-time"},"signatory_name":{"type":"string"},"signatory_position":{"type":"string"},"catalog_revision":{"type":"integer","description":"Packaging revision from catalogue GET, used to check freshness. "},"content_verified":{"type":["boolean","null"]},"language_verified":{"type":["boolean","null"]},"ppwr_reference_confirmed":{"type":"boolean"},"record_version":{"type":"integer"},"review_note":{"type":["string","null"]},"signature_verification_method":{"type":["string","null"]},"signature_verified":{"type":["boolean","null"]},"sole_responsibility_confirmed":{"type":"boolean"},"verification_note":{"type":["string","null"]},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. "},"ppwr_conformity_dossier":{"type":["string","null"],"format":"uuid"},"signed_document_version":{"type":["string","null"],"format":"uuid"},"catalog_item":{"type":["string","null"],"format":"uuid"}}},"PpwrEuDeclarationsCreateInput":{"type":"object","properties":{"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"dossier":{"type":"string","format":"uuid","description":"UUID of a conformity dossier for this packaging item. Validation rules: required; uuid"},"declaration_number":{"type":"string","maxLength":255,"description":"Validation rules: required; string; max:255"},"language_code":{"type":"string","minLength":2,"maxLength":8,"pattern":"^[A-Za-z-]+$","description":"Validation rules: required; string; min:2; max:8; regex:\/^[A-Za-z-]+$\/"},"manufacturer_name":{"type":"string","minLength":2,"maxLength":255,"description":"Validation rules: required; string; min:2; max:255"},"manufacturer_address":{"type":"string","minLength":10,"maxLength":2000,"description":"Validation rules: required; string; min:10; max:2000"},"representative_name":{"type":["string","null"],"maxLength":255,"description":"Validation rules: nullable; string; max:255"},"representative_address":{"type":["string","null"],"maxLength":2000,"description":"Validation rules: nullable; string; max:2000; required_with:representative_name"},"packaging_description":{"type":"string","minLength":10,"maxLength":5000,"description":"Validation rules: required; string; min:10; max:5000"},"other_union_acts":{"type":["string","null"],"maxLength":3000,"description":"Validation rules: nullable; string; max:3000"},"technical_specifications":{"type":["string","null"],"maxLength":3000,"description":"Validation rules: nullable; string; max:3000"},"notified_body":{"type":["string","null"],"maxLength":3000,"description":"Validation rules: nullable; string; max:3000"},"additional_information":{"type":["string","null"],"maxLength":3000,"description":"Validation rules: nullable; string; max:3000"},"issue_place":{"type":"string","maxLength":255,"description":"Validation rules: required; string; max:255"},"issue_on":{"type":"string","format":"date","description":"Validation rules: required; date_format:Y-m-d; before_or_equal:today"},"signatory_name":{"type":"string","maxLength":255,"description":"Validation rules: required; string; max:255"},"signatory_position":{"type":"string","maxLength":255,"description":"Validation rules: required; string; max:255"},"sole_responsibility_confirmed":{"type":"string","enum":["yes"],"description":"Validation rules: required; in:yes"},"ppwr_reference_confirmed":{"type":"string","enum":["yes"],"description":"Validation rules: required; in:yes"},"signed_document_version":{"type":"string","format":"uuid","description":"Validation rules: required; uuid"}},"required":["catalog_revision","dossier","declaration_number","language_code","manufacturer_name","manufacturer_address","packaging_description","issue_place","issue_on","signatory_name","signatory_position","sole_responsibility_confirmed","ppwr_reference_confirmed","signed_document_version"]},"PpwrEuDeclarationsReviewInput":{"type":"object","properties":{"decision":{"type":"string","enum":["recorded","rejected"],"description":"Validation rules: required; in:\"recorded\",\"rejected\""},"reason":{"type":"string","maxLength":2000,"description":"Decision rationale recorded in review history. Validation rules: required; string; max:2000"},"signature_verification_method":{"type":["string","null"],"enum":["cryptographic_external","handwritten_original","handwritten_scan","other_manual",null],"description":"Validation rules: nullable; in:\"cryptographic_external\",\"handwritten_original\",\"handwritten_scan\",\"other_manual\""},"verification_note":{"type":["string","null"],"maxLength":3000,"description":"Validation rules: nullable; string; max:3000"},"signature_verified":{"type":"boolean","description":"Validation rules: required_if:decision,recorded; boolean"},"content_verified":{"type":"boolean","description":"Validation rules: required_if:decision,recorded; boolean"},"language_verified":{"type":"boolean","description":"Validation rules: required_if:decision,recorded; boolean"}},"required":["decision","reason"]},"PpwrRoleAssessment":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"assessment_note":{"type":"string"},"assessment_on":{"type":"string","format":"date-time"},"catalog_revision":{"type":"integer","description":"Packaging revision from catalogue GET, used to check freshness. "},"criteria":{"type":["object","array","null"],"additionalProperties":true,"items":{}},"economic_role":{"type":"string"},"market_country":{"type":"string"},"record_version":{"type":"integer"},"review_note":{"type":["string","null"]},"role_facts":{"type":["object","array","null"],"additionalProperties":true,"items":{}},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. "},"catalog_item":{"type":["string","null"],"format":"uuid"},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. "},"market_scenario":{"type":["string","null"],"format":"uuid"}}},"PpwrRoleDutiesCreateInput":{"type":"object","properties":{"scenario":{"type":"string","format":"uuid","description":"UUID of an active market scenario for the packaging item, from \/markets. Validation rules: required; uuid"},"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"role_facts":{"type":"object","items":{},"description":"Validation rules: nullable; array","additionalProperties":{"type":"string","enum":["yes","no","unknown"],"description":"Validation rules: in:yes,no,unknown"}},"criteria":{"type":"object","items":{},"description":"Validation rules: required; array","additionalProperties":{"type":"object","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]}},"assessment_note":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"}},"required":["scenario","catalog_revision","criteria","assessment_note","document_version"]},"PpwrRoleDutiesReviewInput":{"type":"object","properties":{"decision":{"type":"string","enum":["approved","rejected"],"description":"Validation rules: required; in:approved,rejected"},"reason":{"type":"string","minLength":1,"maxLength":2000,"description":"Decision rationale recorded in review history. Validation rules: required; string; min:1; max:2000"},"exception_legal_review":{"type":"object","description":"Validation rules: sometimes; array:scope_confirmed,conditions_confirmed,rationale","properties":{"scope_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"conditions_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"rationale":{"type":"string","minLength":80,"maxLength":5000,"description":"Validation rules: sometimes; string; min:80; max:5000"}}}},"required":["decision","reason"]},"PpwrArticle5Assessment":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"exception_component_public_id":{"type":["string","null"]},"assessed_on":{"type":"string","format":"date-time"},"catalog_revision":{"type":"integer","description":"Packaging revision from catalogue GET, used to check freshness. "},"chemical_restrictions":{"type":["object","array","null"],"additionalProperties":true,"items":{}},"exception_conditions":{"type":["object","array","null"],"additionalProperties":true,"items":{}},"exception_metrics":{"type":["object","array","null"],"additionalProperties":true,"items":{}},"exception_source_url":{"type":["string","null"]},"heavy_metals_exception":{"type":"string"},"justification":{"type":"string"},"method_reviews":{"type":["object","array","null"],"additionalProperties":true,"items":{}},"record_version":{"type":"integer"},"review_note":{"type":["string","null"]},"substances_minimization_note":{"type":"string"},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. "},"technical_document_version":{"type":["string","null"],"format":"uuid"},"exception_document_version":{"type":["string","null"],"format":"uuid"},"catalog_item":{"type":["string","null"],"format":"uuid"}}},"PpwrChemicalSafetyCreateInput":{"type":"object","properties":{"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"assessed_on":{"type":"string","format":"date","description":"Validation rules: required; date_format:Y-m-d"},"technical_document_version":{"type":"string","format":"uuid","description":"Validation rules: required; uuid"},"method_reviews":{"type":"object","items":{},"minItems":1,"description":"Validation rules: required; array; min:1","additionalProperties":{"type":"object","properties":{"method_reference":{"type":"string","maxLength":255,"description":"Validation rules: required; string; max:255"},"laboratory":{"type":"string","maxLength":255,"description":"Validation rules: required; string; max:255"},"matrix":{"type":"string","maxLength":255,"description":"Validation rules: required; string; max:255"},"sampled_on":{"type":"string","format":"date","description":"Validation rules: required; date_format:Y-m-d"},"sample_basis":{"type":"string","enum":["component"],"description":"Validation rules: required; in:\"component\""},"representative":{"type":"string","enum":["yes","no"],"description":"Validation rules: required; in:\"yes\",\"no\""},"loq":{"type":"string","pattern":"^\\d{1,9}(?:\\.\\d{1,6})?$","description":"Validation rules: required; regex:\/^\\d{1,9}(?:\\.\\d{1,6})?$\/"},"uncertainty":{"type":"string","pattern":"^\\d{1,9}(?:\\.\\d{1,6})?$","description":"Validation rules: required; regex:\/^\\d{1,9}(?:\\.\\d{1,6})?$\/"},"analytes":{"type":"string","maxLength":1000,"description":"Validation rules: required; string; max:1000"},"analyte_values":{"type":"string","maxLength":4000,"description":"Validation rules: required; string; max:4000"},"nonpolymeric_only":{"type":["string","null"],"enum":["yes","no",null],"description":"Validation rules: nullable; in:\"yes\",\"no\""},"precursors":{"type":["string","null"],"enum":["degraded","not_applicable_with_reason",null],"description":"Validation rules: nullable; in:\"degraded\",\"not_applicable_with_reason\""},"precursor_reason":{"type":["string","null"],"maxLength":1000,"description":"Validation rules: nullable; string; max:1000"},"polymeric_covered":{"type":["string","null"],"enum":["yes","no",null],"description":"Validation rules: nullable; in:\"yes\",\"no\""},"total_fluorine_mg_kg":{"type":["string","null"],"pattern":"^\\d{1,9}(?:\\.\\d{1,6})?$","description":"Validation rules: nullable; regex:\/^\\d{1,9}(?:\\.\\d{1,6})?$\/"},"fluorine_allocation_documented":{"type":["string","null"],"enum":["yes","no",null],"description":"Validation rules: nullable; in:\"yes\",\"no\""},"fluorine_pfas_mg_kg":{"type":["string","null"],"pattern":"^\\d{1,9}(?:\\.\\d{1,6})?$","description":"Validation rules: nullable; regex:\/^\\d{1,9}(?:\\.\\d{1,6})?$\/"},"fluorine_non_pfas_mg_kg":{"type":["string","null"],"pattern":"^\\d{1,9}(?:\\.\\d{1,6})?$","description":"Validation rules: nullable; regex:\/^\\d{1,9}(?:\\.\\d{1,6})?$\/"}},"required":["method_reference","laboratory","matrix","sampled_on","sample_basis","representative","loq","uncertainty","analytes","analyte_values"]}},"heavy_metals_exception":{"type":"string","enum":["none","recycled_glass","closed_loop_crate_pallet"],"description":"Validation rules: required; in:\"none\",\"recycled_glass\",\"closed_loop_crate_pallet\""},"exception_component_public_id":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"},"exception_conditions":{"type":"array","items":{"type":["string","null"],"enum":["yes","no","unknown",null],"description":"Validation rules: nullable; in:\"yes\",\"no\",\"unknown\""},"description":"Validation rules: nullable; array"},"exception_metrics":{"type":"object","description":"Validation rules: nullable; array","properties":{"furnace_id":{"type":["string","null"],"maxLength":255,"description":"Validation rules: nullable; string; max:255"},"monthly_controls":{"type":["string","null"],"maxLength":1000,"description":"Validation rules: nullable; string; max:1000"},"authority_report_document_version":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"},"dispatched":{"type":["integer","null"],"minimum":1,"description":"Validation rules: nullable; integer; min:1"},"returned":{"type":["integer","null"],"minimum":0,"description":"Validation rules: nullable; integer; min:0"},"other_material_percent":{"type":["string","null"],"pattern":"^\\d{1,3}(?:\\.\\d{1,6})?$","description":"Validation rules: nullable; regex:\/^\\d{1,3}(?:\\.\\d{1,6})?$\/"}}},"exception_source_url":{"type":["string","null"],"maxLength":2048,"description":"Validation rules: nullable; url; max:2048"},"exception_document_version":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"},"chemical_restrictions":{"type":"array","items":{"type":"object","properties":{"status":{"type":"string","enum":["clear","not_applicable","prohibited"],"description":"Validation rules: required; in:\"clear\",\"not_applicable\",\"prohibited\""},"reason":{"type":"string","maxLength":2000,"description":"Decision rationale recorded in review history. Validation rules: required; string; max:2000"},"provision":{"type":"string","maxLength":255,"description":"Validation rules: required; string; max:255"},"source_url":{"type":"string","maxLength":2048,"description":"Validation rules: required; url; max:2048"},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"}},"required":["status","reason","provision","source_url","document_version"]},"description":"Validation rules: required; array; size:4"},"substances_minimization_note":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"justification":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"}},"required":["catalog_revision","assessed_on","technical_document_version","method_reviews","heavy_metals_exception","chemical_restrictions","substances_minimization_note","justification"]},"PpwrChemicalSafetyReviewInput":{"type":"object","properties":{"decision":{"type":"string","enum":["approved","rejected"],"description":"Validation rules: required; in:approved,rejected"},"reason":{"type":"string","minLength":1,"maxLength":2000,"description":"Decision rationale recorded in review history. Validation rules: required; string; min:1; max:2000"},"exception_legal_review":{"type":"object","description":"Validation rules: sometimes; array:scope_confirmed,conditions_confirmed,rationale","properties":{"scope_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"conditions_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"rationale":{"type":"string","minLength":80,"maxLength":5000,"description":"Validation rules: sometimes; string; min:80; max:5000"}}}},"required":["decision","reason"]},"PpwrArticle6Assessment":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"exception_legal_review":{"type":["object","array","null"],"additionalProperties":true,"items":{}},"assessed_on":{"type":"string","format":"date-time"},"authority_decision":{"type":["string","null"]},"authority_notified_on":{"type":["string","null"],"format":"date-time"},"catalog_revision":{"type":"integer","description":"Packaging revision from catalogue GET, used to check freshness. "},"component_reviews":{"type":["object","array","null"],"additionalProperties":true,"items":{}},"exception_code":{"type":"string"},"first_placed_on":{"type":["string","null"],"format":"date-time"},"innovation_roadmap":{"type":["string","null"]},"justification":{"type":"string"},"ras_evidence":{"type":["object","array","null"],"additionalProperties":true,"items":{}},"record_version":{"type":"integer"},"review_note":{"type":["string","null"]},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. "},"authority_document_version":{"type":["string","null"],"format":"uuid"},"ras_document_version":{"type":["string","null"],"format":"uuid"},"technical_document_version":{"type":["string","null"],"format":"uuid"},"exception_document_version":{"type":["string","null"],"format":"uuid"},"catalog_item":{"type":["string","null"],"format":"uuid"}}},"PpwrRecyclabilityCreateInput":{"type":"object","properties":{"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"assessed_on":{"type":"string","format":"date","description":"Validation rules: required; date_format:Y-m-d"},"component_reviews":{"type":"object","items":{},"description":"Validation rules: nullable; array","additionalProperties":{"type":"object","properties":{"treatment":{"type":"string","enum":["integrated_stays","integrated_detaches","separate"],"description":"Validation rules: required; in:\"integrated_stays\",\"integrated_detaches\",\"separate\""},"collection":{"type":"string","enum":["yes","no","unknown"],"description":"Validation rules: required; in:\"yes\",\"no\",\"unknown\""},"sorting":{"type":"string","enum":["yes","no","unknown"],"description":"Validation rules: required; in:\"yes\",\"no\",\"unknown\""},"recycling":{"type":"string","enum":["yes","no","unknown"],"description":"Validation rules: required; in:\"yes\",\"no\",\"unknown\""},"impairs_main":{"type":"string","enum":["yes","no","unknown"],"description":"Validation rules: required; in:\"yes\",\"no\",\"unknown\""}},"required":["treatment","collection","sorting","recycling","impairs_main"]}},"exception_code":{"type":"string","enum":["none","pharmaceutical_immediate","medical_device_contact","ivd_contact","pharmaceutical_outer","infant_or_medical_food_contact","dangerous_goods","sales_special_material","innovative"],"description":"Validation rules: required; in:\"none\",\"pharmaceutical_immediate\",\"medical_device_contact\",\"ivd_contact\",\"pharmaceutical_outer\",\"infant_or_medical_food_contact\",\"dangerous_goods\",\"sales_special_material\",\"innovative\""},"first_placed_on":{"type":["string","null"],"format":"date","description":"Validation rules: nullable; date_format:Y-m-d"},"authority_notified_on":{"type":["string","null"],"format":"date","description":"Validation rules: nullable; date_format:Y-m-d"},"authority_decision":{"type":["string","null"],"enum":["pending","accepted","rejected",null],"description":"Validation rules: nullable; in:\"pending\",\"accepted\",\"rejected\""},"innovation_roadmap":{"type":["string","null"],"maxLength":5000,"description":"Validation rules: nullable; string; max:5000"},"ras_evidence":{"type":"object","description":"Validation rules: nullable; array","properties":{"category_code":{"type":["string","null"],"enum":["pet_rigid","pe_pp_rigid","flexible_plastic","ps_xps_eps","other_rigid_plastic","biodegradable_plastic","paper_except_liquid","liquid_board","aluminium","steel","glass","wood_cork","other",null],"description":"Validation rules: nullable; in:\"pet_rigid\",\"pe_pp_rigid\",\"flexible_plastic\",\"ps_xps_eps\",\"other_rigid_plastic\",\"biodegradable_plastic\",\"paper_except_liquid\",\"liquid_board\",\"aluminium\",\"steel\",\"glass\",\"wood_cork\",\"other\""},"year":{"type":["integer","null"],"description":"Validation rules: nullable; integer; between:2025,2100"},"member_state":{"type":["string","null"],"enum":["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE",null],"description":"Validation rules: nullable; in:\"AT\",\"BE\",\"BG\",\"HR\",\"CY\",\"CZ\",\"DK\",\"EE\",\"FI\",\"FR\",\"DE\",\"GR\",\"HU\",\"IE\",\"IT\",\"LV\",\"LT\",\"LU\",\"MT\",\"NL\",\"PL\",\"PT\",\"RO\",\"SK\",\"SI\",\"ES\",\"SE\""},"eu_placed_kg":{"type":["string","null"],"pattern":"^\\d{1,18}(?:\\.\\d{1,6})?$","description":"Validation rules: nullable; regex:\/^\\d{1,18}(?:\\.\\d{1,6})?$\/D"},"eu_recycled_kg":{"type":["string","null"],"pattern":"^\\d{1,18}(?:\\.\\d{1,6})?$","description":"Validation rules: nullable; regex:\/^\\d{1,18}(?:\\.\\d{1,6})?$\/D"},"national_placed_kg":{"type":["string","null"],"pattern":"^\\d{1,18}(?:\\.\\d{1,6})?$","description":"Validation rules: nullable; regex:\/^\\d{1,18}(?:\\.\\d{1,6})?$\/D"},"national_recycled_kg":{"type":["string","null"],"pattern":"^\\d{1,18}(?:\\.\\d{1,6})?$","description":"Validation rules: nullable; regex:\/^\\d{1,18}(?:\\.\\d{1,6})?$\/D"},"to_sorting_kg":{"type":["string","null"],"pattern":"^\\d{1,18}(?:\\.\\d{1,6})?$","description":"Validation rules: nullable; regex:\/^\\d{1,18}(?:\\.\\d{1,6})?$\/D"},"to_recycling_kg":{"type":["string","null"],"pattern":"^\\d{1,18}(?:\\.\\d{1,6})?$","description":"Validation rules: nullable; regex:\/^\\d{1,18}(?:\\.\\d{1,6})?$\/D"},"downstream_verified":{"type":["string","null"],"enum":["yes","no","unknown",null],"description":"Validation rules: nullable; in:\"yes\",\"no\",\"unknown\""},"source_url":{"type":["string","null"],"maxLength":2048,"description":"Validation rules: nullable; url; max:2048"}}},"technical_document_version":{"type":"string","format":"uuid","description":"Validation rules: required; uuid"},"exception_document_version":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"},"authority_document_version":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"},"ras_document_version":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"},"justification":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"}},"required":["catalog_revision","assessed_on","exception_code","technical_document_version","justification"]},"PpwrRecyclabilityReviewInput":{"type":"object","properties":{"decision":{"type":"string","enum":["approved","rejected"],"description":"Validation rules: required; in:approved,rejected"},"reason":{"type":"string","minLength":1,"maxLength":2000,"description":"Decision rationale recorded in review history. Validation rules: required; string; min:1; max:2000"},"exception_legal_review":{"type":"object","description":"Validation rules: sometimes; array:scope_confirmed,conditions_confirmed,rationale","properties":{"scope_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"conditions_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"rationale":{"type":"string","minLength":80,"maxLength":5000,"description":"Validation rules: sometimes; string; min:80; max:5000"}}}},"required":["decision","reason"]},"PpwrRestrictedFormatAssessment":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"assessed_on":{"type":"string","format":"date-time"},"bag_wall_microns":{"type":["string","null"]},"catalog_revision":{"type":"integer","description":"Packaging revision from catalogue GET, used to check freshness. "},"conditions":{"type":["object","array","null"],"additionalProperties":true,"items":{}},"format_code":{"type":"string"},"justification":{"type":"string"},"market_code":{"type":"string"},"national_rule":{"type":"string"},"national_rule_note":{"type":["string","null"]},"national_rule_url":{"type":["string","null"]},"plastic_percent":{"type":["string","null"]},"product_mass_kg":{"type":["string","null"]},"record_version":{"type":"integer"},"review_note":{"type":["string","null"]},"single_use":{"type":"string"},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. "},"catalog_item":{"type":["string","null"],"format":"uuid"},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. "}}},"PpwrRestrictedFormatsCreateInput":{"type":"object","properties":{"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"market_code":{"type":"string","enum":["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE"],"description":"Validation rules: required; in:\"AT\",\"BE\",\"BG\",\"HR\",\"CY\",\"CZ\",\"DK\",\"EE\",\"FI\",\"FR\",\"DE\",\"GR\",\"HU\",\"IE\",\"IT\",\"LV\",\"LT\",\"LU\",\"MT\",\"NL\",\"PL\",\"PT\",\"RO\",\"SK\",\"SI\",\"ES\",\"SE\""},"assessed_on":{"type":"string","format":"date","description":"Validation rules: required; date"},"single_use":{"type":"string","enum":["yes","no","unknown"],"description":"Validation rules: required; in:\"yes\",\"no\",\"unknown\""},"plastic_percent":{"type":["string","null"],"pattern":"^(?:100(?:\\.0{1,6})?|\\d{1,2}(?:\\.\\d{1,6})?)$","description":"Validation rules: nullable; string; regex:\/^(?:100(?:\\.0{1,6})?|\\d{1,2}(?:\\.\\d{1,6})?)$\/"},"product_mass_kg":{"type":["string","null"],"pattern":"^\\d{1,6}(?:\\.\\d{1,6})?$","description":"Validation rules: nullable; string; regex:\/^\\d{1,6}(?:\\.\\d{1,6})?$\/"},"bag_wall_microns":{"type":["string","null"],"pattern":"^\\d{1,3}(?:\\.\\d{1,6})?$","description":"Validation rules: nullable; string; regex:\/^\\d{1,3}(?:\\.\\d{1,6})?$\/"},"conditions":{"type":"array","items":{"type":"string","enum":["yes","no","unknown"],"description":"Validation rules: required; in:\"yes\",\"no\",\"unknown\""},"description":"Validation rules: required; array"},"national_rule":{"type":"string","enum":["unknown","none","exemption","restriction"],"description":"Validation rules: required; in:\"unknown\",\"none\",\"exemption\",\"restriction\""},"national_rule_url":{"type":["string","null"],"maxLength":2048,"description":"Validation rules: nullable; url:http,https; max:2048"},"national_rule_note":{"type":["string","null"],"maxLength":3000,"description":"Validation rules: nullable; string; max:3000"},"justification":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"}},"required":["catalog_revision","market_code","assessed_on","single_use","conditions","national_rule","justification","document_version"]},"PpwrRestrictedFormatsReviewInput":{"type":"object","properties":{"decision":{"type":"string","enum":["approved","rejected"],"description":"Validation rules: required; in:approved,rejected"},"reason":{"type":"string","minLength":1,"maxLength":2000,"description":"Decision rationale recorded in review history. Validation rules: required; string; min:1; max:2000"},"exception_legal_review":{"type":"object","description":"Validation rules: sometimes; array:scope_confirmed,conditions_confirmed,rationale","properties":{"scope_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"conditions_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"rationale":{"type":"string","minLength":80,"maxLength":5000,"description":"Validation rules: sometimes; string; min:80; max:5000"}}}},"required":["decision","reason"]},"PpwrEmptySpaceAssessment":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"catalog_revision":{"type":"integer","description":"Packaging revision from catalogue GET, used to check freshness. "},"contained_sales_volume_ml":{"type":"string"},"exception_code":{"type":"string"},"filled_on":{"type":"string","format":"date-time"},"filler_volume_ml":{"type":"string"},"measurement_method":{"type":"string"},"necessary_space_note":{"type":"string"},"packaging_scope":{"type":"string"},"record_version":{"type":"integer"},"review_note":{"type":["string","null"]},"total_volume_ml":{"type":"string"},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. "},"catalog_item":{"type":["string","null"],"format":"uuid"},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. "}}},"PpwrEmptySpaceCreateInput":{"type":"object","properties":{"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"packaging_scope":{"type":"string","enum":["sales","grouped","transport","ecommerce"],"description":"Validation rules: required; in:\"sales\",\"grouped\",\"transport\",\"ecommerce\""},"filled_on":{"type":"string","format":"date","description":"Validation rules: required; date"},"total_volume_ml":{"type":"string","pattern":"^\\d{1,18}(?:\\.\\d{1,6})?$","description":"Validation rules: required; string; regex:\/^\\d{1,18}(?:\\.\\d{1,6})?$\/"},"contained_sales_volume_ml":{"type":"string","pattern":"^\\d{1,18}(?:\\.\\d{1,6})?$","description":"Validation rules: required; string; regex:\/^\\d{1,18}(?:\\.\\d{1,6})?$\/"},"filler_volume_ml":{"type":"string","pattern":"^\\d{1,18}(?:\\.\\d{1,6})?$","description":"Validation rules: required; string; regex:\/^\\d{1,18}(?:\\.\\d{1,6})?$\/"},"exception_code":{"type":"string","enum":["none","sales_as_ecommerce","reusable_reuse_system"],"description":"Validation rules: required; in:\"none\",\"sales_as_ecommerce\",\"reusable_reuse_system\""},"measurement_method":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"necessary_space_note":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"}},"required":["catalog_revision","packaging_scope","filled_on","total_volume_ml","contained_sales_volume_ml","filler_volume_ml","exception_code","measurement_method","necessary_space_note","document_version"]},"PpwrEmptySpaceReviewInput":{"type":"object","properties":{"decision":{"type":"string","enum":["approved","rejected"],"description":"Validation rules: required; in:approved,rejected"},"reason":{"type":"string","minLength":1,"maxLength":2000,"description":"Decision rationale recorded in review history. Validation rules: required; string; min:1; max:2000"},"exception_legal_review":{"type":"object","description":"Validation rules: sometimes; array:scope_confirmed,conditions_confirmed,rationale","properties":{"scope_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"conditions_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"rationale":{"type":"string","minLength":80,"maxLength":5000,"description":"Validation rules: sometimes; string; min:80; max:5000"}}}},"required":["decision","reason"]},"PpwrPackagingClassification":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"basis":{"type":"string","description":"Explanation of assessment basis\/evidence applicability, not merely an article number. "},"classification":{"type":"string"},"example_classification":{"type":["string","null"]},"example_group":{"type":["string","null"]},"example_position":{"type":["integer","null"]},"intended_use_snapshot":{"type":"string"},"item_revision":{"type":"integer","description":"Packaging revision captured by this record. "},"record_version":{"type":"integer"},"review_note":{"type":["string","null"]},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. "},"catalog_item":{"type":["string","null"],"format":"uuid"},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. "}}},"PpwrPackagingClassificationCreateInput":{"type":"object","properties":{"item_revision":{"type":"integer","minimum":1,"description":"Packaging revision captured by this record. Validation rules: required; integer; min:1"},"classification":{"type":"string","enum":["packaging","not_packaging"],"description":"Validation rules: required; in:\"packaging\",\"not_packaging\""},"example_key":{"type":["string","null"],"pattern":"^[ABC]:(packaging|not_packaging):[0-9]{1,3}$","description":"Validation rules: nullable; regex:\/^[ABC]:(packaging|not_packaging):[0-9]{1,3}$\/"},"intended_use":{"type":"string","minLength":10,"maxLength":3000,"description":"Validation rules: required; string; min:10; max:3000"},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"},"basis":{"type":"string","minLength":20,"maxLength":5000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:20; max:5000"}},"required":["item_revision","classification","intended_use","document_version","basis"]},"PpwrPackagingClassificationReviewInput":{"type":"object","properties":{"decision":{"type":"string","enum":["approved","rejected"],"description":"Validation rules: required; in:approved,rejected"},"reason":{"type":"string","minLength":1,"maxLength":2000,"description":"Decision rationale recorded in review history. Validation rules: required; string; min:1; max:2000"},"exception_legal_review":{"type":"object","description":"Validation rules: sometimes; array:scope_confirmed,conditions_confirmed,rationale","properties":{"scope_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"conditions_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"rationale":{"type":"string","minLength":80,"maxLength":5000,"description":"Validation rules: sometimes; string; min:80; max:5000"}}}},"required":["decision","reason"]},"PpwrMinimizationAssessment":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"actual_mass_g":{"type":"string"},"actual_volume_ml":{"type":"string"},"catalog_revision":{"type":"integer","description":"Packaging revision from catalogue GET, used to check freshness. "},"criteria":{"type":["object","array","null"],"additionalProperties":true,"items":{}},"measurement_method":{"type":"string"},"minimum_necessary_mass_g":{"type":"string"},"minimum_necessary_volume_ml":{"type":"string"},"perceived_volume_features":{"type":"string"},"record_version":{"type":"integer"},"reduction_study":{"type":"string"},"review_note":{"type":["string","null"]},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. "},"catalog_item":{"type":["string","null"],"format":"uuid"},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. "}}},"PpwrMinimizationCreateInput":{"type":"object","properties":{"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"actual_mass_g":{"type":"number","maximum":99999999999999,"description":"Validation rules: required; numeric; decimal:0,6; gt:0; max:99999999999999"},"minimum_necessary_mass_g":{"type":"number","maximum":99999999999999,"description":"Validation rules: required; numeric; decimal:0,6; gt:0; max:99999999999999"},"actual_volume_ml":{"type":"number","maximum":99999999999999,"description":"Validation rules: required; numeric; decimal:0,6; gt:0; max:99999999999999"},"minimum_necessary_volume_ml":{"type":"number","maximum":99999999999999,"description":"Validation rules: required; numeric; decimal:0,6; gt:0; max:99999999999999"},"criteria":{"type":"object","description":"Validation rules: required; array:product_protection,packaging_manufacturing,logistics,packaging_functionality,information,hygiene_safety,legal_requirements,recycled_content_recyclability_reuse","x-api-map":true,"properties":{"product_protection":{"type":"string","minLength":10,"maxLength":3000,"description":"Validation rules: required; string; min:10; max:3000"},"packaging_manufacturing":{"type":"string","minLength":10,"maxLength":3000,"description":"Validation rules: required; string; min:10; max:3000"},"logistics":{"type":"string","minLength":10,"maxLength":3000,"description":"Validation rules: required; string; min:10; max:3000"},"packaging_functionality":{"type":"string","minLength":10,"maxLength":3000,"description":"Validation rules: required; string; min:10; max:3000"},"information":{"type":"string","minLength":10,"maxLength":3000,"description":"Validation rules: required; string; min:10; max:3000"},"hygiene_safety":{"type":"string","minLength":10,"maxLength":3000,"description":"Validation rules: required; string; min:10; max:3000"},"legal_requirements":{"type":"string","minLength":10,"maxLength":3000,"description":"Validation rules: required; string; min:10; max:3000"},"recycled_content_recyclability_reuse":{"type":"string","minLength":10,"maxLength":3000,"description":"Validation rules: required; string; min:10; max:3000"}},"required":["product_protection","packaging_manufacturing","logistics","packaging_functionality","information","hygiene_safety","legal_requirements","recycled_content_recyclability_reuse"]},"measurement_method":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"reduction_study":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"perceived_volume_features":{"type":"string","enum":["yes","no","unknown"],"description":"Validation rules: required; in:\"yes\",\"no\",\"unknown\""},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"}},"required":["catalog_revision","actual_mass_g","minimum_necessary_mass_g","actual_volume_ml","minimum_necessary_volume_ml","criteria","measurement_method","reduction_study","perceived_volume_features","document_version"]},"PpwrMinimizationReviewInput":{"type":"object","properties":{"decision":{"type":"string","enum":["approved","rejected"],"description":"Validation rules: required; in:approved,rejected"},"reason":{"type":"string","minLength":1,"maxLength":2000,"description":"Decision rationale recorded in review history. Validation rules: required; string; min:1; max:2000"},"exception_legal_review":{"type":"object","description":"Validation rules: sometimes; array:scope_confirmed,conditions_confirmed,rationale","properties":{"scope_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"conditions_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"rationale":{"type":"string","minLength":80,"maxLength":5000,"description":"Validation rules: sometimes; string; min:80; max:5000"}}}},"required":["decision","reason"]},"PpwrCompostabilityAssessment":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"article9_class":{"type":"string"},"assessment_note":{"type":"string"},"catalog_revision":{"type":"integer","description":"Packaging revision from catalogue GET, used to check freshness. "},"home_compostability":{"type":"string"},"industrial_compostability":{"type":"string"},"material_recyclability":{"type":"string"},"record_version":{"type":"integer"},"review_note":{"type":["string","null"]},"standard_reference":{"type":["string","null"]},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. "},"catalog_item":{"type":["string","null"],"format":"uuid"},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. "}}},"PpwrCompostabilityCreateInput":{"type":"object","properties":{"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"article9_class":{"type":"string","enum":["permeable_beverage_bag","soft_beverage_unit","fruit_vegetable_sticky_label","carrier_bag","other"],"description":"Validation rules: required; in:\"permeable_beverage_bag\",\"soft_beverage_unit\",\"fruit_vegetable_sticky_label\",\"carrier_bag\",\"other\""},"industrial_compostability":{"type":"string","enum":["demonstrated","not_demonstrated","unknown"],"description":"Validation rules: required; in:\"demonstrated\",\"not_demonstrated\",\"unknown\""},"home_compostability":{"type":"string","enum":["demonstrated","not_demonstrated","unknown"],"description":"Validation rules: required; in:\"demonstrated\",\"not_demonstrated\",\"unknown\""},"material_recyclability":{"type":"string","enum":["demonstrated","not_demonstrated","unknown"],"description":"Validation rules: required; in:\"demonstrated\",\"not_demonstrated\",\"unknown\""},"standard_reference":{"type":["string","null"],"maxLength":255,"description":"Validation rules: nullable; string; max:255"},"assessment_note":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"}},"required":["catalog_revision","article9_class","industrial_compostability","home_compostability","material_recyclability","assessment_note","document_version"]},"PpwrCompostabilityReviewInput":{"type":"object","properties":{"decision":{"type":"string","enum":["approved","rejected"],"description":"Validation rules: required; in:approved,rejected"},"reason":{"type":"string","minLength":1,"maxLength":2000,"description":"Decision rationale recorded in review history. Validation rules: required; string; min:1; max:2000"},"exception_legal_review":{"type":"object","description":"Validation rules: sometimes; array:scope_confirmed,conditions_confirmed,rationale","properties":{"scope_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"conditions_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"rationale":{"type":"string","minLength":80,"maxLength":5000,"description":"Validation rules: sometimes; string; min:80; max:5000"}}}},"required":["decision","reason"]},"PpwrBiobasedComponentRecord":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"assessment_note":{"type":"string"},"biobased_share_percent":{"type":"string"},"catalog_revision":{"type":"integer","description":"Packaging revision from catalogue GET, used to check freshness. "},"component_mass_g":{"type":["string","null"]},"feedstock_origin_country":{"type":"string"},"feedstock_origin_detail":{"type":"string"},"feedstock_type":{"type":"string"},"material_snapshot":{"type":"string"},"measurement_method":{"type":"string"},"record_version":{"type":"integer"},"review_note":{"type":["string","null"]},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. "},"component":{"type":["string","null"],"format":"uuid"},"catalog_item":{"type":["string","null"],"format":"uuid"},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. "}}},"PpwrBiobasedCreateInput":{"type":"object","properties":{"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"component":{"type":"string","format":"uuid","description":"Validation rules: required; uuid"},"biobased_share_percent":{"type":"number","description":"Validation rules: required; numeric; between:0,100; decimal:0,6"},"feedstock_type":{"type":"string","maxLength":255,"description":"Validation rules: required; string; max:255"},"feedstock_origin_country":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"Validation rules: required; string; size:2; regex:\/^[A-Za-z]{2}$\/"},"feedstock_origin_detail":{"type":"string","maxLength":500,"description":"Validation rules: required; string; max:500"},"measurement_method":{"type":"string","maxLength":255,"description":"Validation rules: required; string; max:255"},"assessment_note":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"}},"required":["catalog_revision","component","biobased_share_percent","feedstock_type","feedstock_origin_country","feedstock_origin_detail","measurement_method","assessment_note","document_version"]},"PpwrBiobasedReviewInput":{"type":"object","properties":{"decision":{"type":"string","enum":["approved","rejected"],"description":"Validation rules: required; in:approved,rejected"},"reason":{"type":"string","minLength":1,"maxLength":2000,"description":"Decision rationale recorded in review history. Validation rules: required; string; min:1; max:2000"},"exception_legal_review":{"type":"object","description":"Validation rules: sometimes; array:scope_confirmed,conditions_confirmed,rationale","properties":{"scope_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"conditions_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"rationale":{"type":"string","minLength":80,"maxLength":5000,"description":"Validation rules: sometimes; string; min:80; max:5000"}}}},"required":["decision","reason"]},"PpwrCommunicationRecord":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"assessment_note":{"type":"string"},"catalog_revision":{"type":"integer","description":"Packaging revision from catalogue GET, used to check freshness. "},"claim_scope":{"type":["string","null"]},"criteria":{"type":["object","array","null"],"additionalProperties":true,"items":{}},"kind":{"type":"string"},"language_code":{"type":["string","null"]},"manufactured_or_imported_on":{"type":["string","null"],"format":"date-time"},"market_country":{"type":"string"},"placed_on_market_on":{"type":"string","format":"date-time"},"record_version":{"type":"integer"},"review_note":{"type":["string","null"]},"statement_text":{"type":"string"},"subject_code":{"type":"string"},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. "},"claim_component":{"type":["string","null"],"format":"uuid"},"catalog_item":{"type":["string","null"],"format":"uuid"},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. "}}},"PpwrCommunicationsCreateInput":{"oneOf":[{"type":"object","properties":{"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"kind":{"type":"string","enum":["label","claim"],"description":"Validation rules: required; in:\"label\",\"claim\"","const":"label"},"subject_code":{"type":"string","enum":["material","reusable","deposit","recycled_content","biobased","substances_of_concern","epr_symbol"],"description":"Validation rules: required; in:\"material\",\"reusable\",\"deposit\",\"recycled_content\",\"biobased\",\"substances_of_concern\",\"epr_symbol\"","const":"material"},"market_country":{"type":"string","pattern":"^[A-Za-z]{2}$","enum":["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE"],"description":"Validation rules: required; string; size:2; regex:\/^[A-Za-z]{2}$\/; in:\"AT\",\"BE\",\"BG\",\"HR\",\"CY\",\"CZ\",\"DK\",\"EE\",\"FI\",\"FR\",\"DE\",\"GR\",\"HU\",\"IE\",\"IT\",\"LV\",\"LT\",\"LU\",\"MT\",\"NL\",\"PL\",\"PT\",\"RO\",\"SK\",\"SI\",\"ES\",\"SE\""},"language_code":{"type":"string","minLength":2,"maxLength":8,"pattern":"^[A-Za-z-]+$","description":"Validation rules: required; string; min:2; max:8; regex:\/^[A-Za-z-]+$\/"},"placed_on_market_on":{"type":"string","format":"date","description":"Validation rules: required; date_format:Y-m-d"},"manufactured_or_imported_on":{"type":["string","null"],"format":"date","description":"Validation rules: nullable; date_format:Y-m-d; before_or_equal:placed_on_market_on"},"claim_scope":{"type":["string","null"],"enum":["packaging_unit","component","operator_all",null],"description":"Validation rules: nullable; in:\"packaging_unit\",\"component\",\"operator_all\""},"claim_component":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"},"statement_text":{"type":"string","minLength":10,"maxLength":5000,"description":"Validation rules: required; string; min:10; max:5000"},"criteria":{"type":"object","description":"Validation rules: required; array:scope_and_exceptions,visible_legible_durable,language_for_market,online_before_purchase,digital_privacy,digital_no_marketing,not_misleading,composition_parts,pictogram_accessibility,compostability_message","x-api-map":true,"properties":{"scope_and_exceptions":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"visible_legible_durable":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"language_for_market":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"online_before_purchase":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"digital_privacy":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"digital_no_marketing":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"not_misleading":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"composition_parts":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"pictogram_accessibility":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"compostability_message":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]}},"required":["scope_and_exceptions","visible_legible_durable","language_for_market","online_before_purchase","digital_privacy","digital_no_marketing","not_misleading","composition_parts","pictogram_accessibility","compostability_message"]},"assessment_note":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"}},"required":["catalog_revision","kind","subject_code","market_country","language_code","placed_on_market_on","statement_text","criteria","assessment_note","document_version"]},{"type":"object","properties":{"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"kind":{"type":"string","enum":["label","claim"],"description":"Validation rules: required; in:\"label\",\"claim\"","const":"label"},"subject_code":{"type":"string","enum":["material","reusable","deposit","recycled_content","biobased","substances_of_concern","epr_symbol"],"description":"Validation rules: required; in:\"material\",\"reusable\",\"deposit\",\"recycled_content\",\"biobased\",\"substances_of_concern\",\"epr_symbol\"","const":"reusable"},"market_country":{"type":"string","pattern":"^[A-Za-z]{2}$","enum":["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE"],"description":"Validation rules: required; string; size:2; regex:\/^[A-Za-z]{2}$\/; in:\"AT\",\"BE\",\"BG\",\"HR\",\"CY\",\"CZ\",\"DK\",\"EE\",\"FI\",\"FR\",\"DE\",\"GR\",\"HU\",\"IE\",\"IT\",\"LV\",\"LT\",\"LU\",\"MT\",\"NL\",\"PL\",\"PT\",\"RO\",\"SK\",\"SI\",\"ES\",\"SE\""},"language_code":{"type":"string","minLength":2,"maxLength":8,"pattern":"^[A-Za-z-]+$","description":"Validation rules: required; string; min:2; max:8; regex:\/^[A-Za-z-]+$\/"},"placed_on_market_on":{"type":"string","format":"date","description":"Validation rules: required; date_format:Y-m-d"},"manufactured_or_imported_on":{"type":["string","null"],"format":"date","description":"Validation rules: nullable; date_format:Y-m-d; before_or_equal:placed_on_market_on"},"claim_scope":{"type":["string","null"],"enum":["packaging_unit","component","operator_all",null],"description":"Validation rules: nullable; in:\"packaging_unit\",\"component\",\"operator_all\""},"claim_component":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"},"statement_text":{"type":"string","minLength":10,"maxLength":5000,"description":"Validation rules: required; string; min:10; max:5000"},"criteria":{"type":"object","description":"Validation rules: required; array:scope_and_exceptions,visible_legible_durable,language_for_market,online_before_purchase,digital_privacy,digital_no_marketing,not_misleading,reuse_information,digital_system_and_rotations,retail_distinguishable,open_loop_exception","x-api-map":true,"properties":{"scope_and_exceptions":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"visible_legible_durable":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"language_for_market":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"online_before_purchase":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"digital_privacy":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"digital_no_marketing":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"not_misleading":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"reuse_information":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"digital_system_and_rotations":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"retail_distinguishable":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"open_loop_exception":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]}},"required":["scope_and_exceptions","visible_legible_durable","language_for_market","online_before_purchase","digital_privacy","digital_no_marketing","not_misleading","reuse_information","digital_system_and_rotations","retail_distinguishable","open_loop_exception"]},"assessment_note":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"}},"required":["catalog_revision","kind","subject_code","market_country","language_code","placed_on_market_on","statement_text","criteria","assessment_note","document_version"]},{"type":"object","properties":{"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"kind":{"type":"string","enum":["label","claim"],"description":"Validation rules: required; in:\"label\",\"claim\"","const":"label"},"subject_code":{"type":"string","enum":["material","reusable","deposit","recycled_content","biobased","substances_of_concern","epr_symbol"],"description":"Validation rules: required; in:\"material\",\"reusable\",\"deposit\",\"recycled_content\",\"biobased\",\"substances_of_concern\",\"epr_symbol\"","const":"deposit"},"market_country":{"type":"string","pattern":"^[A-Za-z]{2}$","enum":["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE"],"description":"Validation rules: required; string; size:2; regex:\/^[A-Za-z]{2}$\/; in:\"AT\",\"BE\",\"BG\",\"HR\",\"CY\",\"CZ\",\"DK\",\"EE\",\"FI\",\"FR\",\"DE\",\"GR\",\"HU\",\"IE\",\"IT\",\"LV\",\"LT\",\"LU\",\"MT\",\"NL\",\"PL\",\"PT\",\"RO\",\"SK\",\"SI\",\"ES\",\"SE\""},"language_code":{"type":"string","minLength":2,"maxLength":8,"pattern":"^[A-Za-z-]+$","description":"Validation rules: required; string; min:2; max:8; regex:\/^[A-Za-z-]+$\/"},"placed_on_market_on":{"type":"string","format":"date","description":"Validation rules: required; date_format:Y-m-d"},"manufactured_or_imported_on":{"type":["string","null"],"format":"date","description":"Validation rules: nullable; date_format:Y-m-d; before_or_equal:placed_on_market_on"},"claim_scope":{"type":["string","null"],"enum":["packaging_unit","component","operator_all",null],"description":"Validation rules: nullable; in:\"packaging_unit\",\"component\",\"operator_all\""},"claim_component":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"},"statement_text":{"type":"string","minLength":10,"maxLength":5000,"description":"Validation rules: required; string; min:10; max:5000"},"criteria":{"type":"object","description":"Validation rules: required; array:scope_and_exceptions,visible_legible_durable,language_for_market,online_before_purchase,digital_privacy,digital_no_marketing,not_misleading,deposit_unambiguous,national_scheme","x-api-map":true,"properties":{"scope_and_exceptions":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"visible_legible_durable":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"language_for_market":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"online_before_purchase":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"digital_privacy":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"digital_no_marketing":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"not_misleading":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"deposit_unambiguous":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"national_scheme":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]}},"required":["scope_and_exceptions","visible_legible_durable","language_for_market","online_before_purchase","digital_privacy","digital_no_marketing","not_misleading","deposit_unambiguous","national_scheme"]},"assessment_note":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"}},"required":["catalog_revision","kind","subject_code","market_country","language_code","placed_on_market_on","statement_text","criteria","assessment_note","document_version"]},{"type":"object","properties":{"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"kind":{"type":"string","enum":["label","claim"],"description":"Validation rules: required; in:\"label\",\"claim\"","const":"label"},"subject_code":{"type":"string","enum":["material","reusable","deposit","recycled_content","biobased","substances_of_concern","epr_symbol"],"description":"Validation rules: required; in:\"material\",\"reusable\",\"deposit\",\"recycled_content\",\"biobased\",\"substances_of_concern\",\"epr_symbol\"","const":"recycled_content"},"market_country":{"type":"string","pattern":"^[A-Za-z]{2}$","enum":["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE"],"description":"Validation rules: required; string; size:2; regex:\/^[A-Za-z]{2}$\/; in:\"AT\",\"BE\",\"BG\",\"HR\",\"CY\",\"CZ\",\"DK\",\"EE\",\"FI\",\"FR\",\"DE\",\"GR\",\"HU\",\"IE\",\"IT\",\"LV\",\"LT\",\"LU\",\"MT\",\"NL\",\"PL\",\"PT\",\"RO\",\"SK\",\"SI\",\"ES\",\"SE\""},"language_code":{"type":"string","minLength":2,"maxLength":8,"pattern":"^[A-Za-z-]+$","description":"Validation rules: required; string; min:2; max:8; regex:\/^[A-Za-z-]+$\/"},"placed_on_market_on":{"type":"string","format":"date","description":"Validation rules: required; date_format:Y-m-d"},"manufactured_or_imported_on":{"type":["string","null"],"format":"date","description":"Validation rules: nullable; date_format:Y-m-d; before_or_equal:placed_on_market_on"},"claim_scope":{"type":["string","null"],"enum":["packaging_unit","component","operator_all",null],"description":"Validation rules: nullable; in:\"packaging_unit\",\"component\",\"operator_all\""},"claim_component":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"},"statement_text":{"type":"string","minLength":10,"maxLength":5000,"description":"Validation rules: required; string; min:10; max:5000"},"criteria":{"type":"object","description":"Validation rules: required; array:scope_and_exceptions,visible_legible_durable,language_for_market,online_before_purchase,digital_privacy,digital_no_marketing,not_misleading,recycled_method,harmonised_format","x-api-map":true,"properties":{"scope_and_exceptions":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"visible_legible_durable":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"language_for_market":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"online_before_purchase":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"digital_privacy":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"digital_no_marketing":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"not_misleading":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"recycled_method":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"harmonised_format":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]}},"required":["scope_and_exceptions","visible_legible_durable","language_for_market","online_before_purchase","digital_privacy","digital_no_marketing","not_misleading","recycled_method","harmonised_format"]},"assessment_note":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"}},"required":["catalog_revision","kind","subject_code","market_country","language_code","placed_on_market_on","statement_text","criteria","assessment_note","document_version"]},{"type":"object","properties":{"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"kind":{"type":"string","enum":["label","claim"],"description":"Validation rules: required; in:\"label\",\"claim\"","const":"label"},"subject_code":{"type":"string","enum":["material","reusable","deposit","recycled_content","biobased","substances_of_concern","epr_symbol"],"description":"Validation rules: required; in:\"material\",\"reusable\",\"deposit\",\"recycled_content\",\"biobased\",\"substances_of_concern\",\"epr_symbol\"","const":"biobased"},"market_country":{"type":"string","pattern":"^[A-Za-z]{2}$","enum":["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE"],"description":"Validation rules: required; string; size:2; regex:\/^[A-Za-z]{2}$\/; in:\"AT\",\"BE\",\"BG\",\"HR\",\"CY\",\"CZ\",\"DK\",\"EE\",\"FI\",\"FR\",\"DE\",\"GR\",\"HU\",\"IE\",\"IT\",\"LV\",\"LT\",\"LU\",\"MT\",\"NL\",\"PL\",\"PT\",\"RO\",\"SK\",\"SI\",\"ES\",\"SE\""},"language_code":{"type":"string","minLength":2,"maxLength":8,"pattern":"^[A-Za-z-]+$","description":"Validation rules: required; string; min:2; max:8; regex:\/^[A-Za-z-]+$\/"},"placed_on_market_on":{"type":"string","format":"date","description":"Validation rules: required; date_format:Y-m-d"},"manufactured_or_imported_on":{"type":["string","null"],"format":"date","description":"Validation rules: nullable; date_format:Y-m-d; before_or_equal:placed_on_market_on"},"claim_scope":{"type":["string","null"],"enum":["packaging_unit","component","operator_all",null],"description":"Validation rules: nullable; in:\"packaging_unit\",\"component\",\"operator_all\""},"claim_component":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"},"statement_text":{"type":"string","minLength":10,"maxLength":5000,"description":"Validation rules: required; string; min:10; max:5000"},"criteria":{"type":"object","description":"Validation rules: required; array:scope_and_exceptions,visible_legible_durable,language_for_market,online_before_purchase,digital_privacy,digital_no_marketing,not_misleading,biobased_format","x-api-map":true,"properties":{"scope_and_exceptions":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"visible_legible_durable":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"language_for_market":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"online_before_purchase":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"digital_privacy":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"digital_no_marketing":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"not_misleading":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"biobased_format":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]}},"required":["scope_and_exceptions","visible_legible_durable","language_for_market","online_before_purchase","digital_privacy","digital_no_marketing","not_misleading","biobased_format"]},"assessment_note":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"}},"required":["catalog_revision","kind","subject_code","market_country","language_code","placed_on_market_on","statement_text","criteria","assessment_note","document_version"]},{"type":"object","properties":{"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"kind":{"type":"string","enum":["label","claim"],"description":"Validation rules: required; in:\"label\",\"claim\"","const":"label"},"subject_code":{"type":"string","enum":["material","reusable","deposit","recycled_content","biobased","substances_of_concern","epr_symbol"],"description":"Validation rules: required; in:\"material\",\"reusable\",\"deposit\",\"recycled_content\",\"biobased\",\"substances_of_concern\",\"epr_symbol\"","const":"substances_of_concern"},"market_country":{"type":"string","pattern":"^[A-Za-z]{2}$","enum":["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE"],"description":"Validation rules: required; string; size:2; regex:\/^[A-Za-z]{2}$\/; in:\"AT\",\"BE\",\"BG\",\"HR\",\"CY\",\"CZ\",\"DK\",\"EE\",\"FI\",\"FR\",\"DE\",\"GR\",\"HU\",\"IE\",\"IT\",\"LV\",\"LT\",\"LU\",\"MT\",\"NL\",\"PL\",\"PT\",\"RO\",\"SK\",\"SI\",\"ES\",\"SE\""},"language_code":{"type":"string","minLength":2,"maxLength":8,"pattern":"^[A-Za-z-]+$","description":"Validation rules: required; string; min:2; max:8; regex:\/^[A-Za-z-]+$\/"},"placed_on_market_on":{"type":"string","format":"date","description":"Validation rules: required; date_format:Y-m-d"},"manufactured_or_imported_on":{"type":["string","null"],"format":"date","description":"Validation rules: nullable; date_format:Y-m-d; before_or_equal:placed_on_market_on"},"claim_scope":{"type":["string","null"],"enum":["packaging_unit","component","operator_all",null],"description":"Validation rules: nullable; in:\"packaging_unit\",\"component\",\"operator_all\""},"claim_component":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"},"statement_text":{"type":"string","minLength":10,"maxLength":5000,"description":"Validation rules: required; string; min:10; max:5000"},"criteria":{"type":"object","description":"Validation rules: required; array:scope_and_exceptions,visible_legible_durable,language_for_market,online_before_purchase,digital_privacy,digital_no_marketing,not_misleading,open_digital_marking,substance_name_concentration","x-api-map":true,"properties":{"scope_and_exceptions":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"visible_legible_durable":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"language_for_market":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"online_before_purchase":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"digital_privacy":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"digital_no_marketing":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"not_misleading":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"open_digital_marking":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"substance_name_concentration":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]}},"required":["scope_and_exceptions","visible_legible_durable","language_for_market","online_before_purchase","digital_privacy","digital_no_marketing","not_misleading","open_digital_marking","substance_name_concentration"]},"assessment_note":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"}},"required":["catalog_revision","kind","subject_code","market_country","language_code","placed_on_market_on","statement_text","criteria","assessment_note","document_version"]},{"type":"object","properties":{"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"kind":{"type":"string","enum":["label","claim"],"description":"Validation rules: required; in:\"label\",\"claim\"","const":"label"},"subject_code":{"type":"string","enum":["material","reusable","deposit","recycled_content","biobased","substances_of_concern","epr_symbol"],"description":"Validation rules: required; in:\"material\",\"reusable\",\"deposit\",\"recycled_content\",\"biobased\",\"substances_of_concern\",\"epr_symbol\"","const":"epr_symbol"},"market_country":{"type":"string","pattern":"^[A-Za-z]{2}$","enum":["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE"],"description":"Validation rules: required; string; size:2; regex:\/^[A-Za-z]{2}$\/; in:\"AT\",\"BE\",\"BG\",\"HR\",\"CY\",\"CZ\",\"DK\",\"EE\",\"FI\",\"FR\",\"DE\",\"GR\",\"HU\",\"IE\",\"IT\",\"LV\",\"LT\",\"LU\",\"MT\",\"NL\",\"PL\",\"PT\",\"RO\",\"SK\",\"SI\",\"ES\",\"SE\""},"language_code":{"type":"string","minLength":2,"maxLength":8,"pattern":"^[A-Za-z-]+$","description":"Validation rules: required; string; min:2; max:8; regex:\/^[A-Za-z-]+$\/"},"placed_on_market_on":{"type":"string","format":"date","description":"Validation rules: required; date_format:Y-m-d"},"manufactured_or_imported_on":{"type":["string","null"],"format":"date","description":"Validation rules: nullable; date_format:Y-m-d; before_or_equal:placed_on_market_on"},"claim_scope":{"type":["string","null"],"enum":["packaging_unit","component","operator_all",null],"description":"Validation rules: nullable; in:\"packaging_unit\",\"component\",\"operator_all\""},"claim_component":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"},"statement_text":{"type":"string","minLength":10,"maxLength":5000,"description":"Validation rules: required; string; min:10; max:5000"},"criteria":{"type":"object","description":"Validation rules: required; array:scope_and_exceptions,visible_legible_durable,language_for_market,online_before_purchase,digital_privacy,digital_no_marketing,not_misleading,digital_epr_symbol,no_recyclability_implication","x-api-map":true,"properties":{"scope_and_exceptions":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"visible_legible_durable":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"language_for_market":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"online_before_purchase":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"digital_privacy":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"digital_no_marketing":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"not_misleading":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"digital_epr_symbol":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"no_recyclability_implication":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]}},"required":["scope_and_exceptions","visible_legible_durable","language_for_market","online_before_purchase","digital_privacy","digital_no_marketing","not_misleading","digital_epr_symbol","no_recyclability_implication"]},"assessment_note":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"}},"required":["catalog_revision","kind","subject_code","market_country","language_code","placed_on_market_on","statement_text","criteria","assessment_note","document_version"]},{"type":"object","properties":{"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"kind":{"type":"string","enum":["label","claim"],"description":"Validation rules: required; in:\"label\",\"claim\"","const":"claim"},"subject_code":{"type":"string","enum":["recyclability","recycled_content","reusability","compostability","minimisation","other"],"description":"Validation rules: required; in:\"recyclability\",\"recycled_content\",\"reusability\",\"compostability\",\"minimisation\",\"other\"","const":"recyclability"},"market_country":{"type":"string","pattern":"^[A-Za-z]{2}$","enum":["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE"],"description":"Validation rules: required; string; size:2; regex:\/^[A-Za-z]{2}$\/; in:\"AT\",\"BE\",\"BG\",\"HR\",\"CY\",\"CZ\",\"DK\",\"EE\",\"FI\",\"FR\",\"DE\",\"GR\",\"HU\",\"IE\",\"IT\",\"LV\",\"LT\",\"LU\",\"MT\",\"NL\",\"PL\",\"PT\",\"RO\",\"SK\",\"SI\",\"ES\",\"SE\""},"language_code":{"type":["string","null"],"minLength":2,"maxLength":8,"pattern":"^[A-Za-z-]+$","description":"Validation rules: nullable; string; min:2; max:8; regex:\/^[A-Za-z-]+$\/"},"placed_on_market_on":{"type":"string","format":"date","description":"Validation rules: required; date_format:Y-m-d"},"manufactured_or_imported_on":{"type":["string","null"],"format":"date","description":"Validation rules: nullable; date_format:Y-m-d; before_or_equal:placed_on_market_on"},"claim_scope":{"type":"string","enum":["packaging_unit","component","operator_all"],"description":"Validation rules: required; in:\"packaging_unit\",\"component\",\"operator_all\""},"claim_component":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"},"statement_text":{"type":"string","minLength":10,"maxLength":5000,"description":"Validation rules: required; string; min:10; max:5000"},"criteria":{"type":"object","description":"Validation rules: required; array:above_legal_minimum,ppwr_method,scope_disclosed,annex_vii_documentation","x-api-map":true,"properties":{"above_legal_minimum":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"ppwr_method":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"scope_disclosed":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"annex_vii_documentation":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]}},"required":["above_legal_minimum","ppwr_method","scope_disclosed","annex_vii_documentation"]},"assessment_note":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"}},"required":["catalog_revision","kind","subject_code","market_country","placed_on_market_on","claim_scope","statement_text","criteria","assessment_note","document_version"],"allOf":[{"if":{"properties":{"claim_scope":{"const":"component"}},"required":["claim_scope"]},"then":{"required":["claim_component"]}}]},{"type":"object","properties":{"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"kind":{"type":"string","enum":["label","claim"],"description":"Validation rules: required; in:\"label\",\"claim\"","const":"claim"},"subject_code":{"type":"string","enum":["recyclability","recycled_content","reusability","compostability","minimisation","other"],"description":"Validation rules: required; in:\"recyclability\",\"recycled_content\",\"reusability\",\"compostability\",\"minimisation\",\"other\"","const":"recycled_content"},"market_country":{"type":"string","pattern":"^[A-Za-z]{2}$","enum":["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE"],"description":"Validation rules: required; string; size:2; regex:\/^[A-Za-z]{2}$\/; in:\"AT\",\"BE\",\"BG\",\"HR\",\"CY\",\"CZ\",\"DK\",\"EE\",\"FI\",\"FR\",\"DE\",\"GR\",\"HU\",\"IE\",\"IT\",\"LV\",\"LT\",\"LU\",\"MT\",\"NL\",\"PL\",\"PT\",\"RO\",\"SK\",\"SI\",\"ES\",\"SE\""},"language_code":{"type":["string","null"],"minLength":2,"maxLength":8,"pattern":"^[A-Za-z-]+$","description":"Validation rules: nullable; string; min:2; max:8; regex:\/^[A-Za-z-]+$\/"},"placed_on_market_on":{"type":"string","format":"date","description":"Validation rules: required; date_format:Y-m-d"},"manufactured_or_imported_on":{"type":["string","null"],"format":"date","description":"Validation rules: nullable; date_format:Y-m-d; before_or_equal:placed_on_market_on"},"claim_scope":{"type":"string","enum":["packaging_unit","component","operator_all"],"description":"Validation rules: required; in:\"packaging_unit\",\"component\",\"operator_all\""},"claim_component":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"},"statement_text":{"type":"string","minLength":10,"maxLength":5000,"description":"Validation rules: required; string; min:10; max:5000"},"criteria":{"type":"object","description":"Validation rules: required; array:above_legal_minimum,ppwr_method,scope_disclosed,annex_vii_documentation","x-api-map":true,"properties":{"above_legal_minimum":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"ppwr_method":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"scope_disclosed":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"annex_vii_documentation":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]}},"required":["above_legal_minimum","ppwr_method","scope_disclosed","annex_vii_documentation"]},"assessment_note":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"}},"required":["catalog_revision","kind","subject_code","market_country","placed_on_market_on","claim_scope","statement_text","criteria","assessment_note","document_version"],"allOf":[{"if":{"properties":{"claim_scope":{"const":"component"}},"required":["claim_scope"]},"then":{"required":["claim_component"]}}]},{"type":"object","properties":{"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"kind":{"type":"string","enum":["label","claim"],"description":"Validation rules: required; in:\"label\",\"claim\"","const":"claim"},"subject_code":{"type":"string","enum":["recyclability","recycled_content","reusability","compostability","minimisation","other"],"description":"Validation rules: required; in:\"recyclability\",\"recycled_content\",\"reusability\",\"compostability\",\"minimisation\",\"other\"","const":"reusability"},"market_country":{"type":"string","pattern":"^[A-Za-z]{2}$","enum":["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE"],"description":"Validation rules: required; string; size:2; regex:\/^[A-Za-z]{2}$\/; in:\"AT\",\"BE\",\"BG\",\"HR\",\"CY\",\"CZ\",\"DK\",\"EE\",\"FI\",\"FR\",\"DE\",\"GR\",\"HU\",\"IE\",\"IT\",\"LV\",\"LT\",\"LU\",\"MT\",\"NL\",\"PL\",\"PT\",\"RO\",\"SK\",\"SI\",\"ES\",\"SE\""},"language_code":{"type":["string","null"],"minLength":2,"maxLength":8,"pattern":"^[A-Za-z-]+$","description":"Validation rules: nullable; string; min:2; max:8; regex:\/^[A-Za-z-]+$\/"},"placed_on_market_on":{"type":"string","format":"date","description":"Validation rules: required; date_format:Y-m-d"},"manufactured_or_imported_on":{"type":["string","null"],"format":"date","description":"Validation rules: nullable; date_format:Y-m-d; before_or_equal:placed_on_market_on"},"claim_scope":{"type":"string","enum":["packaging_unit","component","operator_all"],"description":"Validation rules: required; in:\"packaging_unit\",\"component\",\"operator_all\""},"claim_component":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"},"statement_text":{"type":"string","minLength":10,"maxLength":5000,"description":"Validation rules: required; string; min:10; max:5000"},"criteria":{"type":"object","description":"Validation rules: required; array:above_legal_minimum,ppwr_method,scope_disclosed,annex_vii_documentation","x-api-map":true,"properties":{"above_legal_minimum":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"ppwr_method":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"scope_disclosed":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"annex_vii_documentation":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]}},"required":["above_legal_minimum","ppwr_method","scope_disclosed","annex_vii_documentation"]},"assessment_note":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"}},"required":["catalog_revision","kind","subject_code","market_country","placed_on_market_on","claim_scope","statement_text","criteria","assessment_note","document_version"],"allOf":[{"if":{"properties":{"claim_scope":{"const":"component"}},"required":["claim_scope"]},"then":{"required":["claim_component"]}}]},{"type":"object","properties":{"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"kind":{"type":"string","enum":["label","claim"],"description":"Validation rules: required; in:\"label\",\"claim\"","const":"claim"},"subject_code":{"type":"string","enum":["recyclability","recycled_content","reusability","compostability","minimisation","other"],"description":"Validation rules: required; in:\"recyclability\",\"recycled_content\",\"reusability\",\"compostability\",\"minimisation\",\"other\"","const":"compostability"},"market_country":{"type":"string","pattern":"^[A-Za-z]{2}$","enum":["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE"],"description":"Validation rules: required; string; size:2; regex:\/^[A-Za-z]{2}$\/; in:\"AT\",\"BE\",\"BG\",\"HR\",\"CY\",\"CZ\",\"DK\",\"EE\",\"FI\",\"FR\",\"DE\",\"GR\",\"HU\",\"IE\",\"IT\",\"LV\",\"LT\",\"LU\",\"MT\",\"NL\",\"PL\",\"PT\",\"RO\",\"SK\",\"SI\",\"ES\",\"SE\""},"language_code":{"type":["string","null"],"minLength":2,"maxLength":8,"pattern":"^[A-Za-z-]+$","description":"Validation rules: nullable; string; min:2; max:8; regex:\/^[A-Za-z-]+$\/"},"placed_on_market_on":{"type":"string","format":"date","description":"Validation rules: required; date_format:Y-m-d"},"manufactured_or_imported_on":{"type":["string","null"],"format":"date","description":"Validation rules: nullable; date_format:Y-m-d; before_or_equal:placed_on_market_on"},"claim_scope":{"type":"string","enum":["packaging_unit","component","operator_all"],"description":"Validation rules: required; in:\"packaging_unit\",\"component\",\"operator_all\""},"claim_component":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"},"statement_text":{"type":"string","minLength":10,"maxLength":5000,"description":"Validation rules: required; string; min:10; max:5000"},"criteria":{"type":"object","description":"Validation rules: required; array:above_legal_minimum,ppwr_method,scope_disclosed,annex_vii_documentation","x-api-map":true,"properties":{"above_legal_minimum":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"ppwr_method":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"scope_disclosed":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"annex_vii_documentation":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]}},"required":["above_legal_minimum","ppwr_method","scope_disclosed","annex_vii_documentation"]},"assessment_note":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"}},"required":["catalog_revision","kind","subject_code","market_country","placed_on_market_on","claim_scope","statement_text","criteria","assessment_note","document_version"],"allOf":[{"if":{"properties":{"claim_scope":{"const":"component"}},"required":["claim_scope"]},"then":{"required":["claim_component"]}}]},{"type":"object","properties":{"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"kind":{"type":"string","enum":["label","claim"],"description":"Validation rules: required; in:\"label\",\"claim\"","const":"claim"},"subject_code":{"type":"string","enum":["recyclability","recycled_content","reusability","compostability","minimisation","other"],"description":"Validation rules: required; in:\"recyclability\",\"recycled_content\",\"reusability\",\"compostability\",\"minimisation\",\"other\"","const":"minimisation"},"market_country":{"type":"string","pattern":"^[A-Za-z]{2}$","enum":["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE"],"description":"Validation rules: required; string; size:2; regex:\/^[A-Za-z]{2}$\/; in:\"AT\",\"BE\",\"BG\",\"HR\",\"CY\",\"CZ\",\"DK\",\"EE\",\"FI\",\"FR\",\"DE\",\"GR\",\"HU\",\"IE\",\"IT\",\"LV\",\"LT\",\"LU\",\"MT\",\"NL\",\"PL\",\"PT\",\"RO\",\"SK\",\"SI\",\"ES\",\"SE\""},"language_code":{"type":["string","null"],"minLength":2,"maxLength":8,"pattern":"^[A-Za-z-]+$","description":"Validation rules: nullable; string; min:2; max:8; regex:\/^[A-Za-z-]+$\/"},"placed_on_market_on":{"type":"string","format":"date","description":"Validation rules: required; date_format:Y-m-d"},"manufactured_or_imported_on":{"type":["string","null"],"format":"date","description":"Validation rules: nullable; date_format:Y-m-d; before_or_equal:placed_on_market_on"},"claim_scope":{"type":"string","enum":["packaging_unit","component","operator_all"],"description":"Validation rules: required; in:\"packaging_unit\",\"component\",\"operator_all\""},"claim_component":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"},"statement_text":{"type":"string","minLength":10,"maxLength":5000,"description":"Validation rules: required; string; min:10; max:5000"},"criteria":{"type":"object","description":"Validation rules: required; array:above_legal_minimum,ppwr_method,scope_disclosed,annex_vii_documentation","x-api-map":true,"properties":{"above_legal_minimum":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"ppwr_method":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"scope_disclosed":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"annex_vii_documentation":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]}},"required":["above_legal_minimum","ppwr_method","scope_disclosed","annex_vii_documentation"]},"assessment_note":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"}},"required":["catalog_revision","kind","subject_code","market_country","placed_on_market_on","claim_scope","statement_text","criteria","assessment_note","document_version"],"allOf":[{"if":{"properties":{"claim_scope":{"const":"component"}},"required":["claim_scope"]},"then":{"required":["claim_component"]}}]},{"type":"object","properties":{"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"kind":{"type":"string","enum":["label","claim"],"description":"Validation rules: required; in:\"label\",\"claim\"","const":"claim"},"subject_code":{"type":"string","enum":["recyclability","recycled_content","reusability","compostability","minimisation","other"],"description":"Validation rules: required; in:\"recyclability\",\"recycled_content\",\"reusability\",\"compostability\",\"minimisation\",\"other\"","const":"other"},"market_country":{"type":"string","pattern":"^[A-Za-z]{2}$","enum":["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE"],"description":"Validation rules: required; string; size:2; regex:\/^[A-Za-z]{2}$\/; in:\"AT\",\"BE\",\"BG\",\"HR\",\"CY\",\"CZ\",\"DK\",\"EE\",\"FI\",\"FR\",\"DE\",\"GR\",\"HU\",\"IE\",\"IT\",\"LV\",\"LT\",\"LU\",\"MT\",\"NL\",\"PL\",\"PT\",\"RO\",\"SK\",\"SI\",\"ES\",\"SE\""},"language_code":{"type":["string","null"],"minLength":2,"maxLength":8,"pattern":"^[A-Za-z-]+$","description":"Validation rules: nullable; string; min:2; max:8; regex:\/^[A-Za-z-]+$\/"},"placed_on_market_on":{"type":"string","format":"date","description":"Validation rules: required; date_format:Y-m-d"},"manufactured_or_imported_on":{"type":["string","null"],"format":"date","description":"Validation rules: nullable; date_format:Y-m-d; before_or_equal:placed_on_market_on"},"claim_scope":{"type":"string","enum":["packaging_unit","component","operator_all"],"description":"Validation rules: required; in:\"packaging_unit\",\"component\",\"operator_all\""},"claim_component":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"},"statement_text":{"type":"string","minLength":10,"maxLength":5000,"description":"Validation rules: required; string; min:10; max:5000"},"criteria":{"type":"object","description":"Validation rules: required; array:above_legal_minimum,ppwr_method,scope_disclosed,annex_vii_documentation","x-api-map":true,"properties":{"above_legal_minimum":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"ppwr_method":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"scope_disclosed":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"annex_vii_documentation":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]}},"required":["above_legal_minimum","ppwr_method","scope_disclosed","annex_vii_documentation"]},"assessment_note":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"}},"required":["catalog_revision","kind","subject_code","market_country","placed_on_market_on","claim_scope","statement_text","criteria","assessment_note","document_version"],"allOf":[{"if":{"properties":{"claim_scope":{"const":"component"}},"required":["claim_scope"]},"then":{"required":["claim_component"]}}]}]},"PpwrCommunicationsReviewInput":{"type":"object","properties":{"decision":{"type":"string","enum":["approved","rejected"],"description":"Validation rules: required; in:approved,rejected"},"reason":{"type":"string","minLength":1,"maxLength":2000,"description":"Decision rationale recorded in review history. Validation rules: required; string; min:1; max:2000"},"exception_legal_review":{"type":"object","description":"Validation rules: sometimes; array:scope_confirmed,conditions_confirmed,rationale","properties":{"scope_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"conditions_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"rationale":{"type":"string","minLength":80,"maxLength":5000,"description":"Validation rules: sometimes; string; min:80; max:5000"}}}},"required":["decision","reason"]},"PpwrConformityDossier":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"assessment_on":{"type":"string","format":"date-time"},"catalog_revision":{"type":"integer","description":"Packaging revision from catalogue GET, used to check freshness. "},"production_controls":{"type":"string"},"record_version":{"type":"integer"},"requirements":{"type":["object","array","null"],"additionalProperties":true,"items":{}},"review_note":{"type":["string","null"]},"risk_analysis":{"type":"string"},"technical_elements":{"type":["object","array","null"],"additionalProperties":true,"items":{}},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. "},"catalog_item":{"type":["string","null"],"format":"uuid"},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. "}}},"PpwrConformityDossiersCreateInput":{"type":"object","properties":{"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"assessment_on":{"type":"string","format":"date","description":"Validation rules: required; date_format:Y-m-d"},"requirements":{"type":"object","description":"Validation rules: required; array:art5,art6,art7,art8,art9,art10,art11,art12","properties":{"art5":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"art6":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"art7":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"art8":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"art9":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"art10":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"art11":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"art12":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]}},"required":["art5","art6","art7","art8","art9","art10","art11","art12"]},"technical_elements":{"type":"object","description":"Validation rules: required; array:general_description,intended_use,design_drawings_materials,drawing_explanations,harmonised_standards,common_specifications,other_specifications,partial_application,alternative_solutions,article6_10_11_qualitative,test_reports","properties":{"general_description":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"intended_use":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"design_drawings_materials":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"drawing_explanations":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"harmonised_standards":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"common_specifications":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"other_specifications":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"partial_application":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"alternative_solutions":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"article6_10_11_qualitative":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"test_reports":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated","not_applicable"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\",\"not_applicable\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]}},"required":["general_description","intended_use","design_drawings_materials","drawing_explanations","harmonised_standards","common_specifications","other_specifications","partial_application","alternative_solutions","article6_10_11_qualitative","test_reports"]},"risk_analysis":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"production_controls":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"}},"required":["catalog_revision","assessment_on","requirements","technical_elements","risk_analysis","production_controls","document_version"]},"PpwrConformityDossiersReviewInput":{"type":"object","properties":{"decision":{"type":"string","enum":["approved","rejected"],"description":"Validation rules: required; in:approved,rejected"},"reason":{"type":"string","minLength":1,"maxLength":2000,"description":"Decision rationale recorded in review history. Validation rules: required; string; min:1; max:2000"},"exception_legal_review":{"type":"object","description":"Validation rules: sometimes; array:scope_confirmed,conditions_confirmed,rationale","properties":{"scope_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"conditions_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"rationale":{"type":"string","minLength":80,"maxLength":5000,"description":"Validation rules: sometimes; string; min:80; max:5000"}}}},"required":["decision","reason"]},"PpwrReuseAssessment":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"assessment_note":{"type":"string"},"catalog_revision":{"type":"integer","description":"Packaging revision from catalogue GET, used to check freshness. "},"criteria":{"type":["object","array","null"],"additionalProperties":true,"items":{}},"intended_rotations":{"type":"integer"},"placed_on_market_on":{"type":["string","null"],"format":"date-time"},"record_version":{"type":"integer"},"review_note":{"type":["string","null"]},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. "},"reuse_system":{"type":["string","null"],"format":"uuid"},"catalog_item":{"type":["string","null"],"format":"uuid"},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. "}}},"PpwrReuseAssessmentsCreateInput":{"type":"object","properties":{"catalog_revision":{"type":"integer","minimum":1,"description":"Packaging revision from catalogue GET, used to check freshness. Validation rules: required; integer; min:1"},"system":{"type":"string","format":"uuid","description":"Validation rules: required; uuid"},"intended_rotations":{"type":"integer","description":"Validation rules: required; integer; between:2,1000000"},"placed_on_market_on":{"type":"string","format":"date","description":"Validation rules: required; date_format:Y-m-d"},"criteria":{"type":"object","description":"Validation rules: required; array:reuse_intent,rotation_design,consumer_safety,empty_without_damage,refill_product_safety,reconditionable,labelling_information,handler_safety,recyclable_at_end_of_life"},"assessment_note":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"}},"required":["catalog_revision","system","intended_rotations","placed_on_market_on","criteria","assessment_note","document_version"]},"PpwrReuseAssessmentsReviewInput":{"type":"object","properties":{"decision":{"type":"string","enum":["approved","rejected"],"description":"Validation rules: required; in:approved,rejected"},"reason":{"type":"string","minLength":1,"maxLength":2000,"description":"Decision rationale recorded in review history. Validation rules: required; string; min:1; max:2000"},"exception_legal_review":{"type":"object","description":"Validation rules: sometimes; array:scope_confirmed,conditions_confirmed,rationale","properties":{"scope_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"conditions_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"rationale":{"type":"string","minLength":80,"maxLength":5000,"description":"Validation rules: sometimes; string; min:80; max:5000"}}}},"required":["decision","reason"]},"PpwrReuseUnit":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"completed_rotations":{"type":"integer"},"last_event_on":{"type":["string","null"],"format":"date-time"},"registered_on":{"type":"string","format":"date-time"},"state":{"type":"string"},"unit_code":{"type":"string"},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. "},"reuse_assessment":{"type":["string","null"],"format":"uuid"},"catalog_item":{"type":["string","null"],"format":"uuid"}}},"PpwrReuseUnitsCreateInput":{"type":"object","properties":{"unit_code":{"type":"string","maxLength":100,"pattern":"^[\\pL\\pN ._\\\/-]+$","description":"Validation rules: required; string; max:100; regex:\/^[\\pL\\pN ._\\\/-]+$\/u"},"registered_on":{"type":"string","format":"date","description":"Validation rules: required; date_format:Y-m-d; before_or_equal:today"}},"required":["unit_code","registered_on"]},"PpwrRefillStation":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"name":{"type":"string"},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"assessed_on":{"type":"string","format":"date-time"},"container_supply":{"type":"string"},"criteria":{"type":["object","array","null"],"additionalProperties":true,"items":{}},"food_offered":{"type":"boolean"},"market_country":{"type":"string"},"nonfood_offered":{"type":"boolean"},"operation_note":{"type":"string"},"record_version":{"type":"integer"},"refill_area_m2":{"type":"string"},"review_note":{"type":["string","null"]},"rules_display_location":{"type":"string"},"sales_area_m2":{"type":"string"},"station_code":{"type":"string"},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. "}}},"PpwrRefillStationsCreateInput":{"type":"object","properties":{"station_code":{"type":"string","maxLength":100,"pattern":"^[\\pL\\pN ._\\\/-]+$","description":"Validation rules: required; string; max:100; regex:\/^[\\pL\\pN ._\\\/-]+$\/u"},"name":{"type":"string","minLength":2,"maxLength":255,"description":"Validation rules: required; string; min:2; max:255"},"market_country":{"type":"string","pattern":"^[A-Z]{2}$","description":"Validation rules: required; string; size:2; regex:\/^[A-Z]{2}$\/"},"assessed_on":{"type":"string","format":"date","description":"Validation rules: required; date_format:Y-m-d; before_or_equal:today"},"sales_area_m2":{"type":"string","pattern":"^\\d{1,12}(?:\\.\\d{1,4})?$","description":"Validation rules: required; string; regex:\/^\\d{1,12}(?:\\.\\d{1,4})?$\/"},"refill_area_m2":{"type":"string","pattern":"^\\d{1,12}(?:\\.\\d{1,4})?$","description":"Validation rules: required; string; regex:\/^\\d{1,12}(?:\\.\\d{1,4})?$\/"},"food_offered":{"type":"boolean","description":"Validation rules: required; boolean"},"nonfood_offered":{"type":"boolean","description":"Validation rules: required; boolean"},"container_supply":{"type":"string","enum":["not_offered","compliant_paid","deposit_system","other_review"],"description":"Validation rules: required; in:\"not_offered\",\"compliant_paid\",\"deposit_system\",\"other_review\""},"criteria":{"type":"object","description":"Validation rules: required; array:rules_container_types,rules_hygiene,rules_user_responsibility,station_hygiene_information,station_container_information,station_distributor_contact,station_quantity_choice,station_tare_exclusion,other_eu_requirements","x-api-map":true,"properties":{"rules_container_types":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"rules_hygiene":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"rules_user_responsibility":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"station_hygiene_information":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"station_container_information":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"station_distributor_contact":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"station_quantity_choice":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"station_tare_exclusion":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]},"other_eu_requirements":{"type":"object","description":"Validation rules: required; array:state,basis","properties":{"state":{"type":"string","enum":["unknown","demonstrated","not_demonstrated"],"description":"Validation rules: required; in:\"unknown\",\"demonstrated\",\"not_demonstrated\""},"basis":{"type":"string","minLength":10,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:10; max:3000"}},"required":["state","basis"]}},"required":["rules_container_types","rules_hygiene","rules_user_responsibility","station_hygiene_information","station_container_information","station_distributor_contact","station_quantity_choice","station_tare_exclusion","other_eu_requirements"]},"rules_display_location":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"operation_note":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"}},"required":["station_code","name","market_country","assessed_on","sales_area_m2","refill_area_m2","food_offered","nonfood_offered","container_supply","criteria","rules_display_location","operation_note","document_version"]},"PpwrRefillStationsReviewInput":{"type":"object","properties":{"decision":{"type":"string","enum":["approved","rejected"],"description":"Validation rules: required; in:approved,rejected"},"reason":{"type":"string","minLength":1,"maxLength":2000,"description":"Decision rationale recorded in review history. Validation rules: required; string; min:1; max:2000"},"exception_legal_review":{"type":"object","description":"Validation rules: sometimes; array:scope_confirmed,conditions_confirmed,rationale","properties":{"scope_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"conditions_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"rationale":{"type":"string","minLength":80,"maxLength":5000,"description":"Validation rules: sometimes; string; min:80; max:5000"}}}},"required":["decision","reason"]},"PpwrDepositSchemeAssessment":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"scheme_member_id":{"type":["string","null"],"description":"External membership identifier issued by the deposit scheme. "},"assessment_on":{"type":"string","format":"date-time"},"basis":{"type":"string","description":"Explanation of assessment basis\/evidence applicability, not merely an article number. "},"capacity_ml":{"type":"integer","description":"Capacity of one container in millilitres. "},"format":{"type":"string"},"item_revision":{"type":"integer","description":"Packaging revision captured by this record. "},"market_country":{"type":"string"},"national_exception":{"type":"string"},"product_exclusion":{"type":"string"},"record_version":{"type":"integer"},"review_note":{"type":["string","null"]},"scheme_name":{"type":["string","null"]},"scheme_state":{"type":"string","description":"Documented membership state, not a deposit balance. registered requires scheme name, member ID and evidence. "},"single_use":{"type":"boolean"},"data_version":{"type":["string","null"],"format":"uuid","description":"UUID of the immutable historical basis. Obtain from packaging history\/stock, not a document version number. "},"product_document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an approved document version supporting packaging\/product data. "},"scheme_document_version":{"type":["string","null"],"format":"uuid","description":"Document-version UUID evidencing deposit-scheme membership; required for registered. "},"national_rule_document_version":{"type":["string","null"],"format":"uuid","description":"Version UUID of a national-rule\/exception source; an exception code alone is insufficient. "},"catalog_item":{"type":["string","null"],"format":"uuid"}}},"PpwrDepositSchemesCreateInput":{"type":"object","properties":{"item":{"type":"string","format":"uuid","description":"Packaging UUID from the catalogue; historical projections may instead contain a packaging snapshot here. Validation rules: required; uuid"},"market_country":{"type":"string","pattern":"^[A-Z]{2}$","description":"Validation rules: required; regex:\/^[A-Z]{2}$\/"},"assessment_on":{"type":"string","format":"date","description":"Validation rules: required; date; before_or_equal:today"},"format":{"type":"string","enum":["plastic_bottle","metal_container","other"],"description":"Validation rules: required; in:\"plastic_bottle\",\"metal_container\",\"other\""},"single_use":{"type":"boolean","description":"Validation rules: required; boolean"},"capacity_ml":{"type":"integer","minimum":1,"maximum":100000,"description":"Capacity of one container in millilitres. Validation rules: required; integer; min:1; max:100000"},"product_exclusion":{"type":"string","enum":["none","wine_annex_vii_ii","aromatised_wine","similar_fruit_vegetable_wine","other_fermented_cn220600","spirits_cn2208","milk_dairy"],"description":"Validation rules: required; in:\"none\",\"wine_annex_vii_ii\",\"aromatised_wine\",\"similar_fruit_vegetable_wine\",\"other_fermented_cn220600\",\"spirits_cn2208\",\"milk_dairy\""},"national_exception":{"type":"string","enum":["none","under_100ml","state_drs_exemption"],"description":"Validation rules: required; in:\"none\",\"under_100ml\",\"state_drs_exemption\""},"scheme_state":{"type":"string","enum":["unknown","registered","not_registered"],"description":"Documented membership state, not a deposit balance. registered requires scheme name, member ID and evidence. Validation rules: required; in:\"unknown\",\"registered\",\"not_registered\""},"scheme_name":{"type":["string","null"],"maxLength":255,"description":"Validation rules: required_if:scheme_state,registered; nullable; string; max:255"},"scheme_member_id":{"type":["string","null"],"maxLength":255,"description":"External membership identifier issued by the deposit scheme. Validation rules: required_if:scheme_state,registered; nullable; string; max:255"},"product_document_version":{"type":"string","format":"uuid","description":"UUID of an approved document version supporting packaging\/product data. Validation rules: required; uuid"},"scheme_document_version":{"type":["string","null"],"format":"uuid","description":"Document-version UUID evidencing deposit-scheme membership; required for registered. Validation rules: required_if:scheme_state,registered; nullable; uuid"},"national_rule_document_version":{"type":["string","null"],"format":"uuid","description":"Version UUID of a national-rule\/exception source; an exception code alone is insufficient. Validation rules: required_unless:national_exception,none; nullable; uuid"},"basis":{"type":"string","minLength":20,"maxLength":5000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:20; max:5000"}},"required":["item","market_country","assessment_on","format","single_use","capacity_ml","product_exclusion","national_exception","scheme_state","product_document_version","basis"]},"PpwrDepositSchemesReviewInput":{"type":"object","properties":{"decision":{"type":"string","enum":["approved","rejected"],"description":"Validation rules: required; in:approved,rejected"},"reason":{"type":"string","minLength":1,"maxLength":2000,"description":"Decision rationale recorded in review history. Validation rules: required; string; min:1; max:2000"},"exception_legal_review":{"type":"object","description":"Validation rules: sometimes; array:scope_confirmed,conditions_confirmed,rationale","properties":{"scope_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"conditions_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"rationale":{"type":"string","minLength":80,"maxLength":5000,"description":"Validation rules: sometimes; string; min:80; max:5000"}}}},"required":["decision","reason"]},"PpwrPlantYearPcr":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"calendar_year":{"type":"integer"},"format_code":{"type":"string"},"pcr_mass_g":{"type":"string"},"plant_code":{"type":"string"},"ppwr_category_code":{"type":"string"},"record_version":{"type":"integer"},"review_note":{"type":["string","null"]},"total_plastic_mass_g":{"type":"string"},"use_class":{"type":"string"},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. "},"recorded_result":{"type":"object","additionalProperties":true,"description":"Result captured at review with date, method and hash, not a current recalculation. "}}},"PpwrPlantYearPcrCreateInput":{"type":"object","properties":{"plant_code":{"type":"string","maxLength":100,"pattern":"^[\\pL\\pN ._\\\/-]+$","description":"Validation rules: required; string; max:100; regex:\/^[\\pL\\pN ._\\\/-]+$\/u"},"calendar_year":{"type":"integer","description":"Validation rules: required; integer; between:2026,2100"},"ppwr_category_code":{"type":"string","description":"Validation rules: required; string"},"format_code":{"type":"string","maxLength":100,"pattern":"^[\\pL\\pN ._\\\/-]+$","description":"Validation rules: required; string; max:100; regex:\/^[\\pL\\pN ._\\\/-]+$\/u"},"use_class":{"type":"string","enum":["contact_sensitive_pet","contact_sensitive_other","single_use_beverage_bottle","other_plastic"],"description":"Validation rules: required; in:\"contact_sensitive_pet\",\"contact_sensitive_other\",\"single_use_beverage_bottle\",\"other_plastic\""},"total_plastic_mass_g":{"type":"number","maximum":99999999999999,"description":"Validation rules: required; numeric; decimal:0,6; gt:0; max:99999999999999"},"pcr_mass_g":{"type":"number","minimum":0,"maximum":99999999999999,"description":"Validation rules: required; numeric; decimal:0,6; min:0; max:99999999999999"},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"}},"required":["plant_code","calendar_year","ppwr_category_code","format_code","use_class","total_plastic_mass_g","pcr_mass_g","document_version"]},"PpwrPlantYearPcrReviewInput":{"type":"object","properties":{"decision":{"type":"string","enum":["approved","rejected"],"description":"Validation rules: required; in:approved,rejected"},"reason":{"type":"string","minLength":1,"maxLength":2000,"description":"Decision rationale recorded in review history. Validation rules: required; string; min:1; max:2000"},"exception_legal_review":{"type":"object","description":"Validation rules: sometimes; array:scope_confirmed,conditions_confirmed,rationale","properties":{"scope_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"conditions_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"rationale":{"type":"string","minLength":80,"maxLength":5000,"description":"Validation rules: sometimes; string; min:80; max:5000"}}}},"required":["decision","reason"]},"PpwrEprAuthorization":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"waste_framework_arrangements":{"type":["string","null"]},"collection_arrangements":{"type":["string","null"]},"partner_arrangements":{"type":["string","null"]},"sorting_capacity":{"type":["string","null"]},"financial_guarantee":{"type":["string","null"]},"applicant_type":{"type":"string"},"application_state":{"type":"string"},"authority_name":{"type":"string"},"authorization_number":{"type":["string","null"]},"basis":{"type":"string","description":"Explanation of assessment basis\/evidence applicability, not merely an article number. "},"complete_application_on":{"type":["string","null"],"format":"date-time"},"decided_on":{"type":["string","null"],"format":"date-time"},"market_country":{"type":"string"},"record_version":{"type":"integer"},"review_note":{"type":["string","null"]},"submitted_on":{"type":["string","null"],"format":"date-time"},"valid_until":{"type":["string","null"],"format":"date-time"},"guarantee_document_version":{"type":["string","null"],"format":"uuid"},"ppwr_epr_registration":{"type":["string","null"],"format":"uuid"},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. "}}},"PpwrEprAuthorizationsCreateInput":{"type":"object","properties":{"registration":{"type":"string","format":"uuid","description":"Validation rules: required; uuid"},"authority_name":{"type":"string","maxLength":255,"description":"Validation rules: required; string; max:255"},"application_state":{"type":"string","enum":["planned","submitted","authorized","refused","revoked"],"description":"Validation rules: required; in:\"planned\",\"submitted\",\"authorized\",\"refused\",\"revoked\""},"submitted_on":{"type":["string","null"],"format":"date","description":"Validation rules: required_unless:application_state,planned; nullable; date; before_or_equal:today"},"complete_application_on":{"type":["string","null"],"format":"date","description":"Validation rules: nullable; date; after_or_equal:submitted_on; before_or_equal:today"},"decided_on":{"type":["string","null"],"format":"date","description":"Validation rules: required_if:application_state,authorized,refused,revoked; nullable; date; after_or_equal:submitted_on; before_or_equal:today"},"authorization_number":{"type":["string","null"],"maxLength":255,"description":"Validation rules: required_if:application_state,authorized; nullable; string; max:255"},"valid_until":{"type":["string","null"],"format":"date","description":"Validation rules: nullable; date; after_or_equal:decided_on"},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"},"guarantee_document_version":{"type":["string","null"],"format":"uuid","description":"Validation rules: required_unless:application_state,planned; nullable; uuid"},"basis":{"type":"string","minLength":20,"maxLength":5000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:20; max:5000"},"waste_framework_arrangements":{"type":["string","null"],"maxLength":5000,"description":"Validation rules: required_unless:application_state,planned; nullable; string; max:5000"},"collection_arrangements":{"type":["string","null"],"maxLength":5000,"description":"Validation rules: required_unless:application_state,planned; nullable; string; max:5000"},"partner_arrangements":{"type":["string","null"],"maxLength":5000,"description":"Validation rules: required_unless:application_state,planned; nullable; string; max:5000"},"sorting_capacity":{"type":["string","null"],"maxLength":5000,"description":"Validation rules: required_unless:application_state,planned; nullable; string; max:5000"},"financial_guarantee":{"type":["string","null"],"maxLength":5000,"description":"Validation rules: required_unless:application_state,planned; nullable; string; max:5000"}},"required":["registration","authority_name","application_state","document_version","basis"]},"PpwrEprAuthorizationsReviewInput":{"type":"object","properties":{"decision":{"type":"string","enum":["approved","rejected"],"description":"Validation rules: required; in:approved,rejected"},"reason":{"type":"string","minLength":1,"maxLength":2000,"description":"Decision rationale recorded in review history. Validation rules: required; string; min:1; max:2000"},"exception_legal_review":{"type":"object","description":"Validation rules: sometimes; array:scope_confirmed,conditions_confirmed,rationale","properties":{"scope_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"conditions_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"rationale":{"type":"string","minLength":80,"maxLength":5000,"description":"Validation rules: sometimes; string; min:80; max:5000"}}}},"required":["decision","reason"]},"PpwrEprRegistration":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"tax_id":{"type":["string","null"]},"business_registration_id":{"type":["string","null"]},"pro_national_id":{"type":["string","null"]},"basis":{"type":"string","description":"Explanation of assessment basis\/evidence applicability, not merely an article number. "},"brands":{"type":["string","null"]},"contact_email":{"type":"string"},"epr_mode":{"type":"string"},"market_country":{"type":"string"},"postal_address":{"type":"string"},"pro_address":{"type":["string","null"]},"pro_email":{"type":["string","null"]},"pro_name":{"type":["string","null"]},"pro_phone":{"type":["string","null"]},"pro_website":{"type":["string","null"]},"producer_building_number":{"type":["string","null"]},"producer_city":{"type":["string","null"]},"producer_country":{"type":["string","null"]},"producer_name":{"type":"string"},"producer_phone":{"type":["string","null"]},"producer_postal_code":{"type":["string","null"]},"producer_street":{"type":["string","null"]},"producer_website":{"type":["string","null"]},"record_version":{"type":"integer"},"registered_on":{"type":["string","null"],"format":"date-time"},"registration_number":{"type":["string","null"]},"registration_state":{"type":"string"},"representative_address":{"type":["string","null"]},"representative_email":{"type":["string","null"]},"representative_name":{"type":["string","null"]},"representative_phone":{"type":["string","null"]},"review_note":{"type":["string","null"]},"truth_declaration":{"type":"boolean"},"mandate_document_version":{"type":["string","null"],"format":"uuid"},"pro_certificate_document_version":{"type":["string","null"],"format":"uuid"},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. "}}},"PpwrEprRegistrationsCreateInput":{"type":"object","properties":{"market_country":{"type":"string","pattern":"^[A-Z]{2}$","description":"Validation rules: required; regex:\/^[A-Z]{2}$\/"},"producer_name":{"type":"string","minLength":2,"maxLength":255,"description":"Validation rules: required; string; min:2; max:255"},"brands":{"type":["string","null"],"maxLength":255,"description":"Validation rules: nullable; string; max:255"},"tax_id":{"type":["string","null"],"maxLength":255,"description":"Validation rules: nullable; string; max:255"},"producer_postal_code":{"type":"string","maxLength":30,"description":"Validation rules: required; string; max:30"},"producer_city":{"type":"string","maxLength":255,"description":"Validation rules: required; string; max:255"},"producer_street":{"type":"string","maxLength":255,"description":"Validation rules: required; string; max:255"},"producer_building_number":{"type":"string","maxLength":30,"description":"Validation rules: required; string; max:30"},"producer_country":{"type":"string","pattern":"^[A-Z]{2}$","description":"Validation rules: required; regex:\/^[A-Z]{2}$\/"},"producer_phone":{"type":["string","null"],"maxLength":60,"description":"Validation rules: nullable; string; max:60"},"producer_website":{"type":["string","null"],"maxLength":255,"description":"Validation rules: nullable; url; max:255"},"business_registration_id":{"type":["string","null"],"maxLength":255,"description":"Validation rules: nullable; string; max:255; required_without:tax_id"},"contact_email":{"type":"string","format":"email","maxLength":255,"description":"Validation rules: required; email; max:255"},"epr_mode":{"type":"string","enum":["individual","pro"],"description":"Validation rules: required; in:\"individual\",\"pro\""},"pro_name":{"type":["string","null"],"maxLength":255,"description":"Validation rules: nullable; string; max:255"},"representative_name":{"type":["string","null"],"maxLength":255,"description":"Validation rules: nullable; string; max:255"},"representative_address":{"type":["string","null"],"maxLength":2000,"description":"Validation rules: required_with:representative_name; nullable; string; max:2000"},"representative_phone":{"type":["string","null"],"maxLength":60,"description":"Validation rules: required_with:representative_name; nullable; string; max:60"},"representative_email":{"type":["string","null"],"format":"email","maxLength":255,"description":"Validation rules: required_with:representative_name; nullable; email; max:255"},"pro_address":{"type":["string","null"],"maxLength":2000,"description":"Validation rules: required_if:epr_mode,pro; nullable; string; max:2000"},"pro_phone":{"type":["string","null"],"maxLength":60,"description":"Validation rules: required_if:epr_mode,pro; nullable; string; max:60"},"pro_email":{"type":["string","null"],"format":"email","maxLength":255,"description":"Validation rules: required_if:epr_mode,pro; nullable; email; max:255"},"pro_website":{"type":["string","null"],"maxLength":255,"description":"Validation rules: nullable; url; max:255"},"pro_national_id":{"type":["string","null"],"maxLength":255,"description":"Validation rules: required_if:epr_mode,pro; nullable; string; max:255"},"mandate_document_version":{"type":["string","null"],"format":"uuid","description":"Validation rules: required_if:epr_mode,pro; required_with:representative_name; nullable; uuid"},"pro_certificate_document_version":{"type":["string","null"],"format":"uuid","description":"Validation rules: required_if:epr_mode,pro; nullable; uuid"},"truth_declaration":{"type":"string","description":"Validation rules: required; accepted"},"registration_number":{"type":["string","null"],"maxLength":255,"description":"Validation rules: nullable; string; max:255"},"registration_state":{"type":"string","enum":["planned","submitted","registered","ceased"],"description":"Validation rules: required; in:\"planned\",\"submitted\",\"registered\",\"ceased\""},"registered_on":{"type":["string","null"],"format":"date","description":"Validation rules: nullable; date; before_or_equal:today"},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"},"basis":{"type":"string","minLength":20,"maxLength":5000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:20; max:5000"}},"required":["market_country","producer_name","producer_postal_code","producer_city","producer_street","producer_building_number","producer_country","contact_email","epr_mode","truth_declaration","registration_state","document_version","basis"]},"PpwrEprRegistrationsReviewInput":{"type":"object","properties":{"decision":{"type":"string","enum":["approved","rejected"],"description":"Validation rules: required; in:approved,rejected"},"reason":{"type":"string","minLength":1,"maxLength":2000,"description":"Decision rationale recorded in review history. Validation rules: required; string; min:1; max:2000"},"exception_legal_review":{"type":"object","description":"Validation rules: sometimes; array:scope_confirmed,conditions_confirmed,rationale","properties":{"scope_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"conditions_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"rationale":{"type":"string","minLength":80,"maxLength":5000,"description":"Validation rules: sometimes; string; min:80; max:5000"}}}},"required":["decision","reason"]},"PpwrEprAnnualReport":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"national_producer_id":{"type":"string"},"epr_arrangement":{"type":"string"},"market_country":{"type":"string"},"national_rule_basis":{"type":["string","null"]},"national_simplified_threshold_g":{"type":["string","null"]},"period_end":{"type":["string","null"],"format":"date-time"},"period_start":{"type":["string","null"],"format":"date-time"},"record_version":{"type":"integer"},"report_year":{"type":"integer"},"reporting_variant":{"type":"string"},"review_note":{"type":["string","null"]},"scope_note":{"type":"string"},"national_rule_document_version":{"type":["string","null"],"format":"uuid","description":"Version UUID of a national-rule\/exception source; an exception code alone is insufficient. "},"ppwr_epr_registration":{"type":["string","null"],"format":"uuid"},"recorded_result":{"type":"object","additionalProperties":true,"description":"Result captured at review with date, method and hash, not a current recalculation. "}}},"PpwrEprReportsCreateInput":{"type":"object","properties":{"registration":{"type":"string","format":"uuid","description":"Validation rules: required; uuid"},"report_year":{"type":"integer","description":"Validation rules: required; integer; between:2026,2100"},"period_start":{"type":"string","format":"date","description":"Validation rules: required; date"},"period_end":{"type":"string","format":"date","description":"Validation rules: required; date; after_or_equal:period_start"},"national_producer_id":{"type":"string","maxLength":255,"description":"Validation rules: required; string; max:255"},"epr_arrangement":{"type":"string","minLength":3,"maxLength":255,"description":"Validation rules: required; string; min:3; max:255"},"reporting_variant":{"type":"string","enum":["full","simplified"],"description":"Validation rules: required; in:\"full\",\"simplified\""},"national_rule_basis":{"type":["string","null"],"minLength":20,"maxLength":5000,"description":"Validation rules: nullable; string; min:20; max:5000"},"national_rule_document_version":{"type":["string","null"],"format":"uuid","description":"Version UUID of a national-rule\/exception source; an exception code alone is insufficient. Validation rules: nullable; uuid"},"national_simplified_threshold_g":{"type":["string","null"],"pattern":"^\\d{1,18}(?:\\.\\d{1,6})?$","description":"Validation rules: nullable; string; regex:\/^\\d{1,18}(?:\\.\\d{1,6})?$\/"},"scope_note":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"}},"required":["registration","report_year","period_start","period_end","national_producer_id","epr_arrangement","reporting_variant","scope_note"]},"PpwrEprReportsReviewInput":{"type":"object","properties":{"decision":{"type":"string","enum":["approved","rejected"],"description":"Validation rules: required; in:approved,rejected"},"reason":{"type":"string","minLength":1,"maxLength":2000,"description":"Decision rationale recorded in review history. Validation rules: required; string; min:1; max:2000"},"exception_legal_review":{"type":"object","description":"Validation rules: sometimes; array:scope_confirmed,conditions_confirmed,rationale","properties":{"scope_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"conditions_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"rationale":{"type":"string","minLength":80,"maxLength":5000,"description":"Validation rules: sometimes; string; min:80; max:5000"}}}},"required":["decision","reason"]},"PpwrWasteAnnualReport":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"market_country":{"type":"string"},"operator_name":{"type":"string"},"record_version":{"type":"integer"},"report_year":{"type":"integer"},"review_note":{"type":["string","null"]},"scope_note":{"type":"string"},"recorded_result":{"type":"object","additionalProperties":true,"description":"Result captured at review with date, method and hash, not a current recalculation. "}}},"PpwrWasteReportsCreateInput":{"type":"object","properties":{"report_year":{"type":"integer","description":"Validation rules: required; integer; between:2026,2100"},"market_country":{"type":"string","pattern":"^[A-Z]{2}$","description":"Validation rules: required; string; size:2; regex:\/^[A-Z]{2}$\/"},"operator_name":{"type":"string","minLength":2,"maxLength":255,"description":"Validation rules: required; string; min:2; max:255"},"scope_note":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"}},"required":["report_year","market_country","operator_name","scope_note"]},"PpwrWasteReportsReviewInput":{"type":"object","properties":{"decision":{"type":"string","enum":["approved","rejected"],"description":"Validation rules: required; in:approved,rejected"},"reason":{"type":"string","minLength":1,"maxLength":2000,"description":"Decision rationale recorded in review history. Validation rules: required; string; min:1; max:2000"},"exception_legal_review":{"type":"object","description":"Validation rules: sometimes; array:scope_confirmed,conditions_confirmed,rationale","properties":{"scope_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"conditions_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"rationale":{"type":"string","minLength":80,"maxLength":5000,"description":"Validation rules: sometimes; string; min:80; max:5000"}}}},"required":["decision","reason"]},"PpwrEndUserInformation":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"packaging_scope":{"type":"string"},"prevention_information":{"type":"string"},"reuse_information":{"type":"string"},"collection_information":{"type":"string"},"label_information":{"type":"string"},"improper_disposal_information":{"type":"string"},"actor_role":{"type":"string"},"basis":{"type":"string","description":"Explanation of assessment basis\/evidence applicability, not merely an article number. "},"compostability_information":{"type":["string","null"]},"compostable_in_scope":{"type":"boolean"},"language_code":{"type":"string"},"market_country":{"type":"string"},"publication_channel":{"type":"string"},"publication_url":{"type":["string","null"]},"published_on":{"type":["string","null"],"format":"date-time"},"record_version":{"type":"integer"},"review_note":{"type":["string","null"]},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. "}}},"PpwrEndUserInformationCreateInput":{"type":"object","properties":{"market_country":{"type":"string","pattern":"^[A-Z]{2}$","description":"Validation rules: required; regex:\/^[A-Z]{2}$\/"},"actor_role":{"type":"string","enum":["producer","pro"],"description":"Validation rules: required; in:\"producer\",\"pro\""},"packaging_scope":{"type":"string","minLength":10,"maxLength":5000,"description":"Validation rules: required; string; min:10; max:5000"},"compostable_in_scope":{"type":"boolean","description":"Validation rules: required; boolean"},"compostability_information":{"type":["string","null"],"maxLength":5000,"description":"Validation rules: required_if:compostable_in_scope,1; nullable; string; max:5000"},"publication_channel":{"type":"string","enum":["website","public_information","education","guidance"],"description":"Validation rules: required; in:\"website\",\"public_information\",\"education\",\"guidance\""},"publication_url":{"type":["string","null"],"maxLength":2048,"description":"Validation rules: required_if:publication_channel,website; nullable; url; max:2048"},"published_on":{"type":["string","null"],"format":"date","description":"Validation rules: nullable; date; before_or_equal:today"},"language_code":{"type":"string","pattern":"^[a-z]{2}(?:-[A-Z]{2})?$","description":"Validation rules: required; string; regex:\/^[a-z]{2}(?:-[A-Z]{2})?$\/"},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"},"basis":{"type":"string","minLength":20,"maxLength":5000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:20; max:5000"},"prevention_information":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"reuse_information":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"collection_information":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"label_information":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"improper_disposal_information":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"}},"required":["market_country","actor_role","packaging_scope","compostable_in_scope","publication_channel","language_code","document_version","basis","prevention_information","reuse_information","collection_information","label_information","improper_disposal_information"]},"PpwrEndUserInformationReviewInput":{"type":"object","properties":{"decision":{"type":"string","enum":["approved","rejected"],"description":"Validation rules: required; in:approved,rejected"},"reason":{"type":"string","minLength":1,"maxLength":2000,"description":"Decision rationale recorded in review history. Validation rules: required; string; min:1; max:2000"},"exception_legal_review":{"type":"object","description":"Validation rules: sometimes; array:scope_confirmed,conditions_confirmed,rationale","properties":{"scope_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"conditions_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"rationale":{"type":"string","minLength":80,"maxLength":5000,"description":"Validation rules: sometimes; string; min:80; max:5000"}}}},"required":["decision","reason"]},"PpwrHorecaAssessment":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"assessed_on":{"type":"string","format":"date-time"},"basis":{"type":"string","description":"Explanation of assessment basis\/evidence applicability, not merely an article number. "},"customer_container_price_terms":{"type":"string"},"customer_container_signage":{"type":"string"},"customer_container_system":{"type":"string"},"market_country":{"type":"string"},"microenterprise_2025_02_11":{"type":"string"},"offers_takeaway_beverages":{"type":"boolean"},"offers_takeaway_food":{"type":"boolean"},"point_code":{"type":"string"},"products_offered":{"type":["integer","null"]},"products_offered_reusable":{"type":["integer","null"]},"record_version":{"type":"integer"},"reusable_price_terms":{"type":"string"},"reusable_signage":{"type":"string"},"reusable_system":{"type":"string"},"review_note":{"type":["string","null"]},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. "}}},"PpwrHorecaCreateInput":{"type":"object","properties":{"point_code":{"type":"string","minLength":2,"maxLength":100,"description":"Validation rules: required; string; min:2; max:100"},"market_country":{"type":"string","pattern":"^[A-Z]{2}$","description":"Validation rules: required; regex:\/^[A-Z]{2}$\/"},"assessed_on":{"type":"string","format":"date","description":"Validation rules: required; date; before_or_equal:today"},"offers_takeaway_beverages":{"type":"boolean","description":"Validation rules: required; boolean"},"offers_takeaway_food":{"type":"boolean","description":"Validation rules: required; boolean"},"products_offered":{"type":["integer","null"],"minimum":0,"maximum":1000000000,"description":"Validation rules: nullable; integer; min:0; max:1000000000"},"products_offered_reusable":{"type":["integer","null"],"minimum":0,"maximum":1000000000,"description":"Validation rules: nullable; integer; min:0; max:1000000000"},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"},"basis":{"type":"string","minLength":20,"maxLength":5000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:20; max:5000"},"customer_container_system":{"type":"string","enum":["yes","no","unknown"],"description":"Validation rules: required; in:\"yes\",\"no\",\"unknown\""},"customer_container_signage":{"type":"string","enum":["yes","no","unknown"],"description":"Validation rules: required; in:\"yes\",\"no\",\"unknown\""},"customer_container_price_terms":{"type":"string","enum":["yes","no","unknown"],"description":"Validation rules: required; in:\"yes\",\"no\",\"unknown\""},"reusable_system":{"type":"string","enum":["yes","no","unknown"],"description":"Validation rules: required; in:\"yes\",\"no\",\"unknown\""},"reusable_signage":{"type":"string","enum":["yes","no","unknown"],"description":"Validation rules: required; in:\"yes\",\"no\",\"unknown\""},"reusable_price_terms":{"type":"string","enum":["yes","no","unknown"],"description":"Validation rules: required; in:\"yes\",\"no\",\"unknown\""},"microenterprise_2025_02_11":{"type":"string","enum":["yes","no","unknown"],"description":"Validation rules: required; in:\"yes\",\"no\",\"unknown\""}},"required":["point_code","market_country","assessed_on","offers_takeaway_beverages","offers_takeaway_food","document_version","basis","customer_container_system","customer_container_signage","customer_container_price_terms","reusable_system","reusable_signage","reusable_price_terms","microenterprise_2025_02_11"]},"PpwrHorecaReviewInput":{"type":"object","properties":{"decision":{"type":"string","enum":["approved","rejected"],"description":"Validation rules: required; in:approved,rejected"},"reason":{"type":"string","minLength":1,"maxLength":2000,"description":"Decision rationale recorded in review history. Validation rules: required; string; min:1; max:2000"},"exception_legal_review":{"type":"object","description":"Validation rules: sometimes; array:scope_confirmed,conditions_confirmed,rationale","properties":{"scope_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"conditions_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"rationale":{"type":"string","minLength":80,"maxLength":5000,"description":"Validation rules: sometimes; string; min:80; max:5000"}}}},"required":["decision","reason"]},"PpwrReuseSystem":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"name":{"type":"string"},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"criteria":{"type":["object","array","null"],"additionalProperties":true,"items":{}},"established_on":{"type":["string","null"],"format":"date-time"},"operating_note":{"type":"string"},"operator_name":{"type":["string","null"]},"record_version":{"type":"integer"},"review_note":{"type":["string","null"]},"system_code":{"type":"string"},"system_type":{"type":"string"},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. "}}},"PpwrReuseSystemsCreateInput":{"type":"object","properties":{"system_code":{"type":"string","maxLength":100,"pattern":"^[\\pL\\pN ._\\\/-]+$","description":"Validation rules: required; string; max:100; regex:\/^[\\pL\\pN ._\\\/-]+$\/u"},"name":{"type":"string","maxLength":255,"description":"Validation rules: required; string; max:255"},"system_type":{"type":"string","enum":["open","closed"],"description":"Validation rules: required; in:\"open\",\"closed\""},"operator_name":{"type":["string","null"],"maxLength":255,"description":"Validation rules: nullable; string; max:255"},"established_on":{"type":"string","format":"date","description":"Validation rules: required; date_format:Y-m-d; before_or_equal:today"},"criteria":{"type":"object","description":"Validation rules: required; array:governance,system_goals,equal_access,end_user_access,rotation_capacity,participant_rules,accepted_packaging,accepted_products,handling_rules,reconditioning_rules,collection_rules,storage_rules,filling_rules,return_incentives,vulnerable_access,operator_control,reporting,design_specs,cost_sharing,epr,reverse_logistics,collection_reconditioning_redistribution,take_back,open_reuse_or_transfer,open_collection_access,open_reconditioning,reconditioning_safety,reconditioning_environment,reconditioning_applicable_law,reconditioning_condition_assessment,reconditioning_damaged_parts,reconditioning_recovery,reconditioning_cleaning,reconditioning_repair,reconditioning_function_test,reconditioning_repeat_cleaning,reconditioned_product_safety"},"operating_note":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"}},"required":["system_code","name","system_type","established_on","criteria","operating_note","document_version"]},"PpwrReuseSystemsReviewInput":{"type":"object","properties":{"decision":{"type":"string","enum":["approved","rejected"],"description":"Validation rules: required; in:approved,rejected"},"reason":{"type":"string","minLength":1,"maxLength":2000,"description":"Decision rationale recorded in review history. Validation rules: required; string; min:1; max:2000"},"exception_legal_review":{"type":"object","description":"Validation rules: sometimes; array:scope_confirmed,conditions_confirmed,rationale","properties":{"scope_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"conditions_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"rationale":{"type":"string","minLength":80,"maxLength":5000,"description":"Validation rules: sometimes; string; min:80; max:5000"}}}},"required":["decision","reason"]},"ReuseMarketConfirmation":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"market_country":{"type":"string"},"operation_note":{"type":"string"},"operation_started_on":{"type":"string","format":"date-time"},"participant_name":{"type":"string"},"participation_confirmed_on":{"type":"string","format":"date-time"},"record_version":{"type":"integer"},"review_note":{"type":["string","null"]},"system_code":{"type":"string"},"participation_document_version":{"type":["string","null"],"format":"uuid"},"operation_document_version":{"type":["string","null"],"format":"uuid"}}},"PpwrReuseMarketConfirmationsCreateInput":{"type":"object","properties":{"system":{"type":"string","format":"uuid","description":"Validation rules: required; uuid"},"market_country":{"type":"string","enum":["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE"],"description":"Validation rules: required; in:\"AT\",\"BE\",\"BG\",\"HR\",\"CY\",\"CZ\",\"DK\",\"EE\",\"FI\",\"FR\",\"DE\",\"GR\",\"HU\",\"IE\",\"IT\",\"LV\",\"LT\",\"LU\",\"MT\",\"NL\",\"PL\",\"PT\",\"RO\",\"SK\",\"SI\",\"ES\",\"SE\""},"participant_name":{"type":"string","minLength":3,"maxLength":160,"description":"Validation rules: required; string; min:3; max:160"},"participation_confirmed_on":{"type":"string","format":"date","description":"Validation rules: required; date_format:Y-m-d; before_or_equal:today"},"operation_started_on":{"type":"string","format":"date","description":"Validation rules: required; date_format:Y-m-d; before_or_equal:today"},"participation_document_version":{"type":"string","format":"uuid","description":"Validation rules: required; uuid"},"operation_document_version":{"type":"string","format":"uuid","description":"Validation rules: required; uuid"},"operation_note":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"}},"required":["system","market_country","participant_name","participation_confirmed_on","operation_started_on","participation_document_version","operation_document_version","operation_note"]},"PpwrReuseMarketConfirmationsReviewInput":{"type":"object","properties":{"decision":{"type":"string","enum":["approved","rejected"],"description":"Validation rules: required; in:approved,rejected"},"reason":{"type":"string","minLength":1,"maxLength":2000,"description":"Decision rationale recorded in review history. Validation rules: required; string; min:1; max:2000"},"exception_legal_review":{"type":"object","description":"Validation rules: sometimes; array:scope_confirmed,conditions_confirmed,rationale","properties":{"scope_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"conditions_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"rationale":{"type":"string","minLength":80,"maxLength":5000,"description":"Validation rules: sometimes; string; min:80; max:5000"}}}},"required":["decision","reason"]},"PpwrReuseTargetDataset":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"calendar_year":{"type":"integer"},"exceptions_note":{"type":"string"},"market_country":{"type":"string"},"measure_unit":{"type":"string"},"record_kind":{"type":"string"},"record_version":{"type":"integer"},"review_note":{"type":["string","null"]},"scope_note":{"type":"string"},"target_code":{"type":"string"},"recorded_result":{"type":"object","additionalProperties":true,"description":"Result captured at review with date, method and hash, not a current recalculation. "}}},"PpwrReuseTargetsCreateInput":{"type":"object","properties":{"calendar_year":{"type":"integer","description":"Validation rules: required; integer; between:2026,2100"},"market_country":{"type":"string","pattern":"^[A-Z]{2}$","description":"Validation rules: required; string; size:2; regex:\/^[A-Z]{2}$\/"},"target_code":{"type":"string","enum":["transport_overall","intra_group_transport","domestic_b2b_transport","grouped_boxes","retail_beverages"],"description":"Validation rules: required; in:\"transport_overall\",\"intra_group_transport\",\"domestic_b2b_transport\",\"grouped_boxes\",\"retail_beverages\""},"record_kind":{"type":"string","enum":["forecast","actual"],"description":"Validation rules: required; in:\"forecast\",\"actual\""},"measure_unit":{"type":"string","enum":["equivalent_units","sales_units","volume_ml"],"description":"Validation rules: required; in:\"equivalent_units\",\"sales_units\",\"volume_ml\""},"scope_note":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"exceptions_note":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"}},"required":["calendar_year","market_country","target_code","record_kind","measure_unit","scope_note","exceptions_note"]},"PpwrReuseTargetsReviewInput":{"type":"object","properties":{"decision":{"type":"string","enum":["approved","rejected"],"description":"Validation rules: required; in:approved,rejected"},"reason":{"type":"string","minLength":1,"maxLength":2000,"description":"Decision rationale recorded in review history. Validation rules: required; string; min:1; max:2000"},"exception_legal_review":{"type":"object","description":"Validation rules: sometimes; array:scope_confirmed,conditions_confirmed,rationale","properties":{"scope_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"conditions_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"rationale":{"type":"string","minLength":80,"maxLength":5000,"description":"Validation rules: sometimes; string; min:80; max:5000"}}}},"required":["decision","reason"]},"PpwrEprReportLine":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"basis":{"type":"string","description":"Explanation of assessment basis\/evidence applicability, not merely an article number. "},"category_code":{"type":"string"},"mass_g":{"type":"string","description":"Mass in grams. Per-unit for packaging\/components; reporting flows use their own mass semantics. "},"ppwr_epr_annual_report":{"type":["string","null"],"format":"uuid"},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. "}}},"PpwrEprReportLinesCreateInput":{"type":"object","properties":{"category_code":{"type":"string","maxLength":40,"description":"Validation rules: required; string; max:40"},"mass_g":{"type":"string","pattern":"^\\d{1,18}(?:\\.\\d{1,6})?$","description":"Mass in grams. Per-unit for packaging\/components; reporting flows use their own mass semantics. Validation rules: required; string; regex:\/^\\d{1,18}(?:\\.\\d{1,6})?$\/"},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"},"basis":{"type":"string","minLength":20,"maxLength":5000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:20; max:5000"}},"required":["category_code","mass_g","document_version","basis"]},"PpwrWasteReportLine":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"first_market_or_unpacked_g":{"type":["string","null"]},"waste_generated_g":{"type":"string"},"disposed_domestic_g":{"type":"string"},"recovered_domestic_g":{"type":"string"},"disposed_abroad_g":{"type":"string"},"recovered_abroad_g":{"type":"string"},"recycled_abroad_g":{"type":"string"},"basis":{"type":"string","description":"Explanation of assessment basis\/evidence applicability, not merely an article number. "},"category_code":{"type":"string"},"recycled_domestic_g":{"type":"string"},"ppwr_waste_annual_report":{"type":["string","null"],"format":"uuid"},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. "}}},"PpwrWasteReportLinesCreateInput":{"type":"object","properties":{"category_code":{"type":"string","enum":["pet_rigid","pe_pp_rigid","flexible_plastic","ps_xps_eps","other_rigid_plastic","biodegradable_plastic","paper_except_liquid","liquid_board","aluminium","steel","glass","wood_cork","other"],"description":"Validation rules: required; in:\"pet_rigid\",\"pe_pp_rigid\",\"flexible_plastic\",\"ps_xps_eps\",\"other_rigid_plastic\",\"biodegradable_plastic\",\"paper_except_liquid\",\"liquid_board\",\"aluminium\",\"steel\",\"glass\",\"wood_cork\",\"other\""},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"},"basis":{"type":"string","minLength":20,"maxLength":5000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:20; max:5000"},"first_market_or_unpacked_g":{"type":["string","null"],"pattern":"^\\d{1,18}(?:\\.\\d{1,6})?$","description":"Validation rules: nullable; string; regex:\/^\\d{1,18}(?:\\.\\d{1,6})?$\/"},"waste_generated_g":{"type":"string","pattern":"^\\d{1,18}(?:\\.\\d{1,6})?$","description":"Validation rules: required; string; regex:\/^\\d{1,18}(?:\\.\\d{1,6})?$\/"},"disposed_domestic_g":{"type":"string","pattern":"^\\d{1,18}(?:\\.\\d{1,6})?$","description":"Validation rules: required; string; regex:\/^\\d{1,18}(?:\\.\\d{1,6})?$\/"},"recovered_domestic_g":{"type":"string","pattern":"^\\d{1,18}(?:\\.\\d{1,6})?$","description":"Validation rules: required; string; regex:\/^\\d{1,18}(?:\\.\\d{1,6})?$\/"},"recycled_domestic_g":{"type":"string","pattern":"^\\d{1,18}(?:\\.\\d{1,6})?$","description":"Validation rules: required; string; regex:\/^\\d{1,18}(?:\\.\\d{1,6})?$\/"},"disposed_abroad_g":{"type":"string","pattern":"^\\d{1,18}(?:\\.\\d{1,6})?$","description":"Validation rules: required; string; regex:\/^\\d{1,18}(?:\\.\\d{1,6})?$\/"},"recovered_abroad_g":{"type":"string","pattern":"^\\d{1,18}(?:\\.\\d{1,6})?$","description":"Validation rules: required; string; regex:\/^\\d{1,18}(?:\\.\\d{1,6})?$\/"},"recycled_abroad_g":{"type":"string","pattern":"^\\d{1,18}(?:\\.\\d{1,6})?$","description":"Validation rules: required; string; regex:\/^\\d{1,18}(?:\\.\\d{1,6})?$\/"}},"required":["category_code","document_version","basis","waste_generated_g","disposed_domestic_g","recovered_domestic_g","recycled_domestic_g","disposed_abroad_g","recovered_abroad_g","recycled_abroad_g"]},"PpwrReuseTargetLine":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"basis":{"type":"string","description":"Explanation of assessment basis\/evidence applicability, not merely an article number. "},"format_code":{"type":"string"},"other_amount":{"type":"string"},"reusable_amount":{"type":"string"},"ppwr_reuse_target_dataset":{"type":["string","null"],"format":"uuid"},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. "}}},"PpwrReuseTargetLinesCreateInput":{"type":"object","properties":{"format_code":{"type":"string","enum":["pallet","foldable_plastic_box","box","tray","plastic_crate","ibc","pail","drum","canister","flexible","pallet_wrapping","strap","grouped_box","beverage_sales"],"description":"Validation rules: required; in:\"pallet\",\"foldable_plastic_box\",\"box\",\"tray\",\"plastic_crate\",\"ibc\",\"pail\",\"drum\",\"canister\",\"flexible\",\"pallet_wrapping\",\"strap\",\"grouped_box\",\"beverage_sales\""},"reusable_amount":{"type":"string","pattern":"^\\d{1,18}(?:\\.\\d{1,6})?$","description":"Validation rules: required; string; regex:\/^\\d{1,18}(?:\\.\\d{1,6})?$\/"},"other_amount":{"type":"string","pattern":"^\\d{1,18}(?:\\.\\d{1,6})?$","description":"Validation rules: required; string; regex:\/^\\d{1,18}(?:\\.\\d{1,6})?$\/"},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"},"basis":{"type":"string","minLength":20,"maxLength":5000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:20; max:5000"}},"required":["format_code","reusable_amount","other_amount","document_version","basis"]},"PpwrReuseUnitEvent":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"basis":{"type":"string","description":"Explanation of assessment basis\/evidence applicability, not merely an article number. "},"event_number":{"type":"integer"},"event_on":{"type":"string","format":"date-time","description":"Actual event date in YYYY-MM-DD format. "},"event_type":{"type":"string"},"review_note":{"type":["string","null"]},"reuse_unit":{"type":["string","null"],"format":"uuid"},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. "}}},"PpwrReuseUnitEventsCreateInput":{"type":"object","properties":{"event_type":{"type":"string","enum":["dispatched","returned","ready","retired"],"description":"Validation rules: required; in:\"dispatched\",\"returned\",\"ready\",\"retired\""},"event_on":{"type":"string","format":"date","description":"Actual event date in YYYY-MM-DD format. Validation rules: required; date_format:Y-m-d; before_or_equal:today"},"basis":{"type":"string","minLength":20,"maxLength":3000,"description":"Explanation of assessment basis\/evidence applicability, not merely an article number. Validation rules: required; string; min:20; max:3000"},"document_version":{"type":"string","format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required; uuid"}},"required":["event_type","event_on","basis","document_version"]},"PpwrReuseUnitEventsReviewInput":{"type":"object","properties":{"decision":{"type":"string","enum":["approved","rejected"],"description":"Validation rules: required; in:approved,rejected"},"reason":{"type":"string","minLength":1,"maxLength":2000,"description":"Decision rationale recorded in review history. Validation rules: required; string; min:1; max:2000"},"exception_legal_review":{"type":"object","description":"Validation rules: sometimes; array:scope_confirmed,conditions_confirmed,rationale","properties":{"scope_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"conditions_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"rationale":{"type":"string","minLength":80,"maxLength":5000,"description":"Validation rules: sometimes; string; min:80; max:5000"}}}},"required":["decision","reason"]},"PpwrAuthorityResponse":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"delivered_on":{"type":"string","format":"date-time"},"delivery_channel":{"type":"string"},"response_summary":{"type":"string"},"review_note":{"type":["string","null"]},"response_document_version":{"type":["string","null"],"format":"uuid"},"delivery_proof_version":{"type":["string","null"],"format":"uuid"},"ppwr_authority_request":{"type":["string","null"],"format":"uuid"}}},"PpwrAuthorityResponsesCreateInput":{"type":"object","properties":{"response_summary":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"delivered_on":{"type":"string","format":"date","description":"Validation rules: required; date; before_or_equal:today"},"delivery_channel":{"type":"string","enum":["electronic","paper","both"],"description":"Validation rules: required; in:\"electronic\",\"paper\",\"both\""},"response_document_version":{"type":"string","format":"uuid","description":"Validation rules: required; uuid"},"delivery_proof_version":{"type":"string","format":"uuid","description":"Validation rules: required; uuid"}},"required":["response_summary","delivered_on","delivery_channel","response_document_version","delivery_proof_version"]},"PpwrAuthorityResponsesReviewInput":{"type":"object","properties":{"decision":{"type":"string","enum":["approved","rejected"],"description":"Validation rules: required; in:approved,rejected"},"reason":{"type":"string","minLength":1,"maxLength":2000,"description":"Decision rationale recorded in review history. Validation rules: required; string; min:1; max:2000"},"exception_legal_review":{"type":"object","description":"Validation rules: sometimes; array:scope_confirmed,conditions_confirmed,rationale","properties":{"scope_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"conditions_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"rationale":{"type":"string","minLength":80,"maxLength":5000,"description":"Validation rules: sometimes; string; min:80; max:5000"}}}},"required":["decision","reason"]},"PpwrFormalCaseEvent":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"action_kind":{"type":["string","null"]},"affected_markets":{"type":["object","array","null"],"additionalProperties":true,"items":{}},"event_type":{"type":"string"},"note":{"type":"string"},"ppwr_formal_case":{"type":["string","null"],"format":"uuid"},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. "}}},"PpwrFormalCaseEventsCreateInput":{"type":"object","properties":{"event_type":{"type":"string","enum":["action_recorded","response_recorded","authority_decision_recorded","closed_internal"],"description":"Validation rules: required; in:\"action_recorded\",\"response_recorded\",\"authority_decision_recorded\",\"closed_internal\""},"note":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"document_version":{"type":["string","null"],"format":"uuid","description":"UUID of an evidence document version, not the document itself. The register validates required statuses. Validation rules: required_unless:event_type,closed_internal; nullable; uuid"},"action_kind":{"type":["string","null"],"enum":["bring_into_compliance","remove_risk","withdraw","recall",null],"description":"Validation rules: nullable; in:\"bring_into_compliance\",\"remove_risk\",\"withdraw\",\"recall\""},"affected_markets":{"type":"array","items":{"type":"string","enum":["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE"],"description":"Validation rules: in:\"AT\",\"BE\",\"BG\",\"HR\",\"CY\",\"CZ\",\"DK\",\"EE\",\"FI\",\"FR\",\"DE\",\"GR\",\"HU\",\"IE\",\"IT\",\"LV\",\"LT\",\"LU\",\"MT\",\"NL\",\"PL\",\"PT\",\"RO\",\"SK\",\"SI\",\"ES\",\"SE\""},"minItems":1,"maxItems":27,"description":"Validation rules: nullable; array; min:1; max:27"}},"required":["event_type","note"]},"ExternalSubmission":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Public UUID of this resource. "},"status":{"type":"string"},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"subject_public_id":{"type":"string"},"channel":{"type":"string"},"context":{"type":"string"},"external_reference":{"type":"string"},"market_country":{"type":["string","null"]},"recipient":{"type":"string","description":"Recipient as defined by this operation: organisation UUID for passport sharing, recipient name for a BDO report. "},"review_note":{"type":["string","null"]},"scope_note":{"type":"string"},"submitted_on":{"type":"string","format":"date-time"},"receipt_document_version":{"type":["string","null"],"format":"uuid"}}},"PpwrExternalSubmissionsCreateInput":{"type":"object","properties":{"context":{"type":"string","enum":["traceability","waste_report","reuse_target","epr_registration","epr_report","eu_declaration"],"description":"Validation rules: required; in:\"traceability\",\"waste_report\",\"reuse_target\",\"epr_registration\",\"epr_report\",\"eu_declaration\""},"subject_public_id":{"type":"string","format":"uuid","description":"Validation rules: required; uuid"},"market_country":{"type":["string","null"],"enum":["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE",null],"description":"Validation rules: nullable; in:\"AT\",\"BE\",\"BG\",\"HR\",\"CY\",\"CZ\",\"DK\",\"EE\",\"FI\",\"FR\",\"DE\",\"GR\",\"HU\",\"IE\",\"IT\",\"LV\",\"LT\",\"LU\",\"MT\",\"NL\",\"PL\",\"PT\",\"RO\",\"SK\",\"SI\",\"ES\",\"SE\""},"submitted_on":{"type":"string","format":"date","description":"Validation rules: required; date_format:Y-m-d; before_or_equal:today"},"recipient":{"type":"string","minLength":3,"maxLength":255,"description":"Recipient as defined by this operation: organisation UUID for passport sharing, recipient name for a BDO report. Validation rules: required; string; min:3; max:255"},"channel":{"type":"string","minLength":3,"maxLength":80,"description":"Validation rules: required; string; min:3; max:80"},"external_reference":{"type":"string","minLength":3,"maxLength":255,"description":"Validation rules: required; string; min:3; max:255"},"scope_note":{"type":"string","minLength":20,"maxLength":5000,"description":"Validation rules: required; string; min:20; max:5000"},"receipt_document_version":{"type":"string","format":"uuid","description":"Validation rules: required; uuid"}},"required":["context","subject_public_id","submitted_on","recipient","channel","external_reference","scope_note","receipt_document_version"]},"PpwrExternalSubmissionsReviewInput":{"type":"object","properties":{"decision":{"type":"string","enum":["approved","rejected"],"description":"Validation rules: required; in:approved,rejected"},"reason":{"type":"string","minLength":1,"maxLength":2000,"description":"Decision rationale recorded in review history. Validation rules: required; string; min:1; max:2000"},"exception_legal_review":{"type":"object","description":"Validation rules: sometimes; array:scope_confirmed,conditions_confirmed,rationale","properties":{"scope_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"conditions_confirmed":{"type":"boolean","description":"Validation rules: sometimes; boolean"},"rationale":{"type":"string","minLength":80,"maxLength":5000,"description":"Validation rules: sometimes; string; min:80; max:5000"}}}},"required":["decision","reason"]},"CatalogCreateInput":{"type":"object","properties":{"stockUnit":{"type":"string","enum":["piece","m","m2","kg","l","m3"],"description":"Base stock unit; piece means one item. Validation rules: sometimes; required; in:\"piece\",\"m\",\"m2\",\"kg\",\"l\",\"m3\""},"stockTracked":{"type":"boolean","description":"Whether available stock is enforced for this item. Validation rules: sometimes; boolean"},"minimumStock":{"type":["number","null"],"minimum":0,"maximum":1000000000,"description":"Validation rules: nullable; numeric; decimal:0,6; min:0; max:1000000000"},"initialStock":{"type":["number","null"],"minimum":0,"maximum":1000000000,"description":"Validation rules: nullable; numeric; decimal:0,6; min:0; max:1000000000"},"packagingRole":{"type":"string","enum":["box","mailer","bag","film","tape","filler","insert","pallet","strap","label","container","other"],"description":"Validation rules: sometimes; required; in:\"box\",\"mailer\",\"bag\",\"film\",\"tape\",\"filler\",\"insert\",\"pallet\",\"strap\",\"label\",\"container\",\"other\""},"unitConversions":{"type":"object","description":"Map of unit code to base units, e.g. roll: 100 for a 100 m roll when base is m. Validation rules: nullable; array:roll,pack,sheet,pallet,box,bundle,bale,bag","additionalProperties":{"type":["number","null"],"maximum":1000000000,"description":"Validation rules: nullable; numeric; decimal:0,6; gt:0; max:1000000000"}},"dimensions":{"type":"object","description":"Dimensions in units named by each field; internal dimensions support fitting contents. Validation rules: nullable; array:length_mm,width_mm,height_mm,inner_length_mm,inner_width_mm,inner_height_mm,diameter_mm,inner_diameter_mm,thickness_um,roll_length_m,usable_volume_l,max_load_kg","properties":{"length_mm":{"type":["number","null"],"maximum":1000000000,"description":"Validation rules: nullable; numeric; decimal:0,6; gt:0; max:1000000000"},"width_mm":{"type":["number","null"],"maximum":1000000000,"description":"Validation rules: nullable; numeric; decimal:0,6; gt:0; max:1000000000"},"height_mm":{"type":["number","null"],"maximum":1000000000,"description":"Validation rules: nullable; numeric; decimal:0,6; gt:0; max:1000000000"},"inner_length_mm":{"type":["number","null"],"maximum":1000000000,"description":"Validation rules: nullable; numeric; decimal:0,6; gt:0; max:1000000000"},"inner_width_mm":{"type":["number","null"],"maximum":1000000000,"description":"Validation rules: nullable; numeric; decimal:0,6; gt:0; max:1000000000"},"inner_height_mm":{"type":["number","null"],"maximum":1000000000,"description":"Validation rules: nullable; numeric; decimal:0,6; gt:0; max:1000000000"},"diameter_mm":{"type":["number","null"],"maximum":1000000000,"description":"Validation rules: nullable; numeric; decimal:0,6; gt:0; max:1000000000"},"inner_diameter_mm":{"type":["number","null"],"maximum":1000000000,"description":"Validation rules: nullable; numeric; decimal:0,6; gt:0; max:1000000000"},"thickness_um":{"type":["number","null"],"maximum":1000000000,"description":"Validation rules: nullable; numeric; decimal:0,6; gt:0; max:1000000000"},"roll_length_m":{"type":["number","null"],"maximum":1000000000,"description":"Validation rules: nullable; numeric; decimal:0,6; gt:0; max:1000000000"},"usable_volume_l":{"type":["number","null"],"maximum":1000000000,"description":"Validation rules: nullable; numeric; decimal:0,6; gt:0; max:1000000000"},"max_load_kg":{"type":["number","null"],"maximum":1000000000,"description":"Validation rules: nullable; numeric; decimal:0,6; gt:0; max:1000000000"}}},"internalCode":{"type":"string","maxLength":100,"description":"Validation rules: required; string; max:100"},"name":{"type":"string","maxLength":255,"description":"Validation rules: required; string; max:255"},"supplierOrderCode":{"type":["string","null"],"maxLength":100,"description":"Validation rules: nullable; string; max:100"},"manufacturerCode":{"type":["string","null"],"maxLength":100,"description":"Validation rules: nullable; string; max:100"},"packagingCategoryCode":{"type":["string","null"],"enum":["sales","grouped","transport","ecommerce","service","primary_production","other",null],"description":"Validation rules: nullable; in:\"sales\",\"grouped\",\"transport\",\"ecommerce\",\"service\",\"primary_production\",\"other\""},"intendedUse":{"type":["string","null"],"maxLength":4000,"description":"Validation rules: nullable; string; max:4000"},"foodContactStatus":{"type":"string","enum":["yes","no","unknown","notApplicable"],"description":"Validation rules: required; in:\"yes\",\"no\",\"unknown\",\"not_applicable\"","default":"unknown"},"sourcingType":{"type":"string","enum":["unknown","purchased","own_production"],"description":"Validation rules: sometimes; in:\"unknown\",\"purchased\",\"own_production\""},"massG":{"type":["string","null"],"description":"Grams per packaging base unit, represented as a decimal string. Validation rules: nullable; string; numeric; decimal:0,6; min:0; max:999999999999"},"mainMaterialCode":{"type":["string","null"],"enum":["paper","cardboard","corrugated_cardboard","paper_composite","glass","steel","aluminium","pet","pe","hdpe","pp","ps","eps","other_plastic","biodegradable_plastic","wood","cork","textile","ceramic","mixed_unknown","other_unknown",null],"description":"Material code from \/dictionaries, not a translated name. Validation rules: nullable; string; in:\"paper\",\"cardboard\",\"corrugated_cardboard\",\"paper_composite\",\"glass\",\"steel\",\"aluminium\",\"pet\",\"pe\",\"hdpe\",\"pp\",\"ps\",\"eps\",\"other_plastic\",\"biodegradable_plastic\",\"wood\",\"cork\",\"textile\",\"ceramic\",\"mixed_unknown\",\"other_unknown\""},"reuseType":{"type":"string","enum":["single_use","reusable","unknown"],"description":"Validation rules: required; in:\"single_use\",\"reusable\",\"unknown\"","default":"unknown"},"countryOfManufacture":{"type":["string","null"],"enum":["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW",null],"description":"Validation rules: nullable; in:\"AD\",\"AE\",\"AF\",\"AG\",\"AI\",\"AL\",\"AM\",\"AO\",\"AQ\",\"AR\",\"AS\",\"AT\",\"AU\",\"AW\",\"AX\",\"AZ\",\"BA\",\"BB\",\"BD\",\"BE\",\"BF\",\"BG\",\"BH\",\"BI\",\"BJ\",\"BL\",\"BM\",\"BN\",\"BO\",\"BQ\",\"BR\",\"BS\",\"BT\",\"BV\",\"BW\",\"BY\",\"BZ\",\"CA\",\"CC\",\"CD\",\"CF\",\"CG\",\"CH\",\"CI\",\"CK\",\"CL\",\"CM\",\"CN\",\"CO\",\"CR\",\"CU\",\"CV\",\"CW\",\"CX\",\"CY\",\"CZ\",\"DE\",\"DJ\",\"DK\",\"DM\",\"DO\",\"DZ\",\"EC\",\"EE\",\"EG\",\"EH\",\"ER\",\"ES\",\"ET\",\"FI\",\"FJ\",\"FK\",\"FM\",\"FO\",\"FR\",\"GA\",\"GB\",\"GD\",\"GE\",\"GF\",\"GG\",\"GH\",\"GI\",\"GL\",\"GM\",\"GN\",\"GP\",\"GQ\",\"GR\",\"GS\",\"GT\",\"GU\",\"GW\",\"GY\",\"HK\",\"HM\",\"HN\",\"HR\",\"HT\",\"HU\",\"ID\",\"IE\",\"IL\",\"IM\",\"IN\",\"IO\",\"IQ\",\"IR\",\"IS\",\"IT\",\"JE\",\"JM\",\"JO\",\"JP\",\"KE\",\"KG\",\"KH\",\"KI\",\"KM\",\"KN\",\"KP\",\"KR\",\"KW\",\"KY\",\"KZ\",\"LA\",\"LB\",\"LC\",\"LI\",\"LK\",\"LR\",\"LS\",\"LT\",\"LU\",\"LV\",\"LY\",\"MA\",\"MC\",\"MD\",\"ME\",\"MF\",\"MG\",\"MH\",\"MK\",\"ML\",\"MM\",\"MN\",\"MO\",\"MP\",\"MQ\",\"MR\",\"MS\",\"MT\",\"MU\",\"MV\",\"MW\",\"MX\",\"MY\",\"MZ\",\"NA\",\"NC\",\"NE\",\"NF\",\"NG\",\"NI\",\"NL\",\"NO\",\"NP\",\"NR\",\"NU\",\"NZ\",\"OM\",\"PA\",\"PE\",\"PF\",\"PG\",\"PH\",\"PK\",\"PL\",\"PM\",\"PN\",\"PR\",\"PS\",\"PT\",\"PW\",\"PY\",\"QA\",\"RE\",\"RO\",\"RS\",\"RU\",\"RW\",\"SA\",\"SB\",\"SC\",\"SD\",\"SE\",\"SG\",\"SH\",\"SI\",\"SJ\",\"SK\",\"SL\",\"SM\",\"SN\",\"SO\",\"SR\",\"SS\",\"ST\",\"SV\",\"SX\",\"SY\",\"SZ\",\"TC\",\"TD\",\"TF\",\"TG\",\"TH\",\"TJ\",\"TK\",\"TL\",\"TM\",\"TN\",\"TO\",\"TR\",\"TT\",\"TV\",\"TW\",\"TZ\",\"UA\",\"UG\",\"UM\",\"US\",\"UY\",\"UZ\",\"VA\",\"VC\",\"VE\",\"VG\",\"VI\",\"VN\",\"VU\",\"WF\",\"WS\",\"YE\",\"YT\",\"ZA\",\"ZM\",\"ZW\""},"ppwrCategoryCode":{"type":["string","null"],"description":"Validation rules: nullable; string"},"ppwrRestrictedFormatCode":{"type":["string","null"],"description":"Validation rules: nullable; string"},"supplier":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"},"manufacturer":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"},"family":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"},"folder":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"},"markets":{"type":"array","items":{"type":"string","enum":["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"],"description":"Validation rules: required; string; distinct; in:\"AD\",\"AE\",\"AF\",\"AG\",\"AI\",\"AL\",\"AM\",\"AO\",\"AQ\",\"AR\",\"AS\",\"AT\",\"AU\",\"AW\",\"AX\",\"AZ\",\"BA\",\"BB\",\"BD\",\"BE\",\"BF\",\"BG\",\"BH\",\"BI\",\"BJ\",\"BL\",\"BM\",\"BN\",\"BO\",\"BQ\",\"BR\",\"BS\",\"BT\",\"BV\",\"BW\",\"BY\",\"BZ\",\"CA\",\"CC\",\"CD\",\"CF\",\"CG\",\"CH\",\"CI\",\"CK\",\"CL\",\"CM\",\"CN\",\"CO\",\"CR\",\"CU\",\"CV\",\"CW\",\"CX\",\"CY\",\"CZ\",\"DE\",\"DJ\",\"DK\",\"DM\",\"DO\",\"DZ\",\"EC\",\"EE\",\"EG\",\"EH\",\"ER\",\"ES\",\"ET\",\"FI\",\"FJ\",\"FK\",\"FM\",\"FO\",\"FR\",\"GA\",\"GB\",\"GD\",\"GE\",\"GF\",\"GG\",\"GH\",\"GI\",\"GL\",\"GM\",\"GN\",\"GP\",\"GQ\",\"GR\",\"GS\",\"GT\",\"GU\",\"GW\",\"GY\",\"HK\",\"HM\",\"HN\",\"HR\",\"HT\",\"HU\",\"ID\",\"IE\",\"IL\",\"IM\",\"IN\",\"IO\",\"IQ\",\"IR\",\"IS\",\"IT\",\"JE\",\"JM\",\"JO\",\"JP\",\"KE\",\"KG\",\"KH\",\"KI\",\"KM\",\"KN\",\"KP\",\"KR\",\"KW\",\"KY\",\"KZ\",\"LA\",\"LB\",\"LC\",\"LI\",\"LK\",\"LR\",\"LS\",\"LT\",\"LU\",\"LV\",\"LY\",\"MA\",\"MC\",\"MD\",\"ME\",\"MF\",\"MG\",\"MH\",\"MK\",\"ML\",\"MM\",\"MN\",\"MO\",\"MP\",\"MQ\",\"MR\",\"MS\",\"MT\",\"MU\",\"MV\",\"MW\",\"MX\",\"MY\",\"MZ\",\"NA\",\"NC\",\"NE\",\"NF\",\"NG\",\"NI\",\"NL\",\"NO\",\"NP\",\"NR\",\"NU\",\"NZ\",\"OM\",\"PA\",\"PE\",\"PF\",\"PG\",\"PH\",\"PK\",\"PL\",\"PM\",\"PN\",\"PR\",\"PS\",\"PT\",\"PW\",\"PY\",\"QA\",\"RE\",\"RO\",\"RS\",\"RU\",\"RW\",\"SA\",\"SB\",\"SC\",\"SD\",\"SE\",\"SG\",\"SH\",\"SI\",\"SJ\",\"SK\",\"SL\",\"SM\",\"SN\",\"SO\",\"SR\",\"SS\",\"ST\",\"SV\",\"SX\",\"SY\",\"SZ\",\"TC\",\"TD\",\"TF\",\"TG\",\"TH\",\"TJ\",\"TK\",\"TL\",\"TM\",\"TN\",\"TO\",\"TR\",\"TT\",\"TV\",\"TW\",\"TZ\",\"UA\",\"UG\",\"UM\",\"US\",\"UY\",\"UZ\",\"VA\",\"VC\",\"VE\",\"VG\",\"VI\",\"VN\",\"VU\",\"WF\",\"WS\",\"YE\",\"YT\",\"ZA\",\"ZM\",\"ZW\""},"maxItems":249,"description":"Validation rules: sometimes; array; max:249"}},"required":["name","internalCode"]},"CatalogUpdateInput":{"type":"object","properties":{"stockUnit":{"type":"string","enum":["piece","m","m2","kg","l","m3"],"description":"Base stock unit; piece means one item. Validation rules: sometimes; required; in:\"piece\",\"m\",\"m2\",\"kg\",\"l\",\"m3\""},"stockTracked":{"type":"boolean","description":"Whether available stock is enforced for this item. Validation rules: sometimes; boolean"},"minimumStock":{"type":["number","null"],"minimum":0,"maximum":1000000000,"description":"Validation rules: nullable; numeric; decimal:0,6; min:0; max:1000000000"},"initialStock":{"type":["number","null"],"minimum":0,"maximum":1000000000,"description":"Validation rules: nullable; numeric; decimal:0,6; min:0; max:1000000000"},"packagingRole":{"type":"string","enum":["box","mailer","bag","film","tape","filler","insert","pallet","strap","label","container","other"],"description":"Validation rules: sometimes; required; in:\"box\",\"mailer\",\"bag\",\"film\",\"tape\",\"filler\",\"insert\",\"pallet\",\"strap\",\"label\",\"container\",\"other\""},"unitConversions":{"type":"object","description":"Map of unit code to base units, e.g. roll: 100 for a 100 m roll when base is m. Validation rules: nullable; array:roll,pack,sheet,pallet,box,bundle,bale,bag","additionalProperties":{"type":["number","null"],"maximum":1000000000,"description":"Validation rules: nullable; numeric; decimal:0,6; gt:0; max:1000000000"}},"dimensions":{"type":"object","description":"Dimensions in units named by each field; internal dimensions support fitting contents. Validation rules: nullable; array:length_mm,width_mm,height_mm,inner_length_mm,inner_width_mm,inner_height_mm,diameter_mm,inner_diameter_mm,thickness_um,roll_length_m,usable_volume_l,max_load_kg","properties":{"length_mm":{"type":["number","null"],"maximum":1000000000,"description":"Validation rules: nullable; numeric; decimal:0,6; gt:0; max:1000000000"},"width_mm":{"type":["number","null"],"maximum":1000000000,"description":"Validation rules: nullable; numeric; decimal:0,6; gt:0; max:1000000000"},"height_mm":{"type":["number","null"],"maximum":1000000000,"description":"Validation rules: nullable; numeric; decimal:0,6; gt:0; max:1000000000"},"inner_length_mm":{"type":["number","null"],"maximum":1000000000,"description":"Validation rules: nullable; numeric; decimal:0,6; gt:0; max:1000000000"},"inner_width_mm":{"type":["number","null"],"maximum":1000000000,"description":"Validation rules: nullable; numeric; decimal:0,6; gt:0; max:1000000000"},"inner_height_mm":{"type":["number","null"],"maximum":1000000000,"description":"Validation rules: nullable; numeric; decimal:0,6; gt:0; max:1000000000"},"diameter_mm":{"type":["number","null"],"maximum":1000000000,"description":"Validation rules: nullable; numeric; decimal:0,6; gt:0; max:1000000000"},"inner_diameter_mm":{"type":["number","null"],"maximum":1000000000,"description":"Validation rules: nullable; numeric; decimal:0,6; gt:0; max:1000000000"},"thickness_um":{"type":["number","null"],"maximum":1000000000,"description":"Validation rules: nullable; numeric; decimal:0,6; gt:0; max:1000000000"},"roll_length_m":{"type":["number","null"],"maximum":1000000000,"description":"Validation rules: nullable; numeric; decimal:0,6; gt:0; max:1000000000"},"usable_volume_l":{"type":["number","null"],"maximum":1000000000,"description":"Validation rules: nullable; numeric; decimal:0,6; gt:0; max:1000000000"},"max_load_kg":{"type":["number","null"],"maximum":1000000000,"description":"Validation rules: nullable; numeric; decimal:0,6; gt:0; max:1000000000"}}},"internalCode":{"type":"string","maxLength":100,"description":"Validation rules: required; string; max:100"},"name":{"type":"string","maxLength":255,"description":"Validation rules: required; string; max:255"},"supplierOrderCode":{"type":["string","null"],"maxLength":100,"description":"Validation rules: nullable; string; max:100"},"manufacturerCode":{"type":["string","null"],"maxLength":100,"description":"Validation rules: nullable; string; max:100"},"packagingCategoryCode":{"type":["string","null"],"enum":["sales","grouped","transport","ecommerce","service","primary_production","other",null],"description":"Validation rules: nullable; in:\"sales\",\"grouped\",\"transport\",\"ecommerce\",\"service\",\"primary_production\",\"other\""},"intendedUse":{"type":["string","null"],"maxLength":4000,"description":"Validation rules: nullable; string; max:4000"},"foodContactStatus":{"type":"string","enum":["yes","no","unknown","notApplicable"],"description":"Validation rules: required; in:\"yes\",\"no\",\"unknown\",\"not_applicable\"","default":"unknown"},"sourcingType":{"type":"string","enum":["unknown","purchased","own_production"],"description":"Validation rules: sometimes; in:\"unknown\",\"purchased\",\"own_production\""},"massG":{"type":["string","null"],"description":"Grams per packaging base unit, represented as a decimal string. Validation rules: nullable; string; numeric; decimal:0,6; min:0; max:999999999999"},"mainMaterialCode":{"type":["string","null"],"enum":["paper","cardboard","corrugated_cardboard","paper_composite","glass","steel","aluminium","pet","pe","hdpe","pp","ps","eps","other_plastic","biodegradable_plastic","wood","cork","textile","ceramic","mixed_unknown","other_unknown",null],"description":"Material code from \/dictionaries, not a translated name. Validation rules: nullable; string; in:\"paper\",\"cardboard\",\"corrugated_cardboard\",\"paper_composite\",\"glass\",\"steel\",\"aluminium\",\"pet\",\"pe\",\"hdpe\",\"pp\",\"ps\",\"eps\",\"other_plastic\",\"biodegradable_plastic\",\"wood\",\"cork\",\"textile\",\"ceramic\",\"mixed_unknown\",\"other_unknown\""},"reuseType":{"type":"string","enum":["single_use","reusable","unknown"],"description":"Validation rules: required; in:\"single_use\",\"reusable\",\"unknown\"","default":"unknown"},"countryOfManufacture":{"type":["string","null"],"enum":["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW",null],"description":"Validation rules: nullable; in:\"AD\",\"AE\",\"AF\",\"AG\",\"AI\",\"AL\",\"AM\",\"AO\",\"AQ\",\"AR\",\"AS\",\"AT\",\"AU\",\"AW\",\"AX\",\"AZ\",\"BA\",\"BB\",\"BD\",\"BE\",\"BF\",\"BG\",\"BH\",\"BI\",\"BJ\",\"BL\",\"BM\",\"BN\",\"BO\",\"BQ\",\"BR\",\"BS\",\"BT\",\"BV\",\"BW\",\"BY\",\"BZ\",\"CA\",\"CC\",\"CD\",\"CF\",\"CG\",\"CH\",\"CI\",\"CK\",\"CL\",\"CM\",\"CN\",\"CO\",\"CR\",\"CU\",\"CV\",\"CW\",\"CX\",\"CY\",\"CZ\",\"DE\",\"DJ\",\"DK\",\"DM\",\"DO\",\"DZ\",\"EC\",\"EE\",\"EG\",\"EH\",\"ER\",\"ES\",\"ET\",\"FI\",\"FJ\",\"FK\",\"FM\",\"FO\",\"FR\",\"GA\",\"GB\",\"GD\",\"GE\",\"GF\",\"GG\",\"GH\",\"GI\",\"GL\",\"GM\",\"GN\",\"GP\",\"GQ\",\"GR\",\"GS\",\"GT\",\"GU\",\"GW\",\"GY\",\"HK\",\"HM\",\"HN\",\"HR\",\"HT\",\"HU\",\"ID\",\"IE\",\"IL\",\"IM\",\"IN\",\"IO\",\"IQ\",\"IR\",\"IS\",\"IT\",\"JE\",\"JM\",\"JO\",\"JP\",\"KE\",\"KG\",\"KH\",\"KI\",\"KM\",\"KN\",\"KP\",\"KR\",\"KW\",\"KY\",\"KZ\",\"LA\",\"LB\",\"LC\",\"LI\",\"LK\",\"LR\",\"LS\",\"LT\",\"LU\",\"LV\",\"LY\",\"MA\",\"MC\",\"MD\",\"ME\",\"MF\",\"MG\",\"MH\",\"MK\",\"ML\",\"MM\",\"MN\",\"MO\",\"MP\",\"MQ\",\"MR\",\"MS\",\"MT\",\"MU\",\"MV\",\"MW\",\"MX\",\"MY\",\"MZ\",\"NA\",\"NC\",\"NE\",\"NF\",\"NG\",\"NI\",\"NL\",\"NO\",\"NP\",\"NR\",\"NU\",\"NZ\",\"OM\",\"PA\",\"PE\",\"PF\",\"PG\",\"PH\",\"PK\",\"PL\",\"PM\",\"PN\",\"PR\",\"PS\",\"PT\",\"PW\",\"PY\",\"QA\",\"RE\",\"RO\",\"RS\",\"RU\",\"RW\",\"SA\",\"SB\",\"SC\",\"SD\",\"SE\",\"SG\",\"SH\",\"SI\",\"SJ\",\"SK\",\"SL\",\"SM\",\"SN\",\"SO\",\"SR\",\"SS\",\"ST\",\"SV\",\"SX\",\"SY\",\"SZ\",\"TC\",\"TD\",\"TF\",\"TG\",\"TH\",\"TJ\",\"TK\",\"TL\",\"TM\",\"TN\",\"TO\",\"TR\",\"TT\",\"TV\",\"TW\",\"TZ\",\"UA\",\"UG\",\"UM\",\"US\",\"UY\",\"UZ\",\"VA\",\"VC\",\"VE\",\"VG\",\"VI\",\"VN\",\"VU\",\"WF\",\"WS\",\"YE\",\"YT\",\"ZA\",\"ZM\",\"ZW\""},"ppwrCategoryCode":{"type":["string","null"],"description":"Validation rules: nullable; string"},"ppwrRestrictedFormatCode":{"type":["string","null"],"description":"Validation rules: nullable; string"},"supplier":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"},"manufacturer":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"},"family":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"},"folder":{"type":["string","null"],"format":"uuid","description":"Validation rules: nullable; uuid"},"markets":{"type":"array","items":{"type":"string","enum":["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"],"description":"Validation rules: required; string; distinct; in:\"AD\",\"AE\",\"AF\",\"AG\",\"AI\",\"AL\",\"AM\",\"AO\",\"AQ\",\"AR\",\"AS\",\"AT\",\"AU\",\"AW\",\"AX\",\"AZ\",\"BA\",\"BB\",\"BD\",\"BE\",\"BF\",\"BG\",\"BH\",\"BI\",\"BJ\",\"BL\",\"BM\",\"BN\",\"BO\",\"BQ\",\"BR\",\"BS\",\"BT\",\"BV\",\"BW\",\"BY\",\"BZ\",\"CA\",\"CC\",\"CD\",\"CF\",\"CG\",\"CH\",\"CI\",\"CK\",\"CL\",\"CM\",\"CN\",\"CO\",\"CR\",\"CU\",\"CV\",\"CW\",\"CX\",\"CY\",\"CZ\",\"DE\",\"DJ\",\"DK\",\"DM\",\"DO\",\"DZ\",\"EC\",\"EE\",\"EG\",\"EH\",\"ER\",\"ES\",\"ET\",\"FI\",\"FJ\",\"FK\",\"FM\",\"FO\",\"FR\",\"GA\",\"GB\",\"GD\",\"GE\",\"GF\",\"GG\",\"GH\",\"GI\",\"GL\",\"GM\",\"GN\",\"GP\",\"GQ\",\"GR\",\"GS\",\"GT\",\"GU\",\"GW\",\"GY\",\"HK\",\"HM\",\"HN\",\"HR\",\"HT\",\"HU\",\"ID\",\"IE\",\"IL\",\"IM\",\"IN\",\"IO\",\"IQ\",\"IR\",\"IS\",\"IT\",\"JE\",\"JM\",\"JO\",\"JP\",\"KE\",\"KG\",\"KH\",\"KI\",\"KM\",\"KN\",\"KP\",\"KR\",\"KW\",\"KY\",\"KZ\",\"LA\",\"LB\",\"LC\",\"LI\",\"LK\",\"LR\",\"LS\",\"LT\",\"LU\",\"LV\",\"LY\",\"MA\",\"MC\",\"MD\",\"ME\",\"MF\",\"MG\",\"MH\",\"MK\",\"ML\",\"MM\",\"MN\",\"MO\",\"MP\",\"MQ\",\"MR\",\"MS\",\"MT\",\"MU\",\"MV\",\"MW\",\"MX\",\"MY\",\"MZ\",\"NA\",\"NC\",\"NE\",\"NF\",\"NG\",\"NI\",\"NL\",\"NO\",\"NP\",\"NR\",\"NU\",\"NZ\",\"OM\",\"PA\",\"PE\",\"PF\",\"PG\",\"PH\",\"PK\",\"PL\",\"PM\",\"PN\",\"PR\",\"PS\",\"PT\",\"PW\",\"PY\",\"QA\",\"RE\",\"RO\",\"RS\",\"RU\",\"RW\",\"SA\",\"SB\",\"SC\",\"SD\",\"SE\",\"SG\",\"SH\",\"SI\",\"SJ\",\"SK\",\"SL\",\"SM\",\"SN\",\"SO\",\"SR\",\"SS\",\"ST\",\"SV\",\"SX\",\"SY\",\"SZ\",\"TC\",\"TD\",\"TF\",\"TG\",\"TH\",\"TJ\",\"TK\",\"TL\",\"TM\",\"TN\",\"TO\",\"TR\",\"TT\",\"TV\",\"TW\",\"TZ\",\"UA\",\"UG\",\"UM\",\"US\",\"UY\",\"UZ\",\"VA\",\"VC\",\"VE\",\"VG\",\"VI\",\"VN\",\"VU\",\"WF\",\"WS\",\"YE\",\"YT\",\"ZA\",\"ZM\",\"ZW\""},"maxItems":249,"description":"Validation rules: sometimes; array; max:249"}}},"EvidenceDecisionInput":{"type":"object","properties":{"decision":{"type":"string","enum":["accepted","acceptedModified","rejected"],"description":"Validation rules: required; in:accepted,acceptedModified,rejected"},"revision":{"type":"integer","minimum":1,"description":"Current revision of the action\u2019s target resource. Fetch before writing; do not calculate it yourself. Validation rules: required; integer; min:1"},"acceptedValue":{"type":["string","null"],"maxLength":2000,"description":"Corrected value required for acceptedModified; evidence\/rationale requirements still apply. Validation rules: required_if:decision,acceptedModified; nullable; string; max:2000"},"note":{"type":"string","maxLength":2000,"description":"Validation rules: required; string; max:2000"}},"required":["decision","revision","note"]},"ImportsCreateInput":{"type":"object","properties":{"type":{"type":"string","enum":["catalog","partners","document_metadata","code_mappings"],"description":"Validation rules: sometimes; in:catalog,partners,document_metadata,code_mappings","default":"catalog"},"file":{"type":"string","format":"binary","description":"Validation rules: required; file"},"column_mapping":{"type":"object","items":{},"description":"Validation rules: sometimes; array","additionalProperties":{"type":["string","null"],"maxLength":100,"description":"Validation rules: nullable; string; max:100"}}},"required":["file"],"x-code-mapping-columns":["catalog_item_id","internal_code","supplier_id","supplier_order_code","manufacturer_id","manufacturer_code"],"x-document-metadata-columns":["document_version_id","title","document_type","catalog_item_code","issuer_id","issued_on","expires_on","review_due_on","language_code"],"description":"Partners are matched by country and tax ID or your identifier. Empty cells preserve existing data. Roles supplied in the file replace the current selection. Changing a company email revokes old supplier portal links. Imports do not send messages. Remove the example row and enter your partners. Required: name, country, roles and tax ID or identifier. Roles: supplier, customer, manufacturer, consultant, other; separate multiple roles with |. Each row is one partner with an optional contact. Contacts match by email, or name when email is absent; other contacts are preserved. CSV: UTF-8, comma or semicolon. XLSX: first sheet; store identifiers, codes and phones as text. Update titles, dates and language for uploaded documents. The version ID links each row to its file. Empty cells preserve current values; review changes before saving. Download the existing documents worksheet, fill in the data and upload it again. Keep version IDs unchanged. Dates: YYYY-MM-DD (native XLSX date cells also supported); language: ISO code such as pl or en. This import does not upload files or approve documents. Approved versions allow title and review deadline changes; source metadata corrections require a new file version. Review deadlines feed the calendar and notifications. Map your packaging code to the codes of its assigned supplier and manufacturer. Review changes before saving. Empty cells preserve existing codes. Each row targets one existing packaging item. Your internal code is required; the item ID from the downloaded worksheet provides an additional identity check. Enter the supplier or manufacturer code. Company IDs verify existing assignments; change companies on the packaging card. For own production, use the manufacturer code. Importing does not approve documentary links. CSV: UTF-8. Store XLSX codes as text to preserve leading zeros."},"ReportsCreateInput":{"type":"object","properties":{"type":{"type":"string","enum":["catalog","assessments","flows","catalog_xlsx","assessments_xlsx","flows_xlsx"],"description":"Validation rules: required; in:\"catalog\",\"assessments\",\"flows\",\"catalog_xlsx\",\"assessments_xlsx\",\"flows_xlsx\""}},"required":["type"]}}},"externalDocs":{"description":"Open API documentation","url":"https:\/\/ppwrlink.pl\/api\/documentation?locale=en"},"tags":[{"name":"Start and dictionaries","description":"Retrieve the key\u2019s organisation, then dictionaries. Persist public UUIDs\/codes; names are for display."},{"name":"Packaging catalogue and structure","description":"Order: partners and optional folders\/families \u2192 catalogue \u2192 components and markets. Data history later identifies operation inputs."},{"name":"Order packing and inventory","description":"Catalogue + available stock \u2192 set configuration \u2192 reservation \u2192 consume or release. Alternatively consume a set without a reservation or submit explicit packing-consumptions lines. Choose one path per parcel."},{"name":"Physical movements and reporting flows","description":"supply-events tracks events\/balance; flows represents reporting data. A movement can already generate a flow: do not submit both for the same activity."},{"name":"Files, evidence and links","description":"Upload \u2192 version processing state \u2192 document review \u2192 analysis\/proposals \u2192 fact decision \u2192 evidence linkage. Documents, versions and facts have distinct IDs\/statuses."},{"name":"Supplier collaboration and gaps","description":"Create request \u2192 inspect lines \u2192 send email \u2192 receive files \u2192 review responses. Suppliers use a public link; integrators use an organisation key."},{"name":"Imports and templates","description":"Retrieve an available template \u2192 upload \u2192 wait for preview \u2192 inspect rows \u2192 apply \u2192 read status\/errors. Upload alone does not commit changes."},{"name":"PPWR assessments and technical evidence","description":"Establish packaging, market and role; prepare reviewed sources. Create registers relevant to the use case. Recording, review and rule results are separate stages. A dossier precedes its EU declaration."},{"name":"Reuse systems and returnable units","description":"Circulation system \u2192 evidence\/market confirmations \u2192 units \u2192 circulation events\/review \u2192 aggregates and periodic targets. A circulation system is not a packing recipe."},{"name":"Deposits, hospitality and information","description":"Specialised documentary registers. Deposit records describe packaging\/membership without handling money; hospitality\/end-user information records store assessments\/evidence."},{"name":"Reports, EPR, BDO and recycled content","description":"Catalogue\/assessment\/flow exports are queued. EPR\/waste: header \u2192 lines \u2192 review \u2192 export. BDO: sources \u2192 classification \u2192 snapshot \u2192 export. None automatically files a declaration with an authority."},{"name":"Passports and recipient access","description":"Data\/evidence \u2192 draft \u2192 publish \u2192 recipient grant. New versions need separate access. Subscriptions\/updates belong to the key\u2019s user; following is not data adoption."},{"name":"Factors and material carbon footprint","description":"Read sources \u2192 prepare factors \u2192 select item\/set and optional historical basis \u2192 calculate \u2192 read snapshot. Results do not automatically cover the entire life cycle."},{"name":"Cases, submissions and audit","description":"Register request\/case \u2192 add responses\/events and delivery evidence \u2192 review where exposed. External submissions document actions performed outside the application."}]}