You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The consent schema is defined inline in the token payload (in both openapi.yaml and v3-token.yaml) while the description states it is "the same nested object the v3 entry
endpoints accept". Since the entry endpoints define their own consent schema, there are now
multiple independent copies that can drift (e.g. if an entry endpoint later accepts an extra
consent field, the token payload's additionalProperties: false would reject it while the
docs still claim identical shape). Extracting a shared component schema and $ref-ing it
would prevent that.
consent:
type: objectdescription: >- ISO 27560 consent record, in the same shape the v3 entry endpoints accept. Optional as a whole; when present, all four fields are required and no other field is allowed. Injected as `consent` on downstream endpoints, so a request that carries it need not repeat consent in the body.required:
- granted
- granted_at
- notice_language
- notice_privacy_policy_urladditionalProperties: falseproperties:
granted:
type: booleandescription: >- Whether the end user granted consent. Must be `true`; any other value is rejected.enum:
- trueexample: truegranted_at:
type: stringformat: date-timedescription: >- When consent was granted, as an ISO 8601 timestamp. Must not be more than a minute in the future, so a value stamped from your own clock is fine. Include the timezone — without one the value is read as UTC.example: '2026-01-01T09:00:00.000Z'notice_language:
type: stringpattern: ^[A-Za-z]{2}$description: >- Two-letter ISO 639-1 code for the language the privacy notice was shown in. Normalised to uppercase.example: ENnotice_privacy_policy_url:
type: stringformat: uridescription: >- URL of the privacy notice the end user was shown. Must use the http or https scheme.example: https://example.com/privacy-policy
notice_language is documented as a two-letter ISO 639-1 code but the pattern accepts any
case and the example uses uppercase EN, while ISO 639-1 codes are canonically lowercase.
The note "Normalised to uppercase" further conflicts with the standard, which may confuse
integrators and generated clients about what value to send/expect back.
notice_language:
type: stringpattern: '^[A-Za-z]{2}$'description: >- Two-letter ISO 639-1 code for the language the privacy notice was shown in. Normalised to uppercase.example: EN
The reason will be displayed to describe this comment to others. Learn more.
Suggestion:format: date-time implies RFC 3339, which mandates a timezone offset, so schema validators and generated clients will reject the timezone-less values the description explicitly allows. Align the schema with the documented behaviour (e.g. drop the strict format or state that the offset is required). [general, importance: 5]
Suggested change
granted_at:
type: string
format: date-time
description: >-
When consent was granted, as an ISO 8601 timestamp.
Must not be more than a minute in the future, so a
value stamped from your own clock is fine. Include
the timezone — without one the value is read as UTC.
example: '2026-01-01T09:00:00.000Z'
granted_at:
type: string
description: >-
When consent was granted, as an ISO 8601 timestamp
(RFC 3339 preferred). Must not be more than a minute
in the future, so a value stamped from your own clock
is fine. Include the timezone — without one the value
is read as UTC.
example: '2026-01-01T09:00:00.000Z'
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
User description
Automated v3 OpenAPI spec update for v3.821.0.
Triggered by Ed Fricker (@beastawakens) - assigned to you in case it needs a manual merge.
PR Type
Documentation, Enhancement
Description
Add
consentobject to/v3/tokenpayload schemaDocument consent binding in all v3 entry specs
Add 400 error examples for partial consent
Update CHANGELOG for v3.821.0 release
Diagram Walkthrough
File Walkthrough
6 files
Add v3.821.0 release entryDocument consent fields in token payload descriptionDocument consent fields in token payload descriptionDocument consent fields in token payload descriptionDocument consent fields in token payload descriptionDocument consent fields in token payload description2 files
Add token payload consent schema and 400 examplesAdd consent object to token payload and error examples