# SPDX-License-Identifier: CC-BY-NC-SA-4.0 # # The CKAN Action API, as a Spectral ruleset. # # GENERATED by scripts/build-ruleset.py from the measured profile. Do not hand-edit: these # rules exist because 36 live portals were called and these actions answered on a # majority of them. Re-probe, rebuild, and the rules follow the evidence. # # Point it at an OpenAPI describing a CKAN-compatible portal. # # WHAT THIS DOES NOT CHECK # - Whether the portal serves what its document advertises. For CKAN that is the # interesting question and only a probe answers it: run scripts/probe-adopters.py. # - Which CKAN release a portal runs. This is a version-drift cohort — the same software # at releases spanning years — and a document cannot tell you the release. status_show # can, which is why the conformance flow starts there. # - Plugin actions. ckanext-scheming, ckanext-datastore and the rest add actions outside # the base surface; declaring one is not a defect and is not linted. # # Built-in functions only, so it runs unchanged in the browser validator. formats: [oas3] rules: ckan-core-organization-list-for-user: description: >- `organization_list_for_user` is core: 36 of 36 probed portals served it (100.0%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`organization_list_for_user` is not described. It is served by 100.0% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/organization_list_for_user$" ckan-core-status-show: description: >- `status_show` is core: 36 of 36 probed portals served it (100.0%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`status_show` is not described. It is served by 100.0% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/status_show$" ckan-core-dataset-followee-count: description: >- `dataset_followee_count` is core: 35 of 36 probed portals served it (97.2%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`dataset_followee_count` is not described. It is served by 97.2% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/dataset_followee_count$" ckan-core-dataset-followee-list: description: >- `dataset_followee_list` is core: 35 of 36 probed portals served it (97.2%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`dataset_followee_list` is not described. It is served by 97.2% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/dataset_followee_list$" ckan-core-dataset-follower-list: description: >- `dataset_follower_list` is core: 35 of 36 probed portals served it (97.2%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`dataset_follower_list` is not described. It is served by 97.2% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/dataset_follower_list$" ckan-core-get-site-user: description: >- `get_site_user` is core: 35 of 36 probed portals served it (97.2%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`get_site_user` is not described. It is served by 97.2% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/get_site_user$" ckan-core-group-followee-count: description: >- `group_followee_count` is core: 35 of 36 probed portals served it (97.2%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`group_followee_count` is not described. It is served by 97.2% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/group_followee_count$" ckan-core-group-followee-list: description: >- `group_followee_list` is core: 35 of 36 probed portals served it (97.2%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`group_followee_list` is not described. It is served by 97.2% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/group_followee_list$" ckan-core-group-follower-count: description: >- `group_follower_count` is core: 35 of 36 probed portals served it (97.2%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`group_follower_count` is not described. It is served by 97.2% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/group_follower_count$" ckan-core-group-follower-list: description: >- `group_follower_list` is core: 35 of 36 probed portals served it (97.2%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`group_follower_list` is not described. It is served by 97.2% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/group_follower_list$" ckan-core-group-list: description: >- `group_list` is core: 35 of 36 probed portals served it (97.2%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`group_list` is not described. It is served by 97.2% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/group_list$" ckan-core-help-show: description: >- `help_show` is core: 35 of 36 probed portals served it (97.2%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`help_show` is not described. It is served by 97.2% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/help_show$" ckan-core-license-list: description: >- `license_list` is core: 35 of 36 probed portals served it (97.2%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`license_list` is not described. It is served by 97.2% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/license_list$" ckan-core-member-list: description: >- `member_list` is core: 35 of 36 probed portals served it (97.2%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`member_list` is not described. It is served by 97.2% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/member_list$" ckan-core-tag-autocomplete: description: >- `tag_autocomplete` is core: 35 of 36 probed portals served it (97.2%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`tag_autocomplete` is not described. It is served by 97.2% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/tag_autocomplete$" ckan-core-tag-search: description: >- `tag_search` is core: 35 of 36 probed portals served it (97.2%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`tag_search` is not described. It is served by 97.2% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/tag_search$" ckan-core-am-following-dataset: description: >- `am_following_dataset` is core: 34 of 36 probed portals served it (94.4%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`am_following_dataset` is not described. It is served by 94.4% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/am_following_dataset$" ckan-core-am-following-group: description: >- `am_following_group` is core: 34 of 36 probed portals served it (94.4%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`am_following_group` is not described. It is served by 94.4% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/am_following_group$" ckan-core-am-following-user: description: >- `am_following_user` is core: 34 of 36 probed portals served it (94.4%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`am_following_user` is not described. It is served by 94.4% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/am_following_user$" ckan-core-config-option-list: description: >- `config_option_list` is core: 34 of 36 probed portals served it (94.4%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`config_option_list` is not described. It is served by 94.4% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/config_option_list$" ckan-core-config-option-show: description: >- `config_option_show` is core: 34 of 36 probed portals served it (94.4%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`config_option_show` is not described. It is served by 94.4% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/config_option_show$" ckan-core-dataset-follower-count: description: >- `dataset_follower_count` is core: 34 of 36 probed portals served it (94.4%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`dataset_follower_count` is not described. It is served by 94.4% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/dataset_follower_count$" ckan-core-followee-count: description: >- `followee_count` is core: 34 of 36 probed portals served it (94.4%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`followee_count` is not described. It is served by 94.4% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/followee_count$" ckan-core-followee-list: description: >- `followee_list` is core: 34 of 36 probed portals served it (94.4%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`followee_list` is not described. It is served by 94.4% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/followee_list$" ckan-core-format-autocomplete: description: >- `format_autocomplete` is core: 34 of 36 probed portals served it (94.4%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`format_autocomplete` is not described. It is served by 94.4% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/format_autocomplete$" ckan-core-group-list-authz: description: >- `group_list_authz` is core: 34 of 36 probed portals served it (94.4%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`group_list_authz` is not described. It is served by 94.4% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/group_list_authz$" ckan-core-group-package-show: description: >- `group_package_show` is core: 34 of 36 probed portals served it (94.4%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`group_package_show` is not described. It is served by 94.4% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/group_package_show$" ckan-core-member-roles-list: description: >- `member_roles_list` is core: 34 of 36 probed portals served it (94.4%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`member_roles_list` is not described. It is served by 94.4% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/member_roles_list$" ckan-core-organization-followee-list: description: >- `organization_followee_list` is core: 34 of 36 probed portals served it (94.4%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`organization_followee_list` is not described. It is served by 94.4% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/organization_followee_list$" ckan-core-organization-follower-list: description: >- `organization_follower_list` is core: 34 of 36 probed portals served it (94.4%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`organization_follower_list` is not described. It is served by 94.4% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/organization_follower_list$" ckan-core-organization-list: description: >- `organization_list` is core: 34 of 36 probed portals served it (94.4%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`organization_list` is not described. It is served by 94.4% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/organization_list$" ckan-core-organization-show: description: >- `organization_show` is core: 34 of 36 probed portals served it (94.4%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`organization_show` is not described. It is served by 94.4% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/organization_show$" ckan-core-package-autocomplete: description: >- `package_autocomplete` is core: 34 of 36 probed portals served it (94.4%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`package_autocomplete` is not described. It is served by 94.4% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/package_autocomplete$" ckan-core-package-relationships-list: description: >- `package_relationships_list` is core: 34 of 36 probed portals served it (94.4%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`package_relationships_list` is not described. It is served by 94.4% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/package_relationships_list$" ckan-core-resource-search: description: >- `resource_search` is core: 34 of 36 probed portals served it (94.4%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`resource_search` is not described. It is served by 94.4% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/resource_search$" ckan-core-resource-show: description: >- `resource_show` is core: 34 of 36 probed portals served it (94.4%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`resource_show` is not described. It is served by 94.4% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/resource_show$" ckan-core-tag-show: description: >- `tag_show` is core: 34 of 36 probed portals served it (94.4%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`tag_show` is not described. It is served by 94.4% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/tag_show$" ckan-core-task-status-show: description: >- `task_status_show` is core: 34 of 36 probed portals served it (94.4%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`task_status_show` is not described. It is served by 94.4% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/task_status_show$" ckan-core-user-followee-count: description: >- `user_followee_count` is core: 34 of 36 probed portals served it (94.4%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`user_followee_count` is not described. It is served by 94.4% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/user_followee_count$" ckan-core-user-followee-list: description: >- `user_followee_list` is core: 34 of 36 probed portals served it (94.4%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`user_followee_list` is not described. It is served by 94.4% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/user_followee_list$" ckan-core-user-follower-list: description: >- `user_follower_list` is core: 34 of 36 probed portals served it (94.4%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`user_follower_list` is not described. It is served by 94.4% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/user_follower_list$" ckan-core-vocabulary-show: description: >- `vocabulary_show` is core: 34 of 36 probed portals served it (94.4%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`vocabulary_show` is not described. It is served by 94.4% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/vocabulary_show$" ckan-core-group-show: description: >- `group_show` is core: 33 of 36 probed portals served it (91.7%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`group_show` is not described. It is served by 91.7% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/group_show$" ckan-core-job-show: description: >- `job_show` is core: 33 of 36 probed portals served it (91.7%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`job_show` is not described. It is served by 91.7% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/job_show$" ckan-core-organization-follower-count: description: >- `organization_follower_count` is core: 33 of 36 probed portals served it (91.7%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`organization_follower_count` is not described. It is served by 91.7% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/organization_follower_count$" ckan-core-resource-view-list: description: >- `resource_view_list` is core: 33 of 36 probed portals served it (91.7%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`resource_view_list` is not described. It is served by 91.7% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/resource_view_list$" ckan-core-resource-view-show: description: >- `resource_view_show` is core: 33 of 36 probed portals served it (91.7%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`resource_view_show` is not described. It is served by 91.7% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/resource_view_show$" ckan-core-term-translation-show: description: >- `term_translation_show` is core: 33 of 36 probed portals served it (91.7%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`term_translation_show` is not described. It is served by 91.7% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/term_translation_show$" ckan-core-user-follower-count: description: >- `user_follower_count` is core: 33 of 36 probed portals served it (91.7%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`user_follower_count` is not described. It is served by 91.7% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/user_follower_count$" ckan-core-job-list: description: >- `job_list` is core: 32 of 36 probed portals served it (88.9%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`job_list` is not described. It is served by 88.9% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/job_list$" ckan-core-package-show: description: >- `package_show` is core: 32 of 36 probed portals served it (88.9%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`package_show` is not described. It is served by 88.9% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/package_show$" ckan-core-vocabulary-list: description: >- `vocabulary_list` is core: 32 of 36 probed portals served it (88.9%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`vocabulary_list` is not described. It is served by 88.9% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/vocabulary_list$" ckan-core-user-autocomplete: description: >- `user_autocomplete` is core: 31 of 36 probed portals served it (86.1%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`user_autocomplete` is not described. It is served by 86.1% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/user_autocomplete$" ckan-core-tag-list: description: >- `tag_list` is core: 30 of 36 probed portals served it (83.3%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`tag_list` is not described. It is served by 83.3% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/tag_list$" ckan-core-user-list: description: >- `user_list` is core: 30 of 36 probed portals served it (83.3%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`user_list` is not described. It is served by 83.3% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/user_list$" ckan-core-group-autocomplete: description: >- `group_autocomplete` is core: 28 of 36 probed portals served it (77.8%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`group_autocomplete` is not described. It is served by 77.8% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/group_autocomplete$" ckan-core-organization-autocomplete: description: >- `organization_autocomplete` is core: 28 of 36 probed portals served it (77.8%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`organization_autocomplete` is not described. It is served by 77.8% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/organization_autocomplete$" ckan-core-current-package-list-with-resources: description: >- `current_package_list_with_resources` is core: 26 of 36 probed portals served it (72.2%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`current_package_list_with_resources` is not described. It is served by 72.2% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/current_package_list_with_resources$" ckan-core-package-search: description: >- `package_search` is core: 26 of 36 probed portals served it (72.2%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`package_search` is not described. It is served by 72.2% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/package_search$" ckan-core-api-token-list: description: >- `api_token_list` is core: 24 of 36 probed portals served it (66.7%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`api_token_list` is not described. It is served by 66.7% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/api_token_list$" ckan-core-package-collaborator-list: description: >- `package_collaborator_list` is core: 24 of 36 probed portals served it (66.7%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`package_collaborator_list` is not described. It is served by 66.7% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/package_collaborator_list$" ckan-core-package-collaborator-list-for-user: description: >- `package_collaborator_list_for_user` is core: 24 of 36 probed portals served it (66.7%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`package_collaborator_list_for_user` is not described. It is served by 66.7% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/package_collaborator_list_for_user$" ckan-core-package-list: description: >- `package_list` is core: 22 of 36 probed portals served it (61.1%). A document that does not describe it is not describing the interoperable CKAN Action API. message: "`package_list` is not described. It is served by 61.1% of probed portals." severity: error documentationUrl: https://apicommons.org/standards/open-data/#core given: "$" then: field: paths function: schema functionOptions: schema: type: object minProperties: 1 not: propertyNames: not: pattern: "(^|/)action/package_list$" ckan-response-envelope-carries-success: description: >- Every CKAN response — success or failure — uses one envelope with a `success` boolean. A client reads `success`, never the status code, because a portal answers an authorization failure, a validation failure and an unknown action with the same shape. message: "This 200 response does not expose `success`." severity: error documentationUrl: https://apicommons.org/standards/open-data/#envelope given: "$.paths[*][*].responses['200'].content['application/json'].schema" then: function: schema functionOptions: schema: anyOf: - type: object required: [properties] properties: properties: type: object required: [success] - type: object required: [allOf] properties: allOf: type: array contains: type: object required: [properties] properties: properties: type: object required: [success] - type: object required: [$ref] ckan-actions-live-under-api-3-action: description: >- CKAN actions are served at /api/3/action/. A portal that moves them breaks every client written against any other CKAN, which is the whole value of running one. message: "This path is not under /api/3/action/." severity: warn documentationUrl: https://docs.ckan.org/en/latest/api/ given: "$.paths" then: field: "@key" function: pattern functionOptions: match: "/api/3/action/"