Skip to content

chore(spec): sync API spec 2026-10-27 - #9

Merged
arosasg merged 5 commits into
mainfrom
chore/spec-sync
Oct 27, 2026
Merged

arosasg merged 5 commits into
mainfrom
chore/spec-sync

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

Spec sync 2026-10-27. Upstream files changed: verification.json.

Breaking changes

None detected.

Added operations (10)

  • GET /v3/import-jobs/ -> sessions.imports.list_jobs
  • GET /v3/import-jobs/active/ -> sessions.imports.list_active_jobs
  • GET /v3/organization/bank-verification-pricing/ -> pricing.bank_verification
  • GET /v3/session/imports/providers/ -> sessions.imports.list_providers
  • POST /v3/session/imports/providers/check/ -> sessions.imports.check_provider
  • POST /v3/session/imports/{importId}/cancel/ -> sessions.imports.cancel
  • POST /v3/session/imports/{importId}/pause/ -> sessions.imports.pause
  • POST /v3/session/imports/{importId}/resume/ -> sessions.imports.resume
  • POST /v3/session/imports/{importId}/retry/ -> sessions.imports.retry
  • POST /v3/session/imports/{importId}/start/ -> sessions.imports.start

Removed operations (0)

Renamed methods (0)

Moved or reassigned methods (0)

Changed operations (7)

  • GET /v3/session/imports/{importId}/: response.created_by_email: added; response.created_by_name: added; response.credential_hint: added; response.credentials_expires_at: added; response.dry_run_summary: added; response.face_blocklist_hits_count: added; response.face_duplicates_count: added; response.face_templates_count: added; response.face_templates_enabled: added; response.is_dry_run: added; response.lawful_basis_confirmed_at: added; response.not_finished_count: added; response.provider: added; response.provider_options: added; response.resumes_at: added; response.same_person_count: added; response.source: added; response.state: added; response.status_mapping: added; response.status: values added ["READY"]
  • GET /v3/session/{sessionId}/decision/: response.bank_verifications[].continuation: added; response.bank_verifications[].continued_without_bank: added; response.bank_verifications[].method: values added ["none"]
  • GET /v3/workflows/{settings_uuid}/: response.bank_verification_config: added; response.geolocation_config: added; response.is_bank_verification_enabled: added; response.is_geolocation_enabled: added
  • PATCH /v3/workflows/{settings_uuid}/: response.bank_verification_config: added; response.geolocation_config: added; response.is_bank_verification_enabled: added; response.is_geolocation_enabled: added
  • POST /v3/session/import-shared/: response.bank_verifications[].continuation: added; response.bank_verifications[].continued_without_bank: added; response.bank_verifications[].method: values added ["none"]
  • POST /v3/session/imports/: body.credentials: added; body.dry_run: added; body.face_templates: added; body.lawful_basis_confirmed: added; body.options: added; body.provider: added; body.source: added; body.status_mapping: added; response.created_by_email: added; response.created_by_name: added; response.credential_hint: added; response.credentials_expires_at: added; response.dry_run_summary: added; response.face_blocklist_hits_count: added; response.face_duplicates_count: added; response.face_templates_count: added; response.face_templates_enabled: added; response.is_dry_run: added; response.lawful_basis_confirmed_at: added; response.not_finished_count: added; response.provider: added; response.provider_options: added; response.resumes_at: added; response.same_person_count: added; response.source: added; and 3 more differences
  • POST /v3/workflows/: response.bank_verification_config: added; response.geolocation_config: added; response.is_bank_verification_enabled: added; response.is_geolocation_enabled: added

Schemas

  • verification.json added: BankAccountCheckPricing, BankSignInPricing, BankStatementUploadPricing, BankVerificationPricing, BankVerificationPricingCountry, BankVerificationPricingMethods, ImportJobSummary, ImportProvider
  • verification.json changed: BankVerificationResult, SessionDecision, SessionImportJob, WorkflowDetail

Checks

  • Regenerate (codegen/generate.py)
  • ruff check
  • ruff format --check
  • mypy --strict
  • pyright
  • pytest: failed, see the workflow run

Opened by spec sync run 40463419757.
Generated code comes from codegen/ and openapi/; do not edit it by hand.

@arosasg arosasg closed this Oct 27, 2026
@arosasg arosasg reopened this Oct 27, 2026
@botinc-agent botinc-agent Bot closed this Oct 27, 2026
@botinc-agent
botinc-agent Bot deleted the chore/spec-sync branch October 27, 2026 16:41
@arosasg
arosasg restored the chore/spec-sync branch October 27, 2026 16:43
@arosasg arosasg reopened this Oct 27, 2026
A date-time field named credentials_expires_at was replaced by a secret placeholder in generated tests, which then failed to parse.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@arosasg

arosasg commented Oct 27, 2026

Copy link
Copy Markdown
Contributor

Codex review (codex CLI, account codex-6, model gpt-5.6-sol)


💡 Code review

Reviewed commit: 2f11d0a

P1 Badge Restrict the timestamp exemption to timestamp fields

codegen/didit_codegen/render_tests.py:L231 - view

When an upstream example contains a real credential-like value beginning with a date, such as password: "2026-10-27-secret", this value-based exemption bypasses scrubbing and commits it into generated tests. Determine the exemption from an explicitly timestamp-like key (for example, credentials_expires_at) while continuing to scrub every value under actual secret keys.

AGENTS.md reference: AGENTS.md:L43-L44

Verdict: REQUEST CHANGES

…bbing

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@arosasg

arosasg commented Oct 27, 2026

Copy link
Copy Markdown
Contributor

Codex review (codex CLI, account codex-3, model gpt-5.6-sol)


💡 Code review

Reviewed commit: c9e408b

P1 Badge Restrict the exemption to complete date-time values

codegen/didit_codegen/render_tests.py:L217-L219 - view

When a credential-like field contains a date-only value such as "password": "2026-10-27" or an incomplete timestamp such as "api_key": "2026-10-27T10:00", this regex matches because the entire time portion, seconds, and timezone are optional, so scrub preserves the value in generated fixtures rather than replacing it. This creates an overly broad secret-scrubbing bypass; require the full intended date-time representation, including its mandatory components, while continuing to scrub date-only and partial values.

AGENTS.md reference: AGENTS.md:L43-L44

Verdict: REQUEST CHANGES

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@arosasg

arosasg commented Oct 27, 2026

Copy link
Copy Markdown
Contributor

Codex review (codex CLI, account codex-3, model gpt-5.6-sol)


💡 Code review

Reviewed commit: 3398da4

P1 Badge Document the new pricing resource in the README

src/didit/resources/__init__.py:L235-L238 - view

Adding client.pricing introduces a public resource, but the README's resource tree does not include it. Update the README so users can discover the new API and the public API change satisfies the repository's documentation requirement.

AGENTS.md reference: AGENTS.md:L46-L46

P2 Badge Validate timestamp ranges before exempting credential values

codegen/didit_codegen/render_tests.py:L217 - view

When a credential-like field contains a value such as 9999-99-99T99:99:99Z, this expression treats it as an RFC 3339 timestamp even though its date and time fields are invalid, so the value bypasses scrubbing and can be copied into generated fixtures. Parse or range-check the matched value before granting the exemption, and add an invalid timestamp-shaped test case.

AGENTS.md reference: AGENTS.md:L44-L44

Verdict: REQUEST CHANGES

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@arosasg

arosasg commented Oct 27, 2026

Copy link
Copy Markdown
Contributor

Triage of the last review: the README resource tree now lists pricing. The second finding (calendar-range validation of the timestamp exemption) is declined: the exemption only needs to be shape-exact (full RFC 3339 date-time); a credential never has that shape, and range checks add code with no scrub benefit.

@arosasg

arosasg commented Oct 27, 2026

Copy link
Copy Markdown
Contributor

Codex review (codex CLI, account codex-3, model gpt-5.6-sol)


💡 Code review

Reviewed commit: 713c01d

No blocking findings in commit 713c01d.

Verdict: APPROVE

@arosasg
arosasg marked this pull request as ready for review October 27, 2026 17:07
@arosasg
arosasg merged commit f17911b into main Oct 27, 2026
13 checks passed
@arosasg
arosasg deleted the chore/spec-sync branch October 27, 2026 17:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant