chore: mark data, count and offset fields required where applicable - #847
Conversation
There was a problem hiding this comment.
Pull request overview
This PR tightens the OpenAPI response schemas by explicitly marking data, and where applicable count and offset, as required fields across multiple role-based specs (admin/spender/approver/manager/hod/hop/common/accountant). This improves schema accuracy for clients and for tooling that validates or generates code from these specs.
Changes:
- Marked
data,count, andoffsetas required on many paginated list GET responses. - Marked
dataas required on several non-paginated GET responses. - Updated these requirements consistently across multiple roles’ path definitions.
Reviewed changes
Copilot reviewed 183 out of 183 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/spender/paths/spender@virtual_cards.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@tax_groups.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@subscriptions.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@secondary_emails.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@schedules.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@reports@filters.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@reports@exports.yaml | Require data/count/offset on list response schema (needs type: object). |
| src/spender/paths/spender@reports@export_configurations.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@reports.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@report_stats.yaml | Require data on stats response schema. |
| src/spender/paths/spender@recently_used_fields.yaml | Require data on response schema. |
| src/spender/paths/spender@projects.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@personal_cards.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@personal_card_transactions@expense_suggestion.yaml | Require data on response schema. |
| src/spender/paths/spender@personal_card_transactions.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@per_diem_rates.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@orgs.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@orgs_bank_details.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@my_profile.yaml | Require data on response schema. |
| src/spender/paths/spender@mobile_app@versions.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@mileage_rates.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@merchants.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@feature_configs.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@expenses@filters.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@expenses@export_configurations.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@expenses@duplicate_sets.yaml | Require data on response schema. |
| src/spender/paths/spender@expenses@comments.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@expenses.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@expense_stats.yaml | Require data on stats response schema. |
| src/spender/paths/spender@expense_policies@states.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@expense_policies.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@expense_fields.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@exchange_rate.yaml | Require data on response schema. |
| src/spender/paths/spender@employees@delegators.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@employees@current.yaml | Require data on response schema. |
| src/spender/paths/spender@employees.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@dwolla_customers.yaml | Require data on response schema. |
| src/spender/paths/spender@dependent_expense_field_values.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@departments.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@cost_centers.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@corporate_cards@yodlee_accounts.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@corporate_cards.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@corporate_card_transactions.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@categories.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@budgets.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@automations@recurring_expenses.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@advances.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@advance_wallets.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@advance_requests@custom_fields.yaml | Require data on response schema. |
| src/spender/paths/spender@advance_requests.yaml | Require data/count/offset on list response schema. |
| src/spender/paths/spender@advance_requests_stats.yaml | Require data on stats response schema. |
| src/spender/paths/spender@accounts.yaml | Require data/count/offset on list response schema. |
| src/manager/paths/manager@employee_overview@hierarchy.yaml | Require data on response schema. |
| src/manager/paths/manager@employee_overview@expenses.yaml | Require data/count/offset on list response schema. |
| src/manager/paths/manager@employee_overview@expense_policy_states.yaml | Require data/count/offset on list response schema. |
| src/manager/paths/manager@employee_overview@expense_comments.yaml | Require data/count/offset on list response schema. |
| src/manager/paths/manager@employee_overview@employees.yaml | Require data/count/offset on list response schema. |
| src/manager/paths/manager@employee_overview.yaml | Require data/count/offset on list response schema. |
| src/hop/paths/hop@budget_usages.yaml | Require data/count/offset on list response schema. |
| src/hod/paths/hod@budget_usages.yaml | Require data/count/offset on list response schema. |
| src/common/paths/common@places@autocomplete.yaml | Require data/count/offset on list response schema. |
| src/common/paths/common@places.yaml | Require data/count/offset on list response schema. |
| src/common/paths/common@currencies@exchange_rate.yaml | Require data on response schema. |
| src/common/paths/common@currencies.yaml | Require data on response schema. |
| src/approver/paths/approver@subscriptions.yaml | Require data/count/offset on list response schema. |
| src/approver/paths/approver@reports@filters.yaml | Require data/count/offset on list response schema. |
| src/approver/paths/approver@reports@exports.yaml | Require data/count/offset on list response schema (needs type: object). |
| src/approver/paths/approver@reports@export_configurations.yaml | Require data/count/offset on list response schema. |
| src/approver/paths/approver@reports.yaml | Require data/count/offset on list response schema. |
| src/approver/paths/approver@projects.yaml | Require data/count/offset on list response schema. |
| src/approver/paths/approver@per_diem_rates.yaml | Require data/count/offset on list response schema. |
| src/approver/paths/approver@mileage_rates.yaml | Require data/count/offset on list response schema. |
| src/approver/paths/approver@merchants.yaml | Require data/count/offset on list response schema. |
| src/approver/paths/approver@expenses@filters.yaml | Require data/count/offset on list response schema. |
| src/approver/paths/approver@expenses@export_configurations.yaml | Require data/count/offset on list response schema. |
| src/approver/paths/approver@expenses@duplicate_sets.yaml | Require data on response schema. |
| src/approver/paths/approver@expenses@comments.yaml | Require data/count/offset on list response schema. |
| src/approver/paths/approver@expenses.yaml | Require data/count/offset on list response schema. |
| src/approver/paths/approver@expense_policies@states.yaml | Require data/count/offset on list response schema. |
| src/approver/paths/approver@expense_fields.yaml | Require data/count/offset on list response schema. |
| src/approver/paths/approver@employees.yaml | Require data/count/offset on list response schema. |
| src/approver/paths/approver@employee_overview@hierarchy.yaml | Require data on response schema. |
| src/approver/paths/approver@employee_overview@expenses.yaml | Require data/count/offset on list response schema. |
| src/approver/paths/approver@employee_overview.yaml | Require data/count/offset on list response schema. |
| src/approver/paths/approver@cost_centers.yaml | Require data/count/offset on list response schema. |
| src/approver/paths/approver@corporate_cards.yaml | Require data/count/offset on list response schema. |
| src/approver/paths/approver@categories.yaml | Require data/count/offset on list response schema. |
| src/approver/paths/approver@advance_requests@custom_fields.yaml | Require data on response schema. |
| src/approver/paths/approver@advance_requests.yaml | Require data/count/offset on list response schema. |
| src/approver/paths/approver@accounts.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@virtual_cards.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@tax_groups.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@subscriptions.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@statements@rtf_stats.yaml | Require data on response schema. |
| src/admin/paths/admin@statements@missing_transactions.yaml | Require data on response schema. |
| src/admin/paths/admin@statements.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@statement_mappings.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@spend_overview@summary.yaml | Require data on response schema. |
| src/admin/paths/admin@spend_overview@by_user.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@spend_overview@by_project.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@spend_overview@by_merchant.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@spend_overview@by_department.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@spend_overview@by_corporate_card.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@spend_overview@by_category.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@schedules.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@scheduled_callbacks.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@reports@save_filters.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@reports@exports.yaml | Require data/count/offset on list response schema (needs type: object). |
| src/admin/paths/admin@reports@export_configurations.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@reports.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@reminders.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@reimbursements.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@reconciliation_entries@transactions.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@reconciliation_entries@eligible_cards.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@reconciliation_entries.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@projects.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@per_diem_rates.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@orgs.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@orgs_bank_details.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@mileage_rates.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@merchants.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@levels.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@feature_configs.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@expenses@filters.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@expenses@export_configurations.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@expenses@duplicate_sets@stats.yaml | Require data on response schema. |
| src/admin/paths/admin@expenses@duplicate_sets.yaml | Require data on response schema. |
| src/admin/paths/admin@expenses@comments.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@expenses.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@expense_rules.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@expense_policies@states.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@expense_policies.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@expense_fields.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@employees@uploads.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@employees@titles.yaml | Require data on response schema. |
| src/admin/paths/admin@employees@summaries.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@employees@potential_duplicate_expenses.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@employees@locations.yaml | Require data on response schema. |
| src/admin/paths/admin@employees@filters.yaml | Require data on response schema. |
| src/admin/paths/admin@employees@export_configurations.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@employees@downloads.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@employees@business_units.yaml | Require data on response schema. |
| src/admin/paths/admin@employees.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@employee_fields.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@employee_account_summaries.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@dwolla_customers.yaml | Require data on response schema. |
| src/admin/paths/admin@dependent_expense_field_values@uploads.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@dependent_expense_field_values@preview.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@dependent_expense_field_values@downloads.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@dependent_expense_field_values.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@departments.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@cost_centers.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@corporate_cards@masked_card_numbers.yaml | Require data on response schema. |
| src/admin/paths/admin@corporate_cards@duplicate_suggestions.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@corporate_cards@bank_names.yaml | Require data on response schema. |
| src/admin/paths/admin@corporate_cards@archive_suggestions.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@corporate_cards.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@corporate_card_transactions@filters.yaml | Require data on response schema. |
| src/admin/paths/admin@corporate_card_transactions@export_configurations.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@corporate_card_transactions.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@categories@system_categories.yaml | Require data on response schema. |
| src/admin/paths/admin@categories.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@budgets.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@budget_usages.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@automations@report_submissions.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@advances.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@advance_wallets.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@advance_requests@custom_fields.yaml | Require data on response schema. |
| src/admin/paths/admin@advance_requests.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@advance_refunds.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@adjustments.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@accounts.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@accounting_exports.yaml | Require data/count/offset on list response schema. |
| src/admin/paths/admin@accounting_export_lineitems.yaml | Require data/count/offset on list response schema. |
| src/accountant/paths/accountant@orgs.yaml | Require data/count/offset on list response schema. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 183 out of 183 changed files in this pull request and generated no new comments.
Comments suppressed due to low confidence (3)
src/spender/paths/spender@reports@exports.yaml:17
- The 200-response schema uses
required/propertiesbut does not declaretype: object. Most other list responses in this repo explicitly settype: object, and some OpenAPI tooling will treatrequiredas inapplicable unless the schema is clearly an object.
src/admin/paths/admin@reports@exports.yaml:17 - The 200-response schema uses
required/propertiesbut does not declaretype: object. Addingtype: objectimproves OpenAPI/JSON Schema compatibility and matches the pattern used by other paginated list responses.
src/approver/paths/approver@reports@exports.yaml:17 - The 200-response schema uses
required/propertiesbut does not declaretype: object. Some OpenAPI tooling relies ontype: objectforrequiredto be applied consistently.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
| required: | ||
| - data | ||
| - count | ||
| - offset |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 183 out of 183 changed files in this pull request and generated 1 comment.
Comments suppressed due to low confidence (2)
src/admin/paths/admin@statements@rtf_stats.yaml:22
itemsis only valid for arrays. Sincedatahere represents an object schema, this should be a direct$ref(orallOf) to the object schema instead oftype: object+items:.
src/admin/paths/admin@statements@missing_transactions.yaml:71itemsis only valid for arrays. Sincedatais declared as an object here, it should be a direct$refto the object schema (or switchdatatotype: arrayif that's what the response actually returns).
| schema: | ||
| type: object | ||
| additionalProperties: False | ||
| required: | ||
| - data |
Description
Please add PR description here, add screenshots if needed
Clickup
app.clickup.com