changedInput schema / properties / cursor / description
Previous value: -"next_cursor from a previous page, to continue past the 10,000-result window — a positive integer observation id, sent upstream as id_below. Mutually exclusive with page, and forces an id ordering."New value: +"next_cursor from a previous id-descending page, to continue past the 10,000-result window — a positive integer observation id, sent upstream as id_below. Mutually exclusive with page, and forces order_by \"id\", order \"desc\"."
addedInput schema / properties / license
Added value: +{
+ "description": "Restrict to records whose own license_code is one of these, e.g. [\"cc-by\",\"cc0\"] for reuse with attribution only. Decode the codes with inaturalist_list_reference topic licenses; all-rights-reserved records have no code to pass.",
+ "items": {
+ "enum": [
+ "cc-by",
+ "cc-by-nc",
+ "cc-by-nd",
+ "cc-by-sa",
+ "cc-by-nc-nd",
+ "cc-by-nc-sa",
+ "cc0"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+}
changedInput schema / properties / licensed / description
Previous value: -"Restrict to records whose own license_code is not null."New value: +"Restrict to records whose own license_code is not null — any licence, NonCommercial and NoDerivatives variants included. For specific licences, use license."
changedInput schema / properties / order_by / description
Previous value: -"Sort field. Forced to id when cursor is supplied, since a cursor only continues an id ordering."New value: +"Sort field. Set \"id\" with order \"desc\" to walk past 10,000 results: that is the one ordering next_cursor continues, so it is the only one that issues a next_cursor. A cursor forces it."
changedInput schema / properties / page / description
Previous value: -"Page number within the first 10,000 results. Defaults to 1. Mutually exclusive with cursor."New value: +"Page number within the first 10,000 results, under any ordering. Defaults to 1. Mutually exclusive with cursor."
addedInput schema / properties / photo_license
Added value: +{
+ "description": "Restrict to records carrying at least one photo under one of these licence codes. Matched independently of the record’s own license_code, so check each photo’s license_code before reusing it.",
+ "items": {
+ "enum": [
+ "cc-by",
+ "cc-by-nc",
+ "cc-by-nd",
+ "cc-by-sa",
+ "cc-by-nc-nd",
+ "cc-by-nc-sa",
+ "cc0"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+}
changedInput schema / properties / photo_licensed / description
Previous value: -"Restrict to records with at least one licensed photo."New value: +"Restrict to records with at least one licensed photo, under any licence. For specific licences, use photo_license."
addedInput schema / properties / project_id
Added value: +{
+ "description": "Restrict to observations in one project, by numeric project id from inaturalist_resolve_name type project.",
+ "maximum": 9007199254740991,
+ "minimum": 1,
+ "type": "integer"
+}
addedInput schema / properties / user_id
Added value: +{
+ "description": "Restrict to one observer, by numeric user id from inaturalist_resolve_name type user. Mutually exclusive with user_login.",
+ "maximum": 9007199254740991,
+ "minimum": 1,
+ "type": "integer"
+}
addedInput schema / properties / user_login
Added value: +{
+ "description": "Restrict to one observer, by login — the login on an inaturalist_resolve_name user candidate, a leaderboard entry, or an observation’s observer. Mutually exclusive with user_id.",
+ "minLength": 1,
+ "type": "string"
+}
changedOutput schema / properties / error / properties / data / properties / reason / description
Previous value: -"Machine-readable failure mode. Declared by this tool: `invalid_geography`: An area was given partially, in two forms at once, with a radius of 0 or less, or with nelat south of swlat. `inverted_date_range`: d1 is after d2. `inverted_rank_range`: hrank is a finer rank than lrank. `result_window_exceeded`: page multiplied by per_page would reach past the upstream 10,000-result window. `conflicting_pagination`: Both page and cursor were supplied. `unpaired_annotation_value`: term_value_id was supplied without term_id. `search_on_without_query`: search_on was supplied without q. `unknown_taxon_id`: iNaturalist answered 422 because the taxon_id does not exist. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `invalid_geography`: An area was given partially, in two forms at once, with a radius of 0 or less, or with nelat south of swlat. `inverted_date_range`: d1 is after d2. `inverted_rank_range`: hrank is a finer rank than lrank. `result_window_exceeded`: page multiplied by per_page would reach past the upstream 10,000-result window. `conflicting_pagination`: Both page and cursor were supplied. `unpaired_annotation_value`: term_value_id was supplied without term_id. `search_on_without_query`: search_on was supplied without q. `conflicting_observer`: user_id and user_login were both supplied. `unknown_taxon_id`: iNaturalist answered 422 because the taxon_id does not exist. `unknown_user`: iNaturalist answered 422 because the user_id or user_login names no observer. `unknown_project_id`: iNaturalist answered 422 because the project_id does not exist. Other values are possible when a failure originates below the handler."
changedOutput schema / properties / error / properties / data / properties / reason / examples
Previous value: -[
- "invalid_geography",
- "inverted_date_range",
- "inverted_rank_range",
- "result_window_exceeded",
- "conflicting_pagination",
- "unpaired_annotation_value",
- "search_on_without_query",
- "unknown_taxon_id"
-]New value: +[
+ "invalid_geography",
+ "inverted_date_range",
+ "inverted_rank_range",
+ "result_window_exceeded",
+ "conflicting_pagination",
+ "unpaired_annotation_value",
+ "search_on_without_query",
+ "conflicting_observer",
+ "unknown_taxon_id",
+ "unknown_user",
+ "unknown_project_id"
+]
changedOutput schema / properties / has_more / description
Previous value: -"True when this page filled per_page, so more records follow."New value: +"True when this page filled per_page and more records follow. On the page path an exactly full final page is false; under a cursor, where the offset is unknown, every full page is true."
changedOutput schema / properties / next_cursor / description
Previous value: -"Pass back as cursor to continue past this page. Absent when has_more is false."New value: +"Pass back as cursor to continue past this page. Present only when has_more is true and the page was ordered by id descending; under any other ordering, raise page instead."
changedOutput schema / properties / notice / description
Previous value: -"Guidance when nothing matched, or how to continue past a full page."New value: +"Guidance when nothing matched, when the page is past the last one holding results, or how to continue past a full page."