Skip to content

Comments

Update API docs for submissions/entity geodata endpoints#1725

Open
brontolosone wants to merge 1 commit intogetodk:masterfrom
brontolosone:1396-odata_filter_for_geojson_apis_docs
Open

Update API docs for submissions/entity geodata endpoints#1725
brontolosone wants to merge 1 commit intogetodk:masterfrom
brontolosone:1396-odata_filter_for_geojson_apis_docs

Conversation

@brontolosone
Copy link
Contributor

@brontolosone brontolosone commented Dec 23, 2025

Related: getodk/central#1396

What has been done to verify that this works as intended?

Watched CI not explode.

Why is this the best possible solution? Were any other approaches considered?

How does this change affect users? Describe intentional changes to behavior and behavior that could have accidentally been affected by code changes. In other words, what are the regression risks?

N/A

Does this change require updates to the API documentation? If so, please update docs/api.yaml as part of this PR.

Error: Maximum recursion depth reached

Before submitting this PR, please make sure you have:

  • run make test and confirmed all checks still pass OR confirm CircleCI build passes
  • verified that any code from external sources are properly credited in comments or that everything is internally sourced

@brontolosone brontolosone force-pushed the 1396-odata_filter_for_geojson_apis_docs branch 4 times, most recently from 8db2127 to 3599746 Compare December 23, 2025 15:26
@brontolosone brontolosone marked this pull request as ready for review December 23, 2025 15:35
@brontolosone brontolosone force-pushed the 1396-odata_filter_for_geojson_apis_docs branch from 3599746 to 244b70c Compare February 5, 2026 15:55
@brontolosone brontolosone force-pushed the 1396-odata_filter_for_geojson_apis_docs branch from 244b70c to 9207942 Compare February 12, 2026 14:18
@brontolosone brontolosone requested review from matthew-white and removed request for sadiqkhoja February 12, 2026 14:19
@brontolosone brontolosone moved this to ✏️ in progress in ODK Central Feb 12, 2026
description: An [OData-style `$filter` query](/central-api-odata-endpoints/#data-document) to filter the submissions by.
schema:
type: string
- name: $limit
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought "limit" was $top in OData land?

schema:
type: string
example: "/some_group/some_geopoint"
description: Extract geoinformation from the specified field. At most one field can be specified. If no field is specified, the "default" field (the first geofield not directly or indirectly part of any repeatroup) is used.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I forget, does fieldpath support fields in repeat groups? I know the default excludes repeat groups, but what if a field in a repeat group is specified?

schema:
type: string
example: "/some_group/some_geopoint"
description: Extract geoinformation from the specified field. At most one field can be specified. If no field is specified, the "default" field (the first geofield not directly or indirectly part of any repeatroup) is used.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: Extract geoinformation from the specified field. At most one field can be specified. If no field is specified, the "default" field (the first geofield not directly or indirectly part of any repeatroup) is used.
description: Extract geoinformation from the specified form field. At most one field can be specified. If no field is specified, the default is the first geofield that is not part of any repeat group.

Just a few tweaks here:

  • "repeatroup" → "repeat group"
  • No quotes around "default"
  • I don't totally follow the distinction between directly vs. indirectly part of a repeat group. Is it how deeply the field is nested within a repeat group? If so, I think we can probably skip it for clarity.

Comment on lines -8489 to -8492

⚠️ The specifics of this endpoint are likely to change in future releases, and the parameters this endpoint takes are not all documented.
Its current behaviour should not be depended upon.
Use cases for this API can be discussed on [the forum](https://forum.getodk.org/).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about adding the same sort of line as you did for submissions:

You can use an [OData-style `$filter` query](/central-api-odata-endpoints/#data-document) to filter the submissions.

Comment on lines +8523 to +8533
- name: $limit
in: query
schema:
type: number
example: 100
description: Impose a limit on the number of entities to extract geoinformation from.
- name: $search
in: query
description: The `$search` querystring parameter can be used to search entity data (user-defined properties) and the `label` field, using the same search behavior as the [OData Dataset Service](/central-api-odata-endpoints/#odata-dataset-service).
schema:
type: string
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

$filter here as well, right?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: ✏️ in progress

Development

Successfully merging this pull request may close these issues.

2 participants