json 这是CKAN API的OpenAPI规范定义
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了json 这是CKAN API的OpenAPI规范定义相关的知识,希望对你有一定的参考价值。
{
"swagger": "2.0",
"host": "example.com",
"basePath": "/api/3/",
"schemes": [
"https"
],
"info": {
"description": "This is a CKAN OpenAPI Spec.",
"version": "3"
},
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"paths": {
"/activity": {
"get": {
"operationId": "activity",
"parameters": [
{
"description": "Filter activities for that particular organization",
"in": "query",
"name": "organization",
"type": "string"
},
{
"default": 1,
"description": "The page to fetch",
"in": "query",
"name": "page",
"type": "integer"
},
{
"default": 20,
"description": "The page size to fetch",
"in": "query",
"name": "page_size",
"type": "integer"
},
{
"description": "Filter activities for that particular user",
"in": "query",
"name": "user",
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/ActivityPage"
},
"type": "array"
}
}
},
"summary": "Fetch site activity, optionally filterd by user of org",
"tags": [
"site"
]
}
},
"/datasets/": {
"get": {
"operationId": "list_datasets",
"parameters": [
{
"description": "The field (and direction) on which sorting apply",
"enum": [
"views",
"created",
"last_modified",
"followers",
"reuses",
"title",
"-views",
"-created",
"-last_modified",
"-followers",
"-reuses",
"-title"
],
"in": "query",
"name": "sort",
"type": "string"
},
{
"in": "query",
"name": "geozone",
"type": "string"
},
{
"in": "query",
"name": "license",
"type": "string"
},
{
"in": "query",
"name": "extra",
"type": "string"
},
{
"description": "Selected facets to fetch",
"enum": [
"all",
"geozone",
"format",
"featured",
"tag",
"granularity",
"owner",
"license",
"extra",
"temporal_coverage",
"reuses",
"organization",
"badge"
],
"in": "query",
"items": {
"type": "string"
},
"name": "facets",
"type": "array"
},
{
"in": "query",
"name": "format",
"type": "string"
},
{
"default": 20,
"description": "The page size",
"in": "query",
"name": "page_size",
"type": "integer"
},
{
"description": "The search query",
"in": "query",
"name": "q",
"type": "string"
},
{
"in": "query",
"name": "featured",
"type": "string"
},
{
"in": "query",
"name": "tag",
"type": "string"
},
{
"in": "query",
"name": "temporal_coverage",
"type": "string"
},
{
"in": "query",
"name": "granularity",
"type": "string"
},
{
"in": "query",
"name": "owner",
"type": "string"
},
{
"in": "query",
"name": "organization",
"type": "string"
},
{
"in": "query",
"name": "badge",
"type": "string"
},
{
"description": "The page to display",
"in": "query",
"name": "page",
"type": "integer"
},
{
"in": "query",
"name": "reuses",
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/DatasetPage"
}
}
},
"summary": "List or search all datasets",
"tags": [
"datasets"
]
},
"post": {
"operationId": "create_dataset",
"parameters": [
{
"in": "body",
"name": "payload",
"required": true,
"schema": {
"$ref": "#/definitions/Dataset"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Dataset"
}
},
"400": {
"description": "Validation error"
}
},
"summary": "Create a new dataset",
"tags": [
"datasets"
]
}
},
"/datasets/badges/": {
"get": {
"operationId": "available_dataset_badges",
"responses": {
"200": {
"description": "Success"
}
},
"summary": "List all available dataset badges and their labels",
"tags": [
"datasets"
]
}
},
"/datasets/checkurl/": {
"get": {
"operationId": "checkurl",
"parameters": [
{
"description": "The URL to check",
"in": "query",
"name": "url",
"required": true,
"type": "string"
},
{
"description": "The dataset related to the URL",
"in": "query",
"name": "group",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Checks that a URL exists and returns metadata",
"tags": [
"datasets"
]
}
},
"/datasets/community_resources/": {
"get": {
"operationId": "list_community_resources",
"parameters": [
{
"default": "-created",
"description": "The sorting attribute",
"in": "query",
"name": "sort",
"type": "string"
},
{
"default": 20,
"description": "The page size to fetch",
"in": "query",
"name": "page_size",
"type": "integer"
},
{
"description": "Filter activities for that particular dataset",
"in": "query",
"name": "dataset",
"type": "string"
},
{
"description": "Filter activities for that particular user",
"in": "query",
"name": "owner",
"type": "string"
},
{
"description": "Filter activities for that particular organization",
"in": "query",
"name": "organization",
"type": "string"
},
{
"default": 1,
"description": "The page to fetch",
"in": "query",
"name": "page",
"type": "integer"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/CommunityResourcePage"
}
}
},
"summary": "List all community resources",
"tags": [
"datasets"
]
},
"post": {
"operationId": "create_community_resource",
"parameters": [
{
"in": "body",
"name": "payload",
"required": true,
"schema": {
"$ref": "#/definitions/CommunityResource"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/CommunityResource"
}
}
},
"summary": "Create a new community resource",
"tags": [
"datasets"
]
}
},
"/datasets/community_resources/{community}/": {
"delete": {
"operationId": "delete_community_resource",
"parameters": [
{
"description": "The community resource unique identifier",
"in": "path",
"name": "community",
"required": true,
"type": "string"
},
{
"description": "The dataset ID or slug",
"in": "query",
"name": "dataset",
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/CommunityResource"
}
}
},
"summary": "Delete a given community resource",
"tags": [
"datasets"
]
},
"get": {
"operationId": "retrieve_community_resource",
"parameters": [
{
"description": "The community resource unique identifier",
"in": "path",
"name": "community",
"required": true,
"type": "string"
},
{
"description": "The dataset ID or slug",
"in": "query",
"name": "dataset",
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/CommunityResource"
}
}
},
"summary": "Retrieve a community resource given its identifier",
"tags": [
"datasets"
]
},
"put": {
"operationId": "update_community_resource",
"parameters": [
{
"in": "body",
"name": "payload",
"required": true,
"schema": {
"$ref": "#/definitions/CommunityResource"
}
},
{
"description": "The community resource unique identifier",
"in": "path",
"name": "community",
"required": true,
"type": "string"
},
{
"description": "The dataset ID or slug",
"in": "query",
"name": "dataset",
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/CommunityResource"
}
}
},
"summary": "Update a given community resource",
"tags": [
"datasets"
]
}
},
"/datasets/community_resources/{community}/upload/": {
"post": {
"operationId": "upload_community_resource",
"parameters": [
{
"description": "The community resource unique identifier",
"in": "path",
"name": "community",
"required": true,
"type": "string"
},
{
"description": "The dataset ID or slug",
"in": "query",
"name": "dataset",
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/UploadedResource"
}
}
},
"summary": "Update the file related to a given community resource",
"tags": [
"datasets"
]
}
},
"/datasets/frequencies/": {
"get": {
"operationId": "list_frequencies",
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/Frequency"
},
"type": "array"
}
}
},
"summary": "List all available frequencies",
"tags": [
"datasets"
]
}
},
"/datasets/full/": {
"get": {
"operationId": "list_datasets_full",
"parameters": [
{
"description": "The field (and direction) on which sorting apply",
"enum": [
"views",
"created",
"last_modified",
"followers",
"reuses",
"title",
"-views",
"-created",
"-last_modified",
"-followers",
"-reuses",
"-title"
],
"in": "query",
"name": "sort",
"type": "string"
},
{
"in": "query",
"name": "geozone",
"type": "string"
},
{
"in": "query",
"name": "license",
"type": "string"
},
{
"in": "query",
"name": "extra",
"type": "string"
},
{
"description": "Selected facets to fetch",
"enum": [
"all",
"geozone",
"format",
"featured",
"tag",
"granularity",
"owner",
"license",
"extra",
"temporal_coverage",
"reuses",
"organization",
"badge"
],
"in": "query",
"items": {
"type": "string"
},
"name": "facets",
"type": "array"
},
{
"in": "query",
"name": "format",
"type": "string"
},
{
"default": 20,
"description": "The page size",
"in": "query",
"name": "page_size",
"type": "integer"
},
{
"description": "The search query",
"in": "query",
"name": "q",
"type": "string"
},
{
"in": "query",
"name": "featured",
"type": "string"
},
{
"in": "query",
"name": "tag",
"type": "string"
},
{
"in": "query",
"name": "temporal_coverage",
"type": "string"
},
{
"in": "query",
"name": "granularity",
"type": "string"
},
{
"in": "query",
"name": "owner",
"type": "string"
},
{
"in": "query",
"name": "organization",
"type": "string"
},
{
"in": "query",
"name": "badge",
"type": "string"
},
{
"description": "The page to display",
"in": "query",
"name": "page",
"type": "integer"
},
{
"in": "query",
"name": "reuses",
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/DatasetFullPage"
}
}
},
"tags": [
"datasets"
]
}
},
"/datasets/licenses/": {
"get": {
"operationId": "list_licenses",
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/License"
},
"type": "array"
}
}
},
"summary": "List all available licenses",
"tags": [
"datasets"
]
}
},
"/datasets/suggest/": {
"get": {
"operationId": "suggest_datasets",
"parameters": [
{
"description": "The string to autocomplete/suggest",
"in": "query",
"name": "q",
"required": true,
"type": "string"
},
{
"default": 10,
"description": "The amount of suggestion to fetch",
"in": "query",
"name": "size",
"type": "integer"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/DatasetSuggestion"
},
"type": "array"
}
}
},
"summary": "Suggest datasets",
"tags": [
"datasets"
]
}
},
"/datasets/suggest/formats/": {
"get": {
"operationId": "suggest_formats",
"parameters": [
{
"description": "The string to autocomplete/suggest",
"in": "query",
"name": "q",
"required": true,
"type": "string"
},
{
"default": 10,
"description": "The amount of suggestion to fetch",
"in": "query",
"name": "size",
"type": "integer"
}
],
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Suggest file formats",
"tags": [
"datasets"
]
}
},
"/datasets/{dataset}/": {
"delete": {
"operationId": "delete_dataset",
"parameters": [
{
"description": "The dataset ID or slug",
"in": "path",
"name": "dataset",
"required": true,
"type": "string"
}
],
"responses": {
"204": {
"description": "Dataset deleted"
},
"404": {
"description": "Dataset not found"
},
"410": {
"description": "Dataset has been deleted"
}
},
"summary": "Delete a dataset given its identifier",
"tags": [
"datasets"
]
},
"get": {
"operationId": "get_dataset",
"parameters": [
{
"description": "The dataset ID or slug",
"in": "path",
"name": "dataset",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Dataset"
}
},
"404": {
"description": "Dataset not found"
},
"410": {
"description": "Dataset has been deleted"
}
},
"summary": "Get a dataset given its identifier",
"tags": [
"datasets"
]
},
"put": {
"operationId": "update_dataset",
"parameters": [
{
"in": "body",
"name": "payload",
"required": true,
"schema": {
"$ref": "#/definitions/Dataset"
}
},
{
"description": "The dataset ID or slug",
"in": "path",
"name": "dataset",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Dataset"
}
},
"400": {
"description": "Validation error: your data cannot be updated for now, we have been notified of the error and we will fix it as soon as possible."
},
"404": {
"description": "Dataset not found"
},
"410": {
"description": "Dataset has been deleted"
}
},
"summary": "Update a dataset given its identifier",
"tags": [
"datasets"
]
}
},
"/datasets/{dataset}/badges/": {
"post": {
"operationId": "add_dataset_badge",
"parameters": [
{
"in": "body",
"name": "payload",
"required": true,
"schema": {
"$ref": "#/definitions/Badge"
}
},
{
"description": "The dataset ID or slug",
"in": "path",
"name": "dataset",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Badge"
}
}
},
"summary": "Create a new badge for a given dataset",
"tags": [
"datasets"
]
}
},
"/datasets/{dataset}/badges/{badge_kind}/": {
"delete": {
"operationId": "delete_dataset_badge",
"parameters": [
{
"in": "path",
"name": "badge_kind",
"required": true,
"type": "string"
},
{
"description": "The dataset ID or slug",
"in": "path",
"name": "dataset",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Delete a badge for a given dataset",
"tags": [
"datasets"
]
}
},
"/datasets/{dataset}/featured/": {
"delete": {
"operationId": "unfeature_reuse",
"parameters": [
{
"description": "The dataset ID or slug",
"in": "path",
"name": "dataset",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Dataset"
}
}
},
"summary": "Unmark the dataset as featured",
"tags": [
"datasets"
]
},
"post": {
"operationId": "feature_dataset",
"parameters": [
{
"description": "The dataset ID or slug",
"in": "path",
"name": "dataset",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Dataset"
}
}
},
"summary": "Mark the dataset as featured",
"tags": [
"datasets"
]
}
},
"/datasets/{dataset}/full/": {
"get": {
"operationId": "get_dataset_full",
"parameters": [
{
"description": "The dataset ID or slug",
"in": "path",
"name": "dataset",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/DatasetFull"
}
},
"404": {
"description": "Dataset not found"
},
"410": {
"description": "Dataset has been deleted"
}
},
"summary": "Get a dataset given its identifier",
"tags": [
"datasets"
]
}
},
"/datasets/{dataset}/resources/": {
"post": {
"operationId": "create_resource",
"parameters": [
{
"in": "body",
"name": "payload",
"required": true,
"schema": {
"$ref": "#/definitions/Resource"
}
},
{
"description": "The dataset ID or slug",
"in": "path",
"name": "dataset",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Resource"
}
}
},
"summary": "Create a new resource for a given dataset",
"tags": [
"datasets"
]
},
"put": {
"operationId": "update_resources",
"parameters": [
{
"in": "body",
"name": "payload",
"required": true,
"schema": {
"items": {
"$ref": "#/definitions/Resource"
},
"type": "array"
}
},
{
"description": "The dataset ID or slug",
"in": "path",
"name": "dataset",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Resource"
}
}
},
"summary": "Reorder resources",
"tags": [
"datasets"
]
}
},
"/datasets/{dataset}/resources/{rid}/": {
"delete": {
"operationId": "delete_resource",
"parameters": [
{
"description": "The resource unique identifier",
"in": "path",
"name": "rid",
"required": true,
"type": "string"
},
{
"description": "The dataset ID or slug",
"in": "path",
"name": "dataset",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Delete a given resource on a given dataset",
"tags": [
"datasets"
]
},
"put": {
"operationId": "update_resource",
"parameters": [
{
"description": "The resource unique identifier",
"in": "path",
"name": "rid",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "payload",
"required": true,
"schema": {
"$ref": "#/definitions/Resource"
}
},
{
"description": "The dataset ID or slug",
"in": "path",
"name": "dataset",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Resource"
}
}
},
"summary": "Update a given resource on a given dataset",
"tags": [
"datasets"
]
}
},
"/datasets/{dataset}/resources/{rid}/upload/": {
"post": {
"operationId": "upload_dataset_resource",
"parameters": [
{
"description": "The resource unique identifier",
"in": "path",
"name": "rid",
"required": true,
"type": "string"
},
{
"description": "The dataset ID or slug",
"in": "path",
"name": "dataset",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/UploadedResource"
}
}
},
"summary": "Upload a file related to a given resource on a given dataset",
"tags": [
"datasets"
]
}
},
"/datasets/{dataset}/upload/": {
"post": {
"consumes": [
"multipart/form-data"
],
"operationId": "upload_dataset_resources",
"parameters": [
{
"in": "formData",
"name": "file",
"required": true,
"type": "file"
},
{
"description": "The dataset ID or slug",
"in": "path",
"name": "dataset",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/UploadedResource"
}
}
},
"summary": "Upload a new dataset resource",
"tags": [
"datasets"
]
}
},
"/datasets/{dataset}/upload/community/": {
"post": {
"consumes": [
"multipart/form-data"
],
"operationId": "upload_community_resources",
"parameters": [
{
"in": "formData",
"name": "file",
"required": true,
"type": "file"
},
{
"description": "The dataset ID or slug",
"in": "path",
"name": "dataset",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/UploadedResource"
}
}
},
"summary": "Upload a new community resource",
"tags": [
"datasets"
]
}
},
"/datasets/{id}/followers/": {
"delete": {
"description": "Returns the number of followers left after the operation",
"operationId": "unfollow",
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Unfollow an object given its ID",
"tags": [
"datasets"
]
},
"get": {
"operationId": "list_followers",
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"type": "string"
},
{
"default": 20,
"description": "The page size to fetch",
"in": "query",
"name": "page_size",
"type": "integer"
},
{
"default": 1,
"description": "The page to fetch",
"in": "query",
"name": "page",
"type": "integer"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/FollowPage"
}
}
},
"summary": "List all followers for a given object",
"tags": [
"datasets"
]
},
"post": {
"description": "Returns the number of followers left after the operation",
"operationId": "follow",
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Follow an object given its ID",
"tags": [
"datasets"
]
}
},
"/discussions/": {
"get": {
"operationId": "list_discussions",
"parameters": [
{
"default": "-created",
"description": "The sorting attribute",
"in": "query",
"name": "sort",
"type": "string"
},
{
"default": 20,
"description": "The page size to fetch",
"in": "query",
"name": "page_size",
"type": "integer"
},
{
"default": 1,
"description": "The page to fetch",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "Filter discussions for a given subject",
"in": "query",
"items": {
"type": "string"
},
"name": "for",
"type": "array"
},
{
"description": "Filters discussions on their closed status if specified",
"in": "query",
"name": "closed",
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/DiscussionPage"
}
}
},
"summary": "List all Discussions",
"tags": [
"discussions"
]
},
"post": {
"operationId": "create_discussion",
"parameters": [
{
"in": "body",
"name": "payload",
"required": true,
"schema": {
"$ref": "#/definitions/Discussion"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Discussion"
}
}
},
"summary": "Create a new Discussion",
"tags": [
"discussions"
]
}
},
"/discussions/{id}/": {
"delete": {
"operationId": "delete_discussion",
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Discussion"
}
},
"403": {
"description": "Not allowed to delete this discussion"
}
},
"summary": "Delete a discussion given its ID",
"tags": [
"discussions"
]
},
"get": {
"operationId": "get_discussion",
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Discussion"
}
}
},
"summary": "Get a discussion given its ID",
"tags": [
"discussions"
]
},
"post": {
"operationId": "comment_discussion",
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "payload",
"required": true,
"schema": {
"$ref": "#/definitions/DiscussionResponse"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Discussion"
}
},
"403": {
"description": "Not allowed to close this discussion"
}
},
"summary": "Add comment and optionnaly close a discussion given its ID",
"tags": [
"discussions"
]
}
},
"/harvest/backends": {
"get": {
"operationId": "harvest_backends",
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/HarvestBackend"
}
}
},
"summary": "List all available harvest backends",
"tags": [
"harvest"
]
}
},
"/harvest/job/{ident}/": {
"get": {
"operationId": "get_harvest_job",
"parameters": [
{
"in": "path",
"name": "ident",
"required": true,
"type": "string"
},
{
"default": 1,
"description": "The page to fetch",
"in": "query",
"name": "page",
"type": "integer"
},
{
"default": 20,
"description": "The page size to fetch",
"in": "query",
"name": "page_size",
"type": "integer"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/HarvestJob"
}
}
},
"summary": "List all jobs for a given source",
"tags": [
"harvest"
]
}
},
"/harvest/job_status": {
"get": {
"operationId": "get_list_harvester_api",
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"type": "string"
},
"type": "array"
}
}
},
"summary": "List all available harvesters",
"tags": [
"harvest"
]
}
},
"/harvest/source/{ident}": {
"delete": {
"operationId": "delete_harvest_source",
"parameters": [
{
"description": "A source ID or slug",
"in": "path",
"name": "ident",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/HarvestSource"
}
}
},
"tags": [
"harvest"
]
},
"get": {
"operationId": "get_harvest_source",
"parameters": [
{
"description": "A source ID or slug",
"in": "path",
"name": "ident",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/HarvestSource"
}
}
},
"summary": "Get a single source given an ID or a slug",
"tags": [
"harvest"
]
}
},
"/harvest/source/{ident}/jobs/": {
"get": {
"operationId": "list_harvest_jobs",
"parameters": [
{
"in": "path",
"name": "ident",
"required": true,
"type": "string"
},
{
"default": 1,
"description": "The page to fetch",
"in": "query",
"name": "page",
"type": "integer"
},
{
"default": 20,
"description": "The page size to fetch",
"in": "query",
"name": "page_size",
"type": "integer"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/HarvestJobPage"
}
}
},
"summary": "List all jobs for a given source",
"tags": [
"harvest"
]
}
},
"/harvest/source/{ident}/preview": {
"get": {
"operationId": "preview_harvest_source",
"parameters": [
{
"description": "A source ID or slug",
"in": "path",
"name": "ident",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/HarvestJobPreview"
}
}
},
"summary": "Preview a single harvest source given an ID or a slug",
"tags": [
"harvest"
]
}
},
"/harvest/source/{ident}/validate": {
"post": {
"operationId": "validate_harvest_source",
"parameters": [
{
"description": "A source ID or slug",
"in": "path",
"name": "ident",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "payload",
"required": true,
"schema": {
"$ref": "#/definitions/HarvestSourceValidation"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/HarvestSource"
}
}
},
"summary": "Validate or reject an harvest source",
"tags": [
"harvest"
]
}
},
"/harvest/sources/": {
"get": {
"operationId": "list_harvest_sources",
"parameters": [
{
"description": "The organization or user ID to filter on",
"in": "query",
"name": "owner",
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/HarvestSource"
},
"type": "array"
}
}
},
"summary": "List all harvest sources",
"tags": [
"harvest"
]
},
"post": {
"operationId": "create_harvest_source",
"parameters": [
{
"in": "body",
"name": "payload",
"required": true,
"schema": {
"$ref": "#/definitions/HarvestSource"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/HarvestSource"
}
}
},
"summary": "Create a new harvests source",
"tags": [
"harvest"
]
}
},
"/issues/": {
"get": {
"operationId": "list_issues",
"parameters": [
{
"default": "-created",
"description": "The sorting attribute",
"in": "query",
"name": "sort",
"type": "string"
},
{
"default": 20,
"description": "The page size to fetch",
"in": "query",
"name": "page_size",
"type": "integer"
},
{
"default": 1,
"description": "The page to fetch",
"in": "query",
"name": "page",
"type": "integer"
},
{
"description": "Filter issues for a given subject",
"in": "query",
"items": {
"type": "string"
},
"name": "for",
"type": "array"
},
{
"description": "Filter closed issues. Filters issues on their closed status if specified",
"in": "query",
"name": "closed",
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/IssuePage"
}
}
},
"summary": "List all Issues",
"tags": [
"issues"
]
},
"post": {
"operationId": "create_issue",
"parameters": [
{
"in": "body",
"name": "payload",
"required": true,
"schema": {
"$ref": "#/definitions/Issue"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Issue"
}
}
},
"summary": "Create a new Issue",
"tags": [
"issues"
]
}
},
"/issues/{id}/": {
"get": {
"operationId": "get_issue",
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Issue"
}
}
},
"summary": "Get an issue given its ID",
"tags": [
"issues"
]
},
"post": {
"operationId": "comment_issue",
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "payload",
"required": true,
"schema": {
"$ref": "#/definitions/IssueResponse"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Issue"
}
},
"403": {
"description": "Not allowed to close this issue"
}
},
"summary": "Add comment and optionnaly close an issue given its ID",
"tags": [
"issues"
]
}
},
"/me/": {
"get": {
"operationId": "get_me",
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Me"
}
}
},
"summary": "Fetch the current user (me) identity",
"tags": [
"me"
]
},
"put": {
"operationId": "update_me",
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Me"
}
},
"400": {
"description": "Validation error"
}
},
"summary": "Update my profile",
"tags": [
"me"
]
}
},
"/me/apikey": {
"delete": {
"operationId": "clear_apikey",
"responses": {
"204": {
"description": "API Key deleted/cleared"
}
},
"summary": "Clear/destroy an apikey",
"tags": [
"me"
]
},
"post": {
"operationId": "generate_apikey",
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/ApiKey"
}
},
"201": {
"description": "API Key generated"
}
},
"summary": "(Re)Generate my API Key",
"tags": [
"me"
]
}
},
"/me/avatar": {
"post": {
"consumes": [
"multipart/form-data"
],
"operationId": "my_avatar",
"parameters": [
{
"in": "formData",
"name": "bbox",
"type": "string"
},
{
"in": "formData",
"name": "file",
"type": "file"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/UploadedImage"
}
}
},
"summary": "Upload a new avatar",
"tags": [
"me"
]
}
},
"/me/datasets/": {
"get": {
"operationId": "my_datasets",
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/DatasetFull"
},
"type": "array"
}
}
},
"summary": "List all my datasets (including private ones)",
"tags": [
"me"
]
}
},
"/me/metrics/": {
"get": {
"operationId": "my_metrics",
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/MyMetrics"
},
"type": "array"
}
}
},
"summary": "Fetch the current user (me) metrics",
"tags": [
"me"
]
}
},
"/me/org_community_resources/": {
"get": {
"operationId": "my_org_community_resources",
"parameters": [
{
"description": "The string to filter items",
"in": "query",
"name": "q",
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/CommunityResource"
},
"type": "array"
}
}
},
"summary": "List all community resources related to me and my organizations",
"tags": [
"me"
]
}
},
"/me/org_datasets/": {
"get": {
"operationId": "my_org_datasets",
"parameters": [
{
"description": "The string to filter items",
"in": "query",
"name": "q",
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/DatasetFull"
},
"type": "array"
}
}
},
"summary": "List all datasets related to me and my organizations",
"tags": [
"me"
]
}
},
"/me/org_discussions/": {
"get": {
"operationId": "my_org_discussions",
"parameters": [
{
"description": "The string to filter items",
"in": "query",
"name": "q",
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/Discussion"
},
"type": "array"
}
}
},
"summary": "List all discussions related to my organizations",
"tags": [
"me"
]
}
},
"/me/org_issues/": {
"get": {
"operationId": "my_org_issues",
"parameters": [
{
"description": "The string to filter items",
"in": "query",
"name": "q",
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/Issue"
},
"type": "array"
}
}
},
"summary": "List all issues related to my organizations",
"tags": [
"me"
]
}
},
"/me/org_reuses/": {
"get": {
"operationId": "my_org_reuses",
"parameters": [
{
"description": "The string to filter items",
"in": "query",
"name": "q",
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/Reuse"
},
"type": "array"
}
}
},
"summary": "List all reuses related to me and my organizations",
"tags": [
"me"
]
}
},
"/me/reuses/": {
"get": {
"operationId": "my_reuses",
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/Reuse"
},
"type": "array"
}
}
},
"summary": "List all my reuses (including private ones)",
"tags": [
"me"
]
}
},
"/metrics/{id}": {
"get": {
"description": "If day is set, start and end will be ignored",
"operationId": "metrics_for",
"parameters": [
{
"description": "Start of the period to fetch",
"in": "query",
"name": "start",
"type": "string"
},
{
"default": true,
"description": "Either cumulative metrics or not",
"in": "query",
"name": "cumulative",
"type": "string"
},
{
"description": "End of the period to fetch",
"in": "query",
"name": "end",
"type": "string"
},
{
"description": "The object ID to fetch metric for",
"in": "path",
"name": "id",
"required": true,
"type": "string"
},
{
"description": "Specific day date to fetch",
"in": "query",
"name": "day",
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/Metric"
},
"type": "array"
}
}
},
"summary": "Fetch metrics for an object given its ID",
"tags": [
"site"
]
}
},
"/notifications/": {
"get": {
"operationId": "get_notifications",
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/Notification"
},
"type": "array"
}
}
},
"summary": "List all current user pending notifications",
"tags": [
"notifications"
]
}
},
"/oembeds/": {
"get": {
"description": "See: http://oembed.com/\n\n The `references` are composed by a keyword (`kind`) followed by\n the `id` each of those separated by commas.\n E.g: dataset-5369992aa3a729239d205183,territory-fr-town-75056-comptes\n\n Only datasets and territories are supported for now.",
"operationId": "oembeds",
"parameters": [
{
"description": "References of the resources to embed.",
"in": "query",
"name": "references",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success"
}
},
"summary": "The returned payload is a list of OEmbed formatted responses",
"tags": [
"site"
]
}
},
"/organizations/": {
"get": {
"operationId": "list_organizations",
"parameters": [
{
"description": "The field (and direction) on which sorting apply",
"enum": [
"datasets",
"name",
"created",
"views",
"followers",
"reuses",
"-datasets",
"-name",
"-created",
"-views",
"-followers",
"-reuses"
],
"in": "query",
"name": "sort",
"type": "string"
},
{
"in": "query",
"name": "datasets",
"type": "string"
},
{
"description": "Selected facets to fetch",
"enum": [
"all",
"permitted_reuses",
"followers",
"datasets",
"badge",
"reuses"
],
"in": "query",
"items": {
"type": "string"
},
"name": "facets",
"type": "array"
},
{
"default": 20,
"description": "The page size",
"in": "query",
"name": "page_size",
"type": "integer"
},
{
"description": "The search query",
"in": "query",
"name": "q",
"type": "string"
},
{
"in": "query",
"name": "followers",
"type": "string"
},
{
"in": "query",
"name": "reuses",
"type": "string"
},
{
"in": "query",
"name": "permitted_reuses",
"type": "string"
},
{
"in": "query",
"name": "badge",
"type": "string"
},
{
"description": "The page to display",
"in": "query",
"name": "page",
"type": "integer"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/OrganizationPage"
}
}
},
"summary": "List or search all organizations",
"tags": [
"organizations"
]
},
"post": {
"operationId": "create_organization",
"parameters": [
{
"in": "body",
"name": "payload",
"required": true,
"schema": {
"$ref": "#/definitions/Organization"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Organization"
}
},
"400": {
"description": "Validation error"
}
},
"summary": "Create a new organization",
"tags": [
"organizations"
]
}
},
"/organizations/badges/": {
"get": {
"operationId": "available_organization_badges",
"responses": {
"200": {
"description": "Success"
}
},
"summary": "List all available organization badges and their labels",
"tags": [
"organizations"
]
}
},
"/organizations/suggest/": {
"get": {
"operationId": "suggest_organizations",
"parameters": [
{
"description": "The string to autocomplete/suggest",
"in": "query",
"name": "q",
"required": true,
"type": "string"
},
{
"default": 10,
"description": "The amount of suggestion to fetch",
"in": "query",
"name": "size",
"type": "integer"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/OrganizationSuggestion"
},
"type": "array"
}
}
},
"summary": "Suggest organizations",
"tags": [
"organizations"
]
}
},
"/organizations/{id}/followers/": {
"delete": {
"description": "Returns the number of followers left after the operation",
"operationId": "unfollow",
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Unfollow an object given its ID",
"tags": [
"organizations"
]
},
"get": {
"operationId": "list_followers",
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"type": "string"
},
{
"default": 20,
"description": "The page size to fetch",
"in": "query",
"name": "page_size",
"type": "integer"
},
{
"default": 1,
"description": "The page to fetch",
"in": "query",
"name": "page",
"type": "integer"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/FollowPage"
}
}
},
"summary": "List all followers for a given object",
"tags": [
"organizations"
]
},
"post": {
"description": "Returns the number of followers left after the operation",
"operationId": "follow",
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Follow an object given its ID",
"tags": [
"organizations"
]
}
},
"/organizations/{org}/": {
"delete": {
"operationId": "delete_organization",
"parameters": [
{
"description": "The organization ID or slug",
"in": "path",
"name": "org",
"required": true,
"type": "string"
}
],
"responses": {
"204": {
"description": "Organization deleted"
},
"404": {
"description": "Organization not found"
},
"410": {
"description": "Organization has been deleted"
}
},
"summary": "Delete a organization given its identifier",
"tags": [
"organizations"
]
},
"get": {
"operationId": "get_organization",
"parameters": [
{
"description": "The organization ID or slug",
"in": "path",
"name": "org",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Organization"
}
},
"404": {
"description": "Organization not found"
},
"410": {
"description": "Organization has been deleted"
}
},
"summary": "Get a organization given its identifier",
"tags": [
"organizations"
]
},
"put": {
"operationId": "update_organization",
"parameters": [
{
"description": "The organization ID or slug",
"in": "path",
"name": "org",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "payload",
"required": true,
"schema": {
"$ref": "#/definitions/Organization"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Organization"
}
},
"400": {
"description": "Validation error: your data cannot be updated for now, we have been notified of the error and we will fix it as soon as possible."
},
"404": {
"description": "Organization not found"
},
"410": {
"description": "Organization has been deleted"
}
},
"summary": "Update a organization given its identifier",
"tags": [
"organizations"
]
}
},
"/organizations/{org}/badges/": {
"post": {
"operationId": "add_organization_badge",
"parameters": [
{
"description": "The organization ID or slug",
"in": "path",
"name": "org",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "payload",
"required": true,
"schema": {
"$ref": "#/definitions/Badge"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Badge"
}
}
},
"summary": "Create a new badge for a given organization",
"tags": [
"organizations"
]
}
},
"/organizations/{org}/badges/{badge_kind}/": {
"delete": {
"operationId": "delete_organization_badge",
"parameters": [
{
"in": "path",
"name": "badge_kind",
"required": true,
"type": "string"
},
{
"description": "The organization ID or slug",
"in": "path",
"name": "org",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Delete a badge for a given organization",
"tags": [
"organizations"
]
}
},
"/organizations/{org}/datasets/": {
"get": {
"operationId": "list_organization_datasets",
"parameters": [
{
"in": "path",
"name": "org",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/DatasetFull"
},
"type": "array"
}
}
},
"summary": "List organization datasets (including private ones when member)",
"tags": [
"organizations"
]
}
},
"/organizations/{org}/discussions/": {
"get": {
"operationId": "list_organization_discussions",
"parameters": [
{
"in": "path",
"name": "org",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/Discussion"
},
"type": "array"
}
}
},
"summary": "List organization discussions",
"tags": [
"organizations"
]
}
},
"/organizations/{org}/issues/": {
"get": {
"operationId": "list_organization_issues",
"parameters": [
{
"in": "path",
"name": "org",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/Issue"
},
"type": "array"
}
}
},
"summary": "List organization issues",
"tags": [
"organizations"
]
}
},
"/organizations/{org}/logo": {
"post": {
"consumes": [
"multipart/form-data"
],
"operationId": "organization_logo",
"parameters": [
{
"description": "The organization ID or slug",
"in": "path",
"name": "org",
"required": true,
"type": "string"
},
{
"in": "formData",
"name": "bbox",
"type": "string"
},
{
"in": "formData",
"name": "file",
"type": "file"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/UploadedImage"
}
}
},
"summary": "Upload a new logo",
"tags": [
"organizations"
]
},
"put": {
"consumes": [
"multipart/form-data"
],
"operationId": "resize_organization_logo",
"parameters": [
{
"description": "The organization ID or slug",
"in": "path",
"name": "org",
"required": true,
"type": "string"
},
{
"in": "formData",
"name": "bbox",
"type": "string"
},
{
"in": "formData",
"name": "file",
"type": "file"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/UploadedImage"
}
}
},
"summary": "Set the logo BBox",
"tags": [
"organizations"
]
}
},
"/organizations/{org}/member/{user}": {
"delete": {
"operationId": "delete_organization_member",
"parameters": [
{
"description": "The organization ID or slug",
"in": "path",
"name": "org",
"required": true,
"type": "string"
},
{
"in": "path",
"name": "user",
"required": true,
"type": "string"
}
],
"responses": {
"403": {
"description": "Not Authorized"
}
},
"summary": "Delete member from an organization",
"tags": [
"organizations"
]
},
"post": {
"operationId": "create_organization_member",
"parameters": [
{
"description": "The organization ID or slug",
"in": "path",
"name": "org",
"required": true,
"type": "string"
},
{
"in": "path",
"name": "user",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "payload",
"required": true,
"schema": {
"$ref": "#/definitions/Member"
}
}
],
"responses": {
"201": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Member"
}
},
"403": {
"description": "Not Authorized"
},
"409": {
"description": "User is already member",
"schema": {
"$ref": "#/definitions/Member"
}
}
},
"summary": "Add a member into a given organization",
"tags": [
"organizations"
]
},
"put": {
"operationId": "update_organization_member",
"parameters": [
{
"description": "The organization ID or slug",
"in": "path",
"name": "org",
"required": true,
"type": "string"
},
{
"in": "path",
"name": "user",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "payload",
"required": true,
"schema": {
"$ref": "#/definitions/Member"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Member"
}
},
"403": {
"description": "Not Authorized"
}
},
"summary": "Update member status into a given organization",
"tags": [
"organizations"
]
}
},
"/organizations/{org}/membership/": {
"get": {
"operationId": "list_membership_requests",
"parameters": [
{
"description": "If provided, only return requests ith a given status",
"in": "query",
"name": "status",
"type": "string"
},
{
"description": "The organization ID or slug",
"in": "path",
"name": "org",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/MembershipRequest"
},
"type": "array"
}
},
"403": {
"description": "Not Authorized"
}
},
"summary": "List membership requests for a given organization",
"tags": [
"organizations"
]
},
"post": {
"operationId": "post_membership_request_api",
"parameters": [
{
"description": "The organization ID or slug",
"in": "path",
"name": "org",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/MembershipRequest"
}
}
},
"summary": "Apply for membership to a given organization",
"tags": [
"organizations"
]
}
},
"/organizations/{org}/membership/{id}/accept/": {
"post": {
"operationId": "accept_membership",
"parameters": [
{
"description": "The organization ID or slug",
"in": "path",
"name": "org",
"required": true,
"type": "string"
},
{
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Member"
}
}
},
"summary": "Accept user membership to a given organization",
"tags": [
"organizations"
]
}
},
"/organizations/{org}/membership/{id}/refuse/": {
"post": {
"operationId": "refuse_membership",
"parameters": [
{
"description": "The refusal reason",
"in": "body",
"name": "comment",
"type": "string"
},
{
"description": "The organization ID or slug",
"in": "path",
"name": "org",
"required": true,
"type": "string"
},
{
"in": "path",
"name": "id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "payload",
"required": true,
"schema": {
"$ref": "#/definitions/RefuseMembership"
}
}
],
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Refuse user membership to a given organization",
"tags": [
"organizations"
]
}
},
"/organizations/{org}/reuses/": {
"get": {
"operationId": "list_organization_reuses",
"parameters": [
{
"in": "path",
"name": "org",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/Reuse"
},
"type": "array"
}
}
},
"summary": "List organization reuses (including private ones when member)",
"tags": [
"organizations"
]
}
},
"/posts/": {
"get": {
"operationId": "list_posts",
"parameters": [
{
"default": 1,
"description": "The page to fetch",
"in": "query",
"name": "page",
"type": "integer"
},
{
"default": 20,
"description": "The page size to fetch",
"in": "query",
"name": "page_size",
"type": "integer"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/PostPage"
}
}
},
"summary": "List all posts",
"tags": [
"posts"
]
},
"post": {
"operationId": "create_post",
"parameters": [
{
"in": "body",
"name": "payload",
"required": true,
"schema": {
"$ref": "#/definitions/Post"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Post"
}
},
"400": {
"description": "Validation error"
}
},
"summary": "Create a post",
"tags": [
"posts"
]
}
},
"/posts/{post}/": {
"delete": {
"operationId": "delete_post",
"parameters": [
{
"description": "The post ID or slug",
"in": "path",
"name": "post",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "void"
}
},
"204": {
"description": "Object deleted"
},
"404": {
"description": "Object not found"
}
},
"summary": "Delete a given post",
"tags": [
"posts"
]
},
"get": {
"operationId": "get_post",
"parameters": [
{
"description": "The post ID or slug",
"in": "path",
"name": "post",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Post"
}
},
"404": {
"description": "Object not found"
}
},
"summary": "Get a given post",
"tags": [
"posts"
]
},
"put": {
"operationId": "update_post",
"parameters": [
{
"description": "The post ID or slug",
"in": "path",
"name": "post",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "payload",
"required": true,
"schema": {
"$ref": "#/definitions/Post"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Post"
}
},
"400": {
"description": "Validation error"
},
"404": {
"description": "Object not found"
}
},
"summary": "Update a given post",
"tags": [
"posts"
]
}
},
"/posts/{post}/image": {
"post": {
"consumes": [
"multipart/form-data"
],
"operationId": "post_image",
"parameters": [
{
"in": "path",
"name": "post",
"required": true,
"type": "string"
},
{
"in": "formData",
"name": "bbox",
"type": "string"
},
{
"in": "formData",
"name": "file",
"type": "file"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/UploadedImage"
}
}
},
"summary": "Upload a new image",
"tags": [
"posts"
]
},
"put": {
"consumes": [
"multipart/form-data"
],
"operationId": "resize_post_image",
"parameters": [
{
"in": "path",
"name": "post",
"required": true,
"type": "string"
},
{
"in": "formData",
"name": "bbox",
"type": "string"
},
{
"in": "formData",
"name": "file",
"type": "file"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/UploadedImage"
}
}
},
"summary": "Set the image BBox",
"tags": [
"posts"
]
}
},
"/reuses/": {
"get": {
"operationId": "list_reuses",
"parameters": [
{
"description": "The field (and direction) on which sorting apply",
"enum": [
"datasets",
"views",
"created",
"last_modified",
"followers",
"title",
"-datasets",
"-views",
"-created",
"-last_modified",
"-followers",
"-title"
],
"in": "query",
"name": "sort",
"type": "string"
},
{
"in": "query",
"name": "datasets",
"type": "string"
},
{
"in": "query",
"name": "extra",
"type": "string"
},
{
"in": "query",
"name": "type",
"type": "string"
},
{
"description": "Selected facets to fetch",
"enum": [
"all",
"featured",
"tag",
"followers",
"badge",
"extra",
"owner",
"organization",
"datasets",
"type",
"dataset"
],
"in": "query",
"items": {
"type": "string"
},
"name": "facets",
"type": "array"
},
{
"default": 20,
"description": "The page size",
"in": "query",
"name": "page_size",
"type": "integer"
},
{
"in": "query",
"name": "dataset",
"type": "string"
},
{
"description": "The search query",
"in": "query",
"name": "q",
"type": "string"
},
{
"in": "query",
"name": "featured",
"type": "string"
},
{
"in": "query",
"name": "tag",
"type": "string"
},
{
"in": "query",
"name": "followers",
"type": "string"
},
{
"in": "query",
"name": "owner",
"type": "string"
},
{
"in": "query",
"name": "organization",
"type": "string"
},
{
"in": "query",
"name": "badge",
"type": "string"
},
{
"description": "The page to display",
"in": "query",
"name": "page",
"type": "integer"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/ReusePage"
}
}
},
"tags": [
"reuses"
]
},
"post": {
"operationId": "create_reuse",
"parameters": [
{
"in": "body",
"name": "payload",
"required": true,
"schema": {
"$ref": "#/definitions/Reuse"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Reuse"
}
},
"400": {
"description": "Validation error"
}
},
"summary": "Create a new object",
"tags": [
"reuses"
]
}
},
"/reuses/badges/": {
"get": {
"operationId": "available_reuse_badges",
"responses": {
"200": {
"description": "Success"
}
},
"summary": "List all available reuse badges and their labels",
"tags": [
"reuses"
]
}
},
"/reuses/suggest/": {
"get": {
"operationId": "suggest_reuses",
"parameters": [
{
"description": "The string to autocomplete/suggest",
"in": "query",
"name": "q",
"required": true,
"type": "string"
},
{
"default": 10,
"description": "The amount of suggestion to fetch",
"in": "query",
"name": "size",
"type": "integer"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/ReuseSuggestion"
},
"type": "array"
}
}
},
"summary": "Suggest reuses",
"tags": [
"reuses"
]
}
},
"/reuses/types/": {
"get": {
"operationId": "reuse_types",
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/ReuseType"
},
"type": "array"
}
}
},
"summary": "List all reuse types",
"tags": [
"reuses"
]
}
},
"/reuses/{id}/followers/": {
"delete": {
"description": "Returns the number of followers left after the operation",
"operationId": "unfollow",
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Unfollow an object given its ID",
"tags": [
"reuses"
]
},
"get": {
"operationId": "list_followers",
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"type": "string"
},
{
"default": 20,
"description": "The page size to fetch",
"in": "query",
"name": "page_size",
"type": "integer"
},
{
"default": 1,
"description": "The page to fetch",
"in": "query",
"name": "page",
"type": "integer"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/FollowPage"
}
}
},
"summary": "List all followers for a given object",
"tags": [
"reuses"
]
},
"post": {
"description": "Returns the number of followers left after the operation",
"operationId": "follow",
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Follow an object given its ID",
"tags": [
"reuses"
]
}
},
"/reuses/{reuse}/": {
"delete": {
"operationId": "delete_reuse",
"parameters": [
{
"description": "The reuse ID or slug",
"in": "path",
"name": "reuse",
"required": true,
"type": "string"
}
],
"responses": {
"204": {
"description": "Reuse deleted"
},
"404": {
"description": "Reuse not found"
},
"410": {
"description": "Reuse has been deleted"
}
},
"summary": "Delete a given reuse",
"tags": [
"reuses"
]
},
"get": {
"operationId": "get_reuse",
"parameters": [
{
"description": "The reuse ID or slug",
"in": "path",
"name": "reuse",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Reuse"
}
},
"404": {
"description": "Reuse not found"
},
"410": {
"description": "Reuse has been deleted"
}
},
"summary": "Fetch a given reuse",
"tags": [
"reuses"
]
},
"put": {
"operationId": "update_reuse",
"parameters": [
{
"description": "The reuse ID or slug",
"in": "path",
"name": "reuse",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "payload",
"required": true,
"schema": {
"$ref": "#/definitions/Reuse"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Reuse"
}
},
"400": {
"description": "Validation error: your data cannot be updated for now, we have been notified of the error and we will fix it as soon as possible."
},
"404": {
"description": "Reuse not found"
},
"410": {
"description": "Reuse has been deleted"
}
},
"summary": "Update a given reuse",
"tags": [
"reuses"
]
}
},
"/reuses/{reuse}/badges/": {
"post": {
"operationId": "add_reuse_badge",
"parameters": [
{
"description": "The reuse ID or slug",
"in": "path",
"name": "reuse",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "payload",
"required": true,
"schema": {
"$ref": "#/definitions/Badge"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Badge"
}
}
},
"summary": "Create a new badge for a given reuse",
"tags": [
"reuses"
]
}
},
"/reuses/{reuse}/badges/{badge_kind}/": {
"delete": {
"operationId": "delete_reuse_badge",
"parameters": [
{
"in": "path",
"name": "badge_kind",
"required": true,
"type": "string"
},
{
"description": "The reuse ID or slug",
"in": "path",
"name": "reuse",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Delete a badge for a given reuse",
"tags": [
"reuses"
]
}
},
"/reuses/{reuse}/datasets/": {
"post": {
"operationId": "reuse_add_dataset",
"parameters": [
{
"description": "The reuse ID or slug",
"in": "path",
"name": "reuse",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "payload",
"required": true,
"schema": {
"$ref": "#/definitions/DatasetReference"
}
}
],
"responses": {
"200": {
"description": "The dataset is already present",
"schema": {
"$ref": "#/definitions/Reuse"
}
},
"201": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Reuse"
}
}
},
"summary": "Add a dataset to a given reuse",
"tags": [
"reuses"
]
}
},
"/reuses/{reuse}/featured/": {
"delete": {
"operationId": "unfeature_reuse",
"parameters": [
{
"description": "The reuse ID or slug",
"in": "path",
"name": "reuse",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Reuse"
}
}
},
"summary": "Unmark a reuse as featured",
"tags": [
"reuses"
]
},
"post": {
"operationId": "feature_reuse",
"parameters": [
{
"description": "The reuse ID or slug",
"in": "path",
"name": "reuse",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Reuse"
}
}
},
"summary": "Mark a reuse as featured",
"tags": [
"reuses"
]
}
},
"/reuses/{reuse}/image": {
"post": {
"consumes": [
"multipart/form-data"
],
"operationId": "reuse_image",
"parameters": [
{
"description": "The reuse ID or slug",
"in": "path",
"name": "reuse",
"required": true,
"type": "string"
},
{
"in": "formData",
"name": "file",
"type": "file"
},
{
"in": "formData",
"name": "bbox",
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/UploadedImage"
}
}
},
"summary": "Upload a new reuse image",
"tags": [
"reuses"
]
}
},
"/site/": {
"get": {
"operationId": "get_site",
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Site"
}
}
},
"summary": "Site-wide variables",
"tags": [
"site"
]
}
},
"/site/home/datasets/": {
"get": {
"operationId": "get_home_datasets",
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/DatasetReference"
},
"type": "array"
}
}
},
"summary": "List homepage datasets",
"tags": [
"site"
]
},
"put": {
"operationId": "set_home_datasets",
"parameters": [
{
"description": "Dataset IDs to put in homepage",
"in": "body",
"name": "payload",
"required": true,
"schema": {
"items": {
"type": "string"
},
"type": "array"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/DatasetReference"
},
"type": "array"
}
}
},
"summary": "Set the homepage datasets editorial selection",
"tags": [
"site"
]
}
},
"/site/home/reuses/": {
"get": {
"operationId": "get_home_reuses",
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/ReuseReference"
},
"type": "array"
}
}
},
"summary": "List homepage featured reuses",
"tags": [
"site"
]
},
"put": {
"operationId": "set_home_reuses",
"parameters": [
{
"description": "Reuse IDs to put in homepage",
"in": "body",
"name": "payload",
"required": true,
"schema": {
"items": {
"type": "string"
},
"type": "array"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/ReuseReference"
},
"type": "array"
}
}
},
"summary": "Set the homepage reuses editorial selection",
"tags": [
"site"
]
}
},
"/spatial/coverage/{level}": {
"get": {
"operationId": "spatial_coverage",
"parameters": [
{
"in": "path",
"name": "level",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/GeoJSONFeatureCollection"
},
"type": "array"
}
}
},
"summary": "List each zone for a given level with their datasets count",
"tags": [
"spatial"
]
}
},
"/spatial/granularities": {
"get": {
"operationId": "spatial_granularities",
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/GeoGranularity"
},
"type": "array"
}
}
},
"summary": "List all known spatial granularities",
"tags": [
"spatial"
]
}
},
"/spatial/levels": {
"get": {
"operationId": "spatial_levels",
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/GeoLevel"
},
"type": "array"
}
}
},
"summary": "List all known levels",
"tags": [
"spatial"
]
}
},
"/spatial/zone/{id}": {
"get": {
"operationId": "spatial_zone",
"parameters": [
{
"description": "A zone identifier",
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/TerritorySuggestion"
}
}
},
"summary": "Fetch a zone",
"tags": [
"spatial"
]
}
},
"/spatial/zones/suggest": {
"get": {
"operationId": "suggest_zones",
"parameters": [
{
"description": "The string to autocomplete/suggest",
"in": "query",
"name": "q",
"required": true,
"type": "string"
},
{
"default": 10,
"description": "The amount of suggestion to fetch",
"in": "query",
"name": "size",
"type": "integer"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/TerritorySuggestion"
},
"type": "array"
}
}
},
"summary": "Suggest geospatial zones",
"tags": [
"spatial"
]
}
},
"/spatial/zones/{ids}": {
"get": {
"operationId": "spatial_zones",
"parameters": [
{
"description": "A zone identifiers list (comma separated)",
"in": "path",
"name": "ids",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/GeoJSONFeatureCollection"
}
}
},
"summary": "Fetch a zone list as GeoJSON",
"tags": [
"spatial"
]
}
},
"/tags/suggest/": {
"get": {
"operationId": "suggest_tags",
"parameters": [
{
"description": "The string to autocomplete/suggest",
"in": "query",
"name": "q",
"required": true,
"type": "string"
},
{
"default": 8,
"description": "The amount of suggestion to fetch",
"in": "query",
"name": "size",
"type": "integer"
}
],
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Suggest tags",
"tags": [
"tags"
]
}
},
"/territory/suggest/": {
"get": {
"operationId": "suggest_territory",
"parameters": [
{
"description": "The string to autocomplete/suggest",
"in": "query",
"name": "q",
"required": true,
"type": "string"
},
{
"description": "The maximum result size",
"in": "query",
"name": "size",
"type": "integer"
}
],
"responses": {
"200": {
"description": "Success"
}
},
"tags": [
"site"
]
}
},
"/topics/": {
"get": {
"operationId": "list_topics",
"parameters": [
{
"default": 1,
"description": "The page to fetch",
"in": "query",
"name": "page",
"type": "integer"
},
{
"default": 20,
"description": "The page size to fetch",
"in": "query",
"name": "page_size",
"type": "integer"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/TopicPage"
}
}
},
"summary": "List all topics",
"tags": [
"topics"
]
},
"post": {
"operationId": "create_topic",
"parameters": [
{
"in": "body",
"name": "payload",
"required": true,
"schema": {
"$ref": "#/definitions/Topic"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Topic"
}
},
"400": {
"description": "Validation error"
}
},
"summary": "Create a topic",
"tags": [
"topics"
]
}
},
"/topics/{topic}/": {
"delete": {
"operationId": "delete_topic",
"parameters": [
{
"description": "The topic ID or slug",
"in": "path",
"name": "topic",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "void"
}
},
"204": {
"description": "Object deleted"
},
"404": {
"description": "Object not found"
}
},
"summary": "Delete a given topic",
"tags": [
"topics"
]
},
"get": {
"operationId": "get_topic",
"parameters": [
{
"description": "The topic ID or slug",
"in": "path",
"name": "topic",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Topic"
}
},
"404": {
"description": "Object not found"
}
},
"summary": "Get a given topic",
"tags": [
"topics"
]
},
"put": {
"operationId": "update_topic",
"parameters": [
{
"description": "The topic ID or slug",
"in": "path",
"name": "topic",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "payload",
"required": true,
"schema": {
"$ref": "#/definitions/Topic"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Topic"
}
},
"400": {
"description": "Validation error"
},
"404": {
"description": "Object not found"
}
},
"summary": "Update a given topic",
"tags": [
"topics"
]
}
},
"/transfer/": {
"get": {
"operationId": "list_transfers",
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/Transfer"
},
"type": "array"
}
}
},
"summary": "List all transfer requests",
"tags": [
"transfer"
]
},
"post": {
"operationId": "request_transfer",
"parameters": [
{
"in": "body",
"name": "payload",
"required": true,
"schema": {
"$ref": "#/definitions/TransferRequest"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Transfer"
}
}
},
"summary": "Initiate transfer request",
"tags": [
"transfer"
]
}
},
"/transfer/{id}/": {
"get": {
"operationId": "get_transfer",
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Transfer"
}
}
},
"summary": "Fetch a transfer request given its identifier",
"tags": [
"transfer"
]
},
"post": {
"operationId": "respond_to_transfer",
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "payload",
"required": true,
"schema": {
"$ref": "#/definitions/TransferResponse"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Transfer"
}
}
},
"summary": "Respond to a transfer request",
"tags": [
"transfer"
]
}
},
"/users/": {
"get": {
"operationId": "list_users",
"parameters": [
{
"description": "The field (and direction) on which sorting apply",
"enum": [
"first_name",
"last_name",
"views",
"created",
"datasets",
"followers",
"reuses",
"-first_name",
"-last_name",
"-views",
"-created",
"-datasets",
"-followers",
"-reuses"
],
"in": "query",
"name": "sort",
"type": "string"
},
{
"in": "query",
"name": "datasets",
"type": "string"
},
{
"description": "Selected facets to fetch",
"enum": [
"all",
"organization",
"datasets",
"reuses"
],
"in": "query",
"items": {
"type": "string"
},
"name": "facets",
"type": "array"
},
{
"default": 20,
"description": "The page size",
"in": "query",
"name": "page_size",
"type": "integer"
},
{
"description": "The search query",
"in": "query",
"name": "q",
"type": "string"
},
{
"in": "query",
"name": "reuses",
"type": "string"
},
{
"in": "query",
"name": "organization",
"type": "string"
},
{
"description": "The page to display",
"in": "query",
"name": "page",
"type": "integer"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/UserPage"
}
}
},
"summary": "List all objects",
"tags": [
"users"
]
},
"post": {
"operationId": "create_user",
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/User"
}
},
"400": {
"description": "Validation error"
}
},
"summary": "Create a new object",
"tags": [
"users"
]
}
},
"/users/suggest/": {
"get": {
"operationId": "suggest_users",
"parameters": [
{
"description": "The string to autocomplete/suggest",
"in": "query",
"name": "q",
"required": true,
"type": "string"
},
{
"default": 10,
"description": "The amount of suggestion to fetch",
"in": "query",
"name": "size",
"type": "integer"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/UserSuggestion"
},
"type": "array"
}
}
},
"summary": "Suggest users",
"tags": [
"users"
]
}
},
"/users/{id}/followers/": {
"delete": {
"description": "Returns the number of followers left after the operation",
"operationId": "unfollow",
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Unfollow an object given its ID",
"tags": [
"users"
]
},
"get": {
"operationId": "list_followers",
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"type": "string"
},
{
"default": 20,
"description": "The page size to fetch",
"in": "query",
"name": "page_size",
"type": "integer"
},
{
"default": 1,
"description": "The page to fetch",
"in": "query",
"name": "page",
"type": "integer"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/FollowPage"
}
}
},
"summary": "List all followers for a given object",
"tags": [
"users"
]
},
"post": {
"operationId": "post_follow_user_api",
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Follow an user given its ID",
"tags": [
"users"
]
}
},
"/users/{user}/": {
"delete": {
"operationId": "delete_user_api",
"parameters": [
{
"in": "path",
"name": "user",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "void"
}
},
"204": {
"description": "Object deleted"
},
"404": {
"description": "Object not found"
}
},
"summary": "Delete a given object",
"tags": [
"users"
]
},
"get": {
"operationId": "get_user",
"parameters": [
{
"in": "path",
"name": "user",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/User"
}
},
"404": {
"description": "Object not found"
}
},
"summary": "Get a given object",
"tags": [
"users"
]
},
"put": {
"operationId": "update_user",
"parameters": [
{
"in": "path",
"name": "user",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "payload",
"required": true,
"schema": {
"$ref": "#/definitions/User"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/User"
}
},
"400": {
"description": "Validation error"
},
"404": {
"description": "Object not found"
}
},
"summary": "Update a given object",
"tags": [
"users"
]
}
},
"/workers/jobs/": {
"get": {
"operationId": "list_jobs",
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"$ref": "#/definitions/Job"
},
"type": "array"
}
}
},
"summary": "List all scheduled jobs",
"tags": [
"workers"
]
},
"post": {
"operationId": "post_jobs_api",
"parameters": [
{
"in": "body",
"name": "payload",
"required": true,
"schema": {
"$ref": "#/definitions/Job"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Job"
}
}
},
"summary": "Create a new scheduled job",
"tags": [
"workers"
]
}
},
"/workers/jobs/schedulables": {
"get": {
"operationId": "get_jobs_reference_api",
"responses": {
"200": {
"description": "Success",
"schema": {
"items": {
"type": "string"
},
"type": "array"
}
}
},
"summary": "List all schedulable jobs",
"tags": [
"workers"
]
}
},
"/workers/jobs/{id}": {
"delete": {
"operationId": "delete_job_api",
"parameters": [
{
"description": "A job ID",
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"204": {
"description": "Successfuly deleted"
}
},
"summary": "Delete a single scheduled job",
"tags": [
"workers"
]
},
"get": {
"operationId": "get_job_api",
"parameters": [
{
"description": "A job ID",
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Job"
}
}
},
"summary": "Fetch a single scheduled job",
"tags": [
"workers"
]
},
"put": {
"operationId": "put_job_api",
"parameters": [
{
"description": "A job ID",
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Job"
}
}
},
"summary": "Update a single scheduled job",
"tags": [
"workers"
]
}
},
"/workers/tasks/{id}": {
"get": {
"operationId": "get_task_api",
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Task"
}
}
},
"summary": "Get a tasks status given its ID",
"tags": [
"workers"
]
}
}
},
"definitions": {
"Activity": {
"properties": {
"actor": {
"$ref": "#/definitions/UserReference",
"description": "The user who performed the action",
"readOnly": true
},
"created_at": {
"description": "When the action has been performed",
"format": "date-time",
"readOnly": true,
"type": "string"
},
"icon": {
"description": "The icon of the activity",
"type": "string"
},
"key": {
"description": "The key of the activity",
"type": "string"
},
"kwargs": {
"description": "Some action specific context",
"type": "object"
},
"label": {
"description": "The label of the activity",
"type": "string"
},
"organization": {
"$ref": "#/definitions/OrganizationReference",
"description": "The organization who performed the action",
"readOnly": true
},
"related_to": {
"description": "The activity target name",
"type": "string"
},
"related_to_id": {
"description": "The activity target object identifier",
"type": "string"
},
"related_to_kind": {
"description": "The activity target object class name",
"type": "string"
},
"related_to_url": {
"description": "The activity target model",
"type": "string"
}
},
"required": [
"icon",
"key",
"label",
"related_to",
"related_to_id",
"related_to_kind",
"related_to_url"
]
},
"ActivityPage": {
"properties": {
"data": {
"description": "The page data",
"items": {
"$ref": "#/definitions/Activity"
},
"type": "array"
},
"facets": {
"description": "Search facets results if any",
"type": "object"
},
"next_page": {
"description": "The next page URL if exists",
"type": "string"
},
"page": {
"description": "The current page",
"minimum": 1,
"type": "integer"
},
"page_size": {
"description": "The page size used for pagination",
"minimum": 0,
"type": "integer"
},
"previous_page": {
"description": "The previous page URL if exists",
"type": "string"
},
"total": {
"description": "The total paginated items",
"minimum": 0,
"type": "integer"
}
},
"required": [
"page",
"page_size",
"total"
]
},
"ApiKey": {
"properties": {
"apikey": {
"description": "The user API Key",
"readOnly": true,
"type": "string"
}
}
},
"Badge": {
"properties": {
"kind": {
"description": "Kind of badge (certified, etc), specific to each model",
"type": "string"
}
},
"required": [
"kind"
]
},
"BaseReference": {
"discriminator": "class",
"properties": {
"class": {
"description": "The object class",
"type": "string"
},
"id": {
"description": "The object unique identifier",
"type": "string"
}
},
"required": [
"class",
"id"
]
},
"Checksum": {
"properties": {
"type": {
"default": "sha1",
"description": "The hashing algorithm used to compute the checksum",
"enum": [
"sha1",
"sha2",
"sha256",
"md5",
"crc"
],
"type": "string"
},
"value": {
"description": "The resulting checksum/hash",
"type": "string"
}
},
"required": [
"value"
]
},
"CommunityResource": {
"allOf": [
{
"$ref": "#/definitions/Resource"
},
{
"properties": {
"dataset": {
"$ref": "#/definitions/DatasetReference",
"description": "Reference to the associated dataset"
},
"organization": {
"$ref": "#/definitions/OrganizationReference",
"description": "The producer organization"
},
"owner": {
"$ref": "#/definitions/UserReference",
"description": "The user information"
}
}
}
]
},
"CommunityResourcePage": {
"properties": {
"data": {
"description": "The page data",
"items": {
"$ref": "#/definitions/CommunityResource"
},
"type": "array"
},
"facets": {
"description": "Search facets results if any",
"type": "object"
},
"next_page": {
"description": "The next page URL if exists",
"type": "string"
},
"page": {
"description": "The current page",
"minimum": 1,
"type": "integer"
},
"page_size": {
"description": "The page size used for pagination",
"minimum": 0,
"type": "integer"
},
"previous_page": {
"description": "The previous page URL if exists",
"type": "string"
},
"total": {
"description": "The total paginated items",
"minimum": 0,
"type": "integer"
}
},
"required": [
"page",
"page_size",
"total"
]
},
"Crontab": {
"properties": {
"day_of_month": {
"default": "*",
"description": "Cron expression for day of month",
"type": "string"
},
"day_of_week": {
"default": "*",
"description": "Cron expression for day of week",
"type": "string"
},
"hour": {
"default": "*",
"description": "Cron expression for hour",
"type": "string"
},
"minute": {
"default": "*",
"description": "Cron expression for minute",
"type": "string"
},
"month_of_year": {
"default": "*",
"description": "Cron expression for month of year",
"type": "string"
}
},
"required": [
"day_of_month",
"day_of_week",
"hour",
"minute",
"month_of_year"
]
},
"Dataset": {
"properties": {
"badges": {
"description": "The dataset badges",
"items": {
"$ref": "#/definitions/Badge"
},
"readOnly": true,
"type": "array"
},
"community_resources": {
"items": {
"$ref": "#/definitions/CommunityResource",
"description": "The dataset community submitted resources"
},
"type": "array"
},
"created_at": {
"description": "The dataset creation date",
"format": "date-time",
"type": "string"
},
"deleted": {
"description": "The deletion date if deleted",
"format": "date-time",
"type": "string"
},
"description": {
"description": "The dataset description in markdown",
"format": "markdown",
"type": "string"
},
"extras": {
"description": "Extras attributes as key-value pairs",
"type": "object"
},
"featured": {
"description": "Is the dataset featured",
"type": "boolean"
},
"frequency": {
"default": "unknown",
"description": "The update frequency",
"enum": [
"bimonthly",
"punctual",
"quinquennial",
"biannual",
"weekly",
"fortnighly",
"realtime",
"monthly",
"unknown",
"annual",
"daily",
"biennial",
"quarterly",
"triennial"
],
"type": "string"
},
"frequency_date": {
"description": "Next expected update date, you will be notified once that date is reached.",
"format": "date-time",
"type": "string"
},
"id": {
"description": "The dataset identifier",
"readOnly": true,
"type": "string"
},
"last_modified": {
"description": "The dataset last modification date",
"format": "date-time",
"type": "string"
},
"license": {
"default": "notspecified",
"description": "The dataset license",
"type": "string"
},
"metrics": {
"description": "The dataset metrics",
"type": "object"
},
"organization": {
"$ref": "#/definitions/OrganizationReference",
"description": "The producer organization"
},
"owner": {
"$ref": "#/definitions/UserReference",
"description": "The user information"
},
"page": {
"description": "The dataset page URL",
"type": "string"
},
"private": {
"description": "Is the dataset private to the owner or the organization",
"type": "boolean"
},
"resources": {
"items": {
"$ref": "#/definitions/Resource",
"description": "The dataset resources"
},
"type": "array"
},
"slug": {
"description": "The dataset permalink string",
"type": "string"
},
"spatial": {
"$ref": "#/definitions/SpatialCoverage",
"description": "The spatial coverage"
},
"tags": {
"items": {
"type": "string"
},
"type": "array"
},
"temporal_coverage": {
"$ref": "#/definitions/TemporalCoverage",
"description": "The temporal coverage"
},
"title": {
"description": "The dataset title",
"type": "string"
},
"uri": {
"description": "The dataset API URI",
"type": "string"
}
},
"required": [
"created_at",
"description",
"frequency",
"last_modified",
"page",
"slug",
"title",
"uri"
]
},
"DatasetFull": {
"allOf": [
{
"$ref": "#/definitions/Dataset"
},
{
"properties": {
"last_update": {
"description": "The resources last modification date",
"format": "date-time",
"type": "string"
},
"quality": {
"description": "The dataset quality",
"readOnly": true,
"type": "object"
}
},
"required": [
"last_update"
]
}
]
},
"DatasetFullPage": {
"properties": {
"data": {
"description": "The page data",
"items": {
"$ref": "#/definitions/DatasetFull"
},
"type": "array"
},
"facets": {
"description": "Search facets results if any",
"type": "object"
},
"next_page": {
"description": "The next page URL if exists",
"type": "string"
},
"page": {
"description": "The current page",
"minimum": 1,
"type": "integer"
},
"page_size": {
"description": "The page size used for pagination",
"minimum": 0,
"type": "integer"
},
"previous_page": {
"description": "The previous page URL if exists",
"type": "string"
},
"total": {
"description": "The total paginated items",
"minimum": 0,
"type": "integer"
}
},
"required": [
"page",
"page_size",
"total"
]
},
"DatasetPage": {
"properties": {
"data": {
"description": "The page data",
"items": {
"$ref": "#/definitions/Dataset"
},
"type": "array"
},
"facets": {
"description": "Search facets results if any",
"type": "object"
},
"next_page": {
"description": "The next page URL if exists",
"type": "string"
},
"page": {
"description": "The current page",
"minimum": 1,
"type": "integer"
},
"page_size": {
"description": "The page size used for pagination",
"minimum": 0,
"type": "integer"
},
"previous_page": {
"description": "The previous page URL if exists",
"type": "string"
},
"total": {
"description": "The total paginated items",
"minimum": 0,
"type": "integer"
}
},
"required": [
"page",
"page_size",
"total"
]
},
"DatasetPreview": {
"properties": {
"badges": {
"description": "The dataset badges",
"items": {
"$ref": "#/definitions/Badge"
},
"readOnly": true,
"type": "array"
},
"community_resources": {
"items": {
"$ref": "#/definitions/CommunityResource",
"description": "The dataset community submitted resources"
},
"type": "array"
},
"created_at": {
"description": "The dataset creation date",
"format": "date-time",
"type": "string"
},
"deleted": {
"description": "The deletion date if deleted",
"format": "date-time",
"type": "string"
},
"description": {
"description": "The dataset description in markdown",
"format": "markdown",
"type": "string"
},
"extras": {
"description": "Extras attributes as key-value pairs",
"type": "object"
},
"featured": {
"description": "Is the dataset featured",
"type": "boolean"
},
"frequency": {
"default": "unknown",
"description": "The update frequency",
"enum": [
"bimonthly",
"punctual",
"quinquennial",
"biannual",
"weekly",
"fortnighly",
"realtime",
"monthly",
"unknown",
"annual",
"daily",
"biennial",
"quarterly",
"triennial"
],
"type": "string"
},
"frequency_date": {
"description": "Next expected update date, you will be notified once that date is reached.",
"format": "date-time",
"type": "string"
},
"id": {
"description": "The dataset identifier",
"readOnly": true,
"type": "string"
},
"last_modified": {
"description": "The dataset last modification date",
"format": "date-time",
"type": "string"
},
"license": {
"default": "notspecified",
"description": "The dataset license",
"type": "string"
},
"metrics": {
"description": "The dataset metrics",
"type": "object"
},
"organization": {
"$ref": "#/definitions/OrganizationReference",
"description": "The producer organization"
},
"owner": {
"$ref": "#/definitions/UserReference",
"description": "The user information"
},
"page": {
"description": "The dataset page URL (fake)",
"type": "string"
},
"private": {
"description": "Is the dataset private to the owner or the organization",
"type": "boolean"
},
"resources": {
"items": {
"$ref": "#/definitions/Resource",
"description": "The dataset resources"
},
"type": "array"
},
"slug": {
"description": "The dataset permalink string",
"type": "string"
},
"spatial": {
"$ref": "#/definitions/SpatialCoverage",
"description": "The spatial coverage"
},
"tags": {
"items": {
"type": "string"
},
"type": "array"
},
"temporal_coverage": {
"$ref": "#/definitions/TemporalCoverage",
"description": "The temporal coverage"
},
"title": {
"description": "The dataset title",
"type": "string"
},
"uri": {
"description": "The dataset API URI (fake)",
"type": "string"
}
},
"required": [
"created_at",
"description",
"frequency",
"last_modified",
"slug",
"title"
]
},
"DatasetReference": {
"allOf": [
{
"$ref": "#/definitions/BaseReference"
},
{
"properties": {
"page": {
"description": "The web page URL for this dataset",
"readOnly": true,
"type": "string"
},
"title": {
"description": "The dataset title",
"readOnly": true,
"type": "string"
},
"uri": {
"description": "The API URI for this dataset",
"readOnly": true,
"type": "string"
}
}
}
]
},
"DatasetSuggestion": {
"properties": {
"id": {
"description": "The dataset identifier",
"type": "string"
},
"image_url": {
"description": "The dataset (organization) logo URL",
"type": "string"
},
"page": {
"description": "The web page URL for this dataset",
"readOnly": true,
"type": "string"
},
"score": {
"description": "The internal match score",
"type": "number"
},
"slug": {
"description": "The dataset permalink string",
"type": "string"
},
"title": {
"description": "The dataset title",
"type": "string"
}
},
"required": [
"id",
"score",
"slug",
"title"
]
},
"Discussion": {
"discriminator": "class",
"properties": {
"class": {
"description": "The object class",
"type": "string"
},
"closed": {
"description": "The discussion closing date",
"format": "date-time",
"readOnly": true,
"type": "string"
},
"closed_by": {
"description": "The user who closed the discussion",
"readOnly": true,
"type": "string"
},
"created": {
"description": "The discussion creation date",
"format": "date-time",
"readOnly": true,
"type": "string"
},
"discussion": {
"$ref": "#/definitions/DiscussionMessage"
},
"id": {
"description": "The discussion identifier",
"readOnly": true,
"type": "string"
},
"subject": {
"description": "The discussion target object identifier",
"type": "string"
},
"title": {
"description": "The discussion title",
"type": "string"
},
"url": {
"description": "The discussion API URI",
"readOnly": true,
"type": "string"
},
"user": {
"$ref": "#/definitions/UserReference",
"description": "The discussion author"
}
},
"required": [
"class",
"subject",
"title",
"user"
]
},
"DiscussionMessage": {
"properties": {
"content": {
"description": "The message body",
"type": "string"
},
"posted_by": {
"$ref": "#/definitions/UserReference",
"description": "The message author"
},
"posted_on": {
"description": "The message posting date",
"format": "date-time",
"type": "string"
}
},
"required": [
"content",
"posted_by",
"posted_on"
]
},
"DiscussionPage": {
"properties": {
"data": {
"description": "The page data",
"items": {
"$ref": "#/definitions/Discussion"
},
"type": "array"
},
"facets": {
"description": "Search facets results if any",
"type": "object"
},
"next_page": {
"description": "The next page URL if exists",
"type": "string"
},
"page": {
"description": "The current page",
"minimum": 1,
"type": "integer"
},
"page_size": {
"description": "The page size used for pagination",
"minimum": 0,
"type": "integer"
},
"previous_page": {
"description": "The previous page URL if exists",
"type": "string"
},
"total": {
"description": "The total paginated items",
"minimum": 0,
"type": "integer"
}
},
"required": [
"page",
"page_size",
"total"
]
},
"DiscussionResponse": {
"properties": {
"close": {
"description": "Is this a closing response. Only subject owner can close",
"type": "boolean"
},
"comment": {
"description": "The comment to submit",
"type": "string"
}
},
"required": [
"comment"
]
},
"Follow": {
"properties": {
"follower": {
"$ref": "#/definitions/UserReference",
"description": "The follower",
"readOnly": true
},
"id": {
"description": "The follow object technical ID",
"readOnly": true,
"type": "string"
},
"since": {
"description": "The date from which the user started following",
"format": "date-time",
"readOnly": true,
"type": "string"
}
}
},
"FollowPage": {
"properties": {
"data": {
"description": "The page data",
"items": {
"$ref": "#/definitions/Follow"
},
"type": "array"
},
"facets": {
"description": "Search facets results if any",
"type": "object"
},
"next_page": {
"description": "The next page URL if exists",
"type": "string"
},
"page": {
"description": "The current page",
"minimum": 1,
"type": "integer"
},
"page_size": {
"description": "The page size used for pagination",
"minimum": 0,
"type": "integer"
},
"previous_page": {
"description": "The previous page URL if exists",
"type": "string"
},
"total": {
"description": "The total paginated items",
"minimum": 0,
"type": "integer"
}
},
"required": [
"page",
"page_size",
"total"
]
},
"Frequency": {
"properties": {
"id": {
"description": "The frequency identifier",
"type": "string"
},
"label": {
"description": "The frequency display name",
"type": "string"
}
}
},
"GeoGranularity": {
"properties": {
"id": {
"description": "The granularity identifier",
"type": "string"
},
"name": {
"description": "The granularity name",
"type": "string"
}
},
"required": [
"id",
"name"
]
},
"GeoJSON": {
"properties": {
"coordinates": {
"description": "The geometry as coordinates lists",
"items": {
"type": "object"
},
"type": "array"
},
"type": {
"description": "The GeoJSON Type",
"enum": [
"Point",
"LineString",
"Polygon",
"MultiPoint",
"MultiLineString",
"MultiPolygon"
],
"type": "string"
}
},
"required": [
"coordinates",
"type"
]
},
"GeoJSONFeature": {
"properties": {
"geometry": {
"$ref": "#/definitions/GeoJSON"
},
"id": {
"type": "string"
},
"properties": {
"type": "object"
},
"type": {
"enum": [
"Feature"
],
"type": "string"
}
},
"required": [
"geometry",
"type"
]
},
"GeoJSONFeatureCollection": {
"properties": {
"features": {
"items": {
"$ref": "#/definitions/GeoJSONFeature"
},
"type": "array"
},
"type": {
"enum": [
"FeatureCollection"
],
"type": "string"
}
},
"required": [
"features",
"type"
]
},
"GeoLevel": {
"properties": {
"id": {
"description": "The level identifier",
"type": "string"
},
"name": {
"description": "The level name",
"type": "string"
},
"parents": {
"description": "The parent levels",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"id",
"name"
]
},
"HarvestBackend": {
"properties": {
"id": {
"description": "The backend identifier",
"type": "string"
},
"label": {
"description": "The backend display name",
"type": "string"
}
}
},
"HarvestError": {
"properties": {
"created_at": {
"description": "The error creation date",
"format": "date-time",
"type": "string"
},
"details": {
"description": "Optionnal details (ie. stacktrace)",
"type": "string"
},
"message": {
"description": "The error short message",
"type": "string"
}
},
"required": [
"created_at",
"message"
]
},
"HarvestItem": {
"properties": {
"args": {
"default": [],
"description": "The item positional arguments",
"items": {
"type": "string"
},
"type": "array"
},
"created": {
"description": "The item creation date",
"format": "date-time",
"type": "string"
},
"dataset": {
"$ref": "#/definitions/DatasetReference",
"description": "The processed dataset"
},
"ended": {
"description": "The item end date",
"format": "date-time",
"type": "string"
},
"errors": {
"description": "The item errors",
"items": {
"$ref": "#/definitions/HarvestError"
},
"type": "array"
},
"kwargs": {
"default": {},
"description": "The item keyword arguments",
"type": "object"
},
"remote_id": {
"description": "The item remote ID to process",
"type": "string"
},
"started": {
"description": "The item start date",
"format": "date-time",
"type": "string"
},
"status": {
"description": "The item status",
"enum": [
"pending",
"started",
"done",
"failed",
"skipped"
],
"type": "string"
}
},
"required": [
"created",
"remote_id",
"status"
]
},
"HarvestItemPreview": {
"properties": {
"args": {
"default": [],
"description": "The item positional arguments",
"items": {
"type": "string"
},
"type": "array"
},
"created": {
"description": "The item creation date",
"format": "date-time",
"type": "string"
},
"dataset": {
"$ref": "#/definitions/DatasetPreview",
"description": "The processed dataset"
},
"ended": {
"description": "The item end date",
"format": "date-time",
"type": "string"
},
"errors": {
"description": "The item errors",
"items": {
"$ref": "#/definitions/HarvestError"
},
"type": "array"
},
"kwargs": {
"default": {},
"description": "The item keyword arguments",
"type": "object"
},
"remote_id": {
"description": "The item remote ID to process",
"type": "string"
},
"started": {
"description": "The item start date",
"format": "date-time",
"type": "string"
},
"status": {
"description": "The item status",
"enum": [
"pending",
"started",
"done",
"failed",
"skipped"
],
"type": "string"
}
},
"required": [
"created",
"remote_id",
"status"
]
},
"HarvestJob": {
"properties": {
"created": {
"description": "The job creation date",
"format": "date-time",
"type": "string"
},
"ended": {
"description": "The job end date",
"format": "date-time",
"type": "string"
},
"errors": {
"description": "The job initialization errors",
"items": {
"$ref": "#/definitions/HarvestError"
},
"type": "array"
},
"id": {
"description": "The job execution ID",
"type": "string"
},
"items": {
"description": "The job collected items",
"items": {
"$ref": "#/definitions/HarvestItem"
},
"type": "array"
},
"source": {
"description": "The source owning the job",
"type": "string"
},
"started": {
"description": "The job start date",
"format": "date-time",
"type": "string"
},
"status": {
"description": "The job status",
"enum": [
"pending",
"initializing",
"initialized",
"processing",
"done",
"done-errors",
"failed"
],
"type": "string"
}
},
"required": [
"created",
"id",
"source",
"status"
]
},
"HarvestJobPage": {
"properties": {
"data": {
"description": "The page data",
"items": {
"$ref": "#/definitions/HarvestJob"
},
"type": "array"
},
"facets": {
"description": "Search facets results if any",
"type": "object"
},
"next_page": {
"description": "The next page URL if exists",
"type": "string"
},
"page": {
"description": "The current page",
"minimum": 1,
"type": "integer"
},
"page_size": {
"description": "The page size used for pagination",
"minimum": 0,
"type": "integer"
},
"previous_page": {
"description": "The previous page URL if exists",
"type": "string"
},
"total": {
"description": "The total paginated items",
"minimum": 0,
"type": "integer"
}
},
"required": [
"page",
"page_size",
"total"
]
},
"HarvestJobPreview": {
"properties": {
"created": {
"description": "The job creation date",
"format": "date-time",
"type": "string"
},
"ended": {
"description": "The job end date",
"format": "date-time",
"type": "string"
},
"errors": {
"description": "The job initialization errors",
"items": {
"$ref": "#/definitions/HarvestError"
},
"type": "array"
},
"id": {
"description": "The job execution ID",
"type": "string"
},
"items": {
"description": "The job collected items",
"items": {
"$ref": "#/definitions/HarvestItemPreview"
},
"type": "array"
},
"source": {
"description": "The source owning the job",
"type": "string"
},
"started": {
"description": "The job start date",
"format": "date-time",
"type": "string"
},
"status": {
"description": "The job status",
"enum": [
"pending",
"initializing",
"initialized",
"processing",
"done",
"done-errors",
"failed"
],
"type": "string"
}
},
"required": [
"created",
"id",
"source",
"status"
]
},
"HarvestSource": {
"properties": {
"active": {
"default": false,
"description": "Is this source active",
"type": "boolean"
},
"backend": {
"description": "The source backend",
"enum": [
"ods",
"ckan"
],
"type": "string"
},
"config": {
"default": {},
"description": "The source specific configuration",
"type": "object"
},
"created_at": {
"description": "The source creation date",
"format": "date-time",
"type": "string"
},
"deleted": {
"description": "The source deletion date",
"format": "date-time",
"type": "string"
},
"description": {
"description": "The source description",
"format": "markdown",
"type": "string"
},
"id": {
"description": "The source unique identifier",
"readOnly": true,
"type": "string"
},
"last_job": {
"$ref": "#/definitions/HarvestJob",
"description": "The last job for this source",
"readOnly": true
},
"name": {
"description": "The source display name",
"type": "string"
},
"organization": {
"$ref": "#/definitions/OrganizationReference",
"description": "The producer organization"
},
"owner": {
"$ref": "#/definitions/UserReference",
"description": "The owner information"
},
"url": {
"description": "The source base URL",
"type": "string"
},
"validation": {
"$ref": "#/definitions/HarvestSourceValidation",
"description": "Has the source been validated",
"readOnly": true
}
},
"required": [
"active",
"backend",
"created_at",
"name",
"url"
]
},
"HarvestSourceValidation": {
"properties": {
"by": {
"$ref": "#/definitions/UserReference",
"description": "Who performed the validation",
"readOnly": true
},
"comment": {
"description": "A comment about the validation. Required on rejection",
"type": "string"
},
"on": {
"description": "Date date on which validation was performed",
"format": "date-time",
"readOnly": true,
"type": "string"
},
"state": {
"description": "Is it validated or not",
"enum": [
"accepted",
"pending",
"refused"
],
"type": "string"
}
},
"required": [
"state"
]
},
"Interval": {
"properties": {
"every": {
"description": "The interval without unit",
"type": "integer"
},
"period": {
"description": "The period/interval type",
"enum": [
"days",
"hours",
"minutes",
"seconds",
"microseconds"
],
"type": "string"
}
},
"required": [
"every",
"period"
]
},
"Issue": {
"discriminator": "class",
"properties": {
"class": {
"description": "The object class",
"type": "string"
},
"closed": {
"description": "The issue closing date",
"format": "date-time",
"readOnly": true,
"type": "string"
},
"closed_by": {
"description": "The user who closed the issue",
"readOnly": true,
"type": "string"
},
"created": {
"description": "The issue creation date",
"format": "date-time",
"readOnly": true,
"type": "string"
},
"discussion": {
"$ref": "#/definitions/IssueMessage"
},
"id": {
"description": "The issue identifier",
"readOnly": true,
"type": "string"
},
"subject": {
"description": "The issue target object identifier",
"type": "string"
},
"title": {
"description": "The issue title",
"type": "string"
},
"url": {
"description": "The issue API URI",
"readOnly": true,
"type": "string"
},
"user": {
"$ref": "#/definitions/UserReference",
"description": "The issue author"
}
},
"required": [
"class",
"subject",
"title",
"user"
]
},
"IssueMessage": {
"properties": {
"content": {
"description": "The message body",
"type": "string"
},
"posted_by": {
"$ref": "#/definitions/UserReference",
"description": "The message author"
},
"posted_on": {
"description": "The message posting date",
"format": "date-time",
"type": "string"
}
},
"required": [
"content",
"posted_by",
"posted_on"
]
},
"IssuePage": {
"properties": {
"data": {
"description": "The page data",
"items": {
"$ref": "#/definitions/Issue"
},
"type": "array"
},
"facets": {
"description": "Search facets results if any",
"type": "object"
},
"next_page": {
"description": "The next page URL if exists",
"type": "string"
},
"page": {
"description": "The current page",
"minimum": 1,
"type": "integer"
},
"page_size": {
"description": "The page size used for pagination",
"minimum": 0,
"type": "integer"
},
"previous_page": {
"description": "The previous page URL if exists",
"type": "string"
},
"total": {
"description": "The total paginated items",
"minimum": 0,
"type": "integer"
}
},
"required": [
"page",
"page_size",
"total"
]
},
"IssueResponse": {
"properties": {
"close": {
"description": "Is this a closing response. Only subject owner can close",
"type": "boolean"
},
"comment": {
"description": "The comment to submit",
"type": "string"
}
},
"required": [
"comment"
]
},
"Job": {
"properties": {
"args": {
"default": [],
"description": "The job execution arguments",
"items": {
"type": "object"
},
"type": "array"
},
"crontab": {
"$ref": "#/definitions/Crontab"
},
"description": {
"description": "The job description",
"type": "string"
},
"enabled": {
"default": false,
"description": "Is this job enabled",
"type": "boolean"
},
"id": {
"description": "The job unique identifier",
"readOnly": true,
"type": "string"
},
"interval": {
"$ref": "#/definitions/Interval"
},
"kwargs": {
"default": {},
"description": "The job execution keyword arguments",
"type": "object"
},
"last_run_at": {
"description": "The last job execution date",
"format": "date-time",
"readOnly": true,
"type": "string"
},
"last_run_id": {
"description": "The last execution task id",
"readOnly": true,
"type": "string"
},
"name": {
"description": "The job unique name",
"type": "string"
},
"schedule": {
"description": "The schedule display",
"readOnly": true,
"type": "string"
},
"task": {
"description": "The task name",
"enum": [
"piwik-current-metrics",
"log-test",
"purge-organizations",
"purge-datasets",
"bump-metrics",
"count-tags",
"piwik-yesterday-metrics",
"purge-reuses",
"error-test",
"harvest",
"send-frequency-reminder",
"crawl-resources"
],
"type": "string"
}
},
"required": [
"name",
"task"
]
},
"License": {
"properties": {
"flags": {
"description": "Some arbitry flags",
"items": {
"type": "string"
},
"type": "array"
},
"id": {
"description": "The license identifier",
"type": "string"
},
"maintainer": {
"description": "The license official maintainer",
"type": "string"
},
"title": {
"description": "The resource title",
"type": "string"
},
"url": {
"description": "The license official URL",
"type": "string"
}
},
"required": [
"id",
"title"
]
},
"Me": {
"allOf": [
{
"$ref": "#/definitions/User"
},
{
"properties": {
"apikey": {
"description": "The user API Key",
"readOnly": true,
"type": "string"
},
"email": {
"description": "The user email",
"type": "string"
}
},
"required": [
"email"
]
}
]
},
"Member": {
"properties": {
"role": {
"description": "The member role in the organization",
"enum": [
"admin",
"editor"
],
"type": "string"
},
"user": {
"$ref": "#/definitions/UserReference"
}
},
"required": [
"role"
]
},
"MembershipRequest": {
"properties": {
"comment": {
"description": "A request comment from the user",
"type": "string"
},
"created": {
"description": "The request creation date",
"format": "date-time",
"readOnly": true,
"type": "string"
},
"id": {
"readOnly": true,
"type": "string"
},
"status": {
"description": "The current request status",
"enum": [
"accepted",
"pending",
"refused"
],
"type": "string"
},
"user": {
"$ref": "#/definitions/UserReference"
}
},
"required": [
"comment",
"status"
]
},
"Metric": {
"properties": {
"date": {
"description": "The metrics sampling date",
"type": "string"
},
"level": {
"description": "The metrics granularity level",
"enum": [
"daily",
"monthly"
],
"type": "string"
},
"object_id": {
"description": "The object identifier which metrics belongs to",
"type": "string"
},
"values": {
"description": "The metrics as key-value pairs",
"type": "object"
}
},
"required": [
"date",
"level",
"object_id",
"values"
]
},
"MyMetrics": {
"properties": {
"datasets_count": {
"description": "The user's datasets number",
"readOnly": true,
"type": "integer"
},
"datasets_org_count": {
"description": "The user's orgs datasets number",
"readOnly": true,
"type": "integer"
},
"followers_count": {
"description": "The user's followers number",
"readOnly": true,
"type": "integer"
},
"followers_org_count": {
"description": "The user's orgs followers number",
"readOnly": true,
"type": "integer"
},
"id": {
"description": "The user identifier",
"type": "string"
},
"resources_availability": {
"description": "The user's resources availability percentage",
"readOnly": true,
"type": "number"
}
},
"required": [
"id"
]
},
"Notification": {
"properties": {
"created_on": {
"description": "The notification creation datetime",
"format": "date-time",
"readOnly": true,
"type": "string"
},
"details": {
"description": "Key-Value details depending on notification type",
"readOnly": true,
"type": "object"
},
"type": {
"description": "The notification type",
"readOnly": true,
"type": "string"
}
}
},
"Organization": {
"properties": {
"acronym": {
"description": "The organization acronym",
"type": "string"
},
"badges": {
"description": "The organization badges",
"items": {
"$ref": "#/definitions/Badge"
},
"readOnly": true,
"type": "array"
},
"created_at": {
"description": "The organization creation date",
"format": "date-time",
"readOnly": true,
"type": "string"
},
"deleted": {
"description": "The organization deletion date if deleted",
"format": "date-time",
"readOnly": true,
"type": "string"
},
"description": {
"description": "The organization description in Markdown",
"format": "markdown",
"type": "string"
},
"id": {
"description": "The organization identifier",
"type": "string"
},
"last_modified": {
"description": "The organization last modification date",
"format": "date-time",
"readOnly": true,
"type": "string"
},
"logo": {
"description": "The organization logo URLs",
"type": "string"
},
"members": {
"items": {
"$ref": "#/definitions/Member",
"description": "The organization members"
},
"type": "array"
},
"metrics": {
"description": "The organization metrics",
"readOnly": true,
"type": "object"
},
"name": {
"description": "The organization name",
"type": "string"
},
"page": {
"description": "The organization page URL",
"readOnly": true,
"type": "string"
},
"slug": {
"description": "The organization string used as permalink",
"type": "string"
},
"uri": {
"description": "The organization API URI",
"readOnly": true,
"type": "string"
},
"url": {
"description": "The organization website URL",
"type": "string"
}
},
"required": [
"description",
"id",
"name",
"slug"
]
},
"OrganizationPage": {
"properties": {
"data": {
"description": "The page data",
"items": {
"$ref": "#/definitions/Organization"
},
"type": "array"
},
"facets": {
"description": "Search facets results if any",
"type": "object"
},
"next_page": {
"description": "The next page URL if exists",
"type": "string"
},
"page": {
"description": "The current page",
"minimum": 1,
"type": "integer"
},
"page_size": {
"description": "The page size used for pagination",
"minimum": 0,
"type": "integer"
},
"previous_page": {
"description": "The previous page URL if exists",
"type": "string"
},
"total": {
"description": "The total paginated items",
"minimum": 0,
"type": "integer"
}
},
"required": [
"page",
"page_size",
"total"
]
},
"OrganizationReference": {
"allOf": [
{
"$ref": "#/definitions/BaseReference"
},
{
"properties": {
"acronym": {
"description": "The organization acronym",
"type": "string"
},
"logo": {
"description": "The organization logo URL",
"type": "string"
},
"name": {
"description": "The organization name",
"readOnly": true,
"type": "string"
},
"page": {
"description": "The organization web page URL",
"readOnly": true,
"type": "string"
},
"slug": {
"description": "The organization string used as permalink",
"type": "string"
},
"uri": {
"description": "The organization API URI",
"readOnly": true,
"type": "string"
}
},
"required": [
"slug"
]
}
]
},
"OrganizationSuggestion": {
"properties": {
"acronym": {
"description": "The organization acronym",
"readOnly": true,
"type": "string"
},
"id": {
"description": "The organization identifier",
"readOnly": true,
"type": "string"
},
"image_url": {
"description": "The organization logo URL",
"readOnly": true,
"type": "string"
},
"name": {
"description": "The organization name",
"readOnly": true,
"type": "string"
},
"page": {
"description": "The organization web page URL",
"readOnly": true,
"type": "string"
},
"score": {
"description": "The internal match score",
"readOnly": true,
"type": "number"
},
"slug": {
"description": "The organization permalink string",
"readOnly": true,
"type": "string"
}
}
},
"Post": {
"properties": {
"content": {
"description": "The post content in Markdown",
"format": "markdown",
"type": "string"
},
"created_at": {
"description": "The post creation date",
"format": "date-time",
"readOnly": true,
"type": "string"
},
"credit_to": {
"description": "An optionnal credit line (associated to the image)",
"type": "string"
},
"credit_url": {
"description": "An optionnal link associated to the credits",
"type": "string"
},
"datasets": {
"description": "The post datasets",
"items": {
"$ref": "#/definitions/DatasetReference"
},
"type": "array"
},
"headline": {
"description": "The post headline",
"type": "string"
},
"id": {
"description": "The post identifier",
"type": "string"
},
"image": {
"description": "The post image",
"readOnly": true,
"type": "string"
},
"last_modified": {
"description": "The post last modification date",
"format": "date-time",
"readOnly": true,
"type": "string"
},
"name": {
"description": "The post name",
"type": "string"
},
"owner": {
"$ref": "#/definitions/UserReference",
"description": "The owner user",
"readOnly": true
},
"page": {
"description": "The post page URL",
"readOnly": true,
"type": "string"
},
"private": {
"description": "Is the post visible",
"type": "boolean"
},
"reuses": {
"description": "The post reuses",
"items": {
"$ref": "#/definitions/ReuseReference"
},
"type": "array"
},
"slug": {
"description": "The post permalink string",
"readOnly": true,
"type": "string"
},
"tags": {
"description": "Some keywords to help in search",
"items": {
"type": "string"
},
"type": "array"
},
"uri": {
"description": "The post API URI",
"readOnly": true,
"type": "string"
}
},
"required": [
"content",
"headline",
"name"
]
},
"PostPage": {
"properties": {
"data": {
"description": "The page data",
"items": {
"$ref": "#/definitions/Post"
},
"type": "array"
},
"facets": {
"description": "Search facets results if any",
"type": "object"
},
"next_page": {
"description": "The next page URL if exists",
"type": "string"
},
"page": {
"description": "The current page",
"minimum": 1,
"type": "integer"
},
"page_size": {
"description": "The page size used for pagination",
"minimum": 0,
"type": "integer"
},
"previous_page": {
"description": "The previous page URL if exists",
"type": "string"
},
"total": {
"description": "The total paginated items",
"minimum": 0,
"type": "integer"
}
},
"required": [
"page",
"page_size",
"total"
]
},
"RefuseMembership": {
"properties": {
"comment": {
"description": "The refusal comment.",
"type": "string"
}
}
},
"Resource": {
"properties": {
"checksum": {
"$ref": "#/definitions/Checksum",
"description": "A checksum to validate file validity"
},
"created_at": {
"description": "The resource creation date",
"format": "date-time",
"readOnly": true,
"type": "string"
},
"description": {
"description": "The resource markdown description",
"format": "markdown",
"type": "string"
},
"filesize": {
"description": "The resource file size in bytes",
"type": "integer"
},
"filetype": {
"description": "Whether the resource is an uploaded file, a remote file or an API",
"enum": [
"file",
"remote",
"api"
],
"type": "string"
},
"format": {
"description": "The resource format",
"type": "string"
},
"id": {
"description": "The resource unique ID",
"readOnly": true,
"type": "string"
},
"is_available": {
"description": "The resource availability",
"readOnly": true,
"type": "object"
},
"last_modified": {
"description": "The resource last modification date",
"format": "date-time",
"readOnly": true,
"type": "string"
},
"metrics": {
"description": "The resource metrics",
"readOnly": true,
"type": "object"
},
"mime": {
"description": "The resource mime type",
"type": "string"
},
"published": {
"description": "The resource publication date",
"format": "date-time",
"type": "string"
},
"title": {
"description": "The resource title",
"type": "string"
},
"url": {
"description": "The resource URL",
"type": "string"
}
},
"required": [
"filetype",
"format",
"title",
"url"
]
},
"Reuse": {
"properties": {
"badges": {
"description": "The reuse badges",
"items": {
"$ref": "#/definitions/Badge"
},
"readOnly": true,
"type": "array"
},
"created_at": {
"description": "The reuse creation date",
"format": "date-time",
"readOnly": true,
"type": "string"
},
"datasets": {
"description": "The reused datasets",
"items": {
"$ref": "#/definitions/DatasetReference"
},
"type": "array"
},
"deleted": {
"description": "The organization identifier",
"format": "date-time",
"readOnly": true,
"type": "string"
},
"description": {
"description": "The reuse description in Markdown",
"format": "markdown",
"type": "string"
},
"featured": {
"description": "Is the reuse featured",
"readOnly": true,
"type": "boolean"
},
"id": {
"description": "The reuse identifier",
"readOnly": true,
"type": "string"
},
"image": {
"description": "The reuse thumbnail",
"type": "string"
},
"last_modified": {
"description": "The reuse last modification date",
"format": "date-time",
"readOnly": true,
"type": "string"
},
"metrics": {
"description": "The reuse metrics",
"readOnly": true,
"type": "object"
},
"organization": {
"$ref": "#/definitions/OrganizationReference",
"description": "The publishing organization",
"readOnly": true
},
"owner": {
"$ref": "#/definitions/UserReference",
"description": "The owner user",
"readOnly": true
},
"page": {
"description": "The reuse page URL",
"readOnly": true,
"type": "string"
},
"private": {
"description": "Is the reuse private to the owner or the organization",
"type": "boolean"
},
"slug": {
"description": "The reuse permalink string",
"readOnly": true,
"type": "string"
},
"tags": {
"description": "Some keywords to help in search",
"items": {
"type": "string"
},
"type": "array"
},
"title": {
"description": "The reuse title",
"type": "string"
},
"type": {
"description": "The reuse type",
"enum": [
"paper",
"application",
"hardware",
"api",
"visualization",
"post",
"news_article",
"idea"
],
"type": "string"
},
"uri": {
"description": "The reuse API URI",
"readOnly": true,
"type": "string"
},
"url": {
"description": "The reuse remote URL (website)",
"type": "string"
}
},
"required": [
"description",
"title",
"type",
"url"
]
},
"ReusePage": {
"properties": {
"data": {
"description": "The page data",
"items": {
"$ref": "#/definitions/Reuse"
},
"type": "array"
},
"facets": {
"description": "Search facets results if any",
"type": "object"
},
"next_page": {
"description": "The next page URL if exists",
"type": "string"
},
"page": {
"description": "The current page",
"minimum": 1,
"type": "integer"
},
"page_size": {
"description": "The page size used for pagination",
"minimum": 0,
"type": "integer"
},
"previous_page": {
"description": "The previous page URL if exists",
"type": "string"
},
"total": {
"description": "The total paginated items",
"minimum": 0,
"type": "integer"
}
},
"required": [
"page",
"page_size",
"total"
]
},
"ReuseReference": {
"allOf": [
{
"$ref": "#/definitions/BaseReference"
},
{
"properties": {
"image": {
"description": "The reuse thumbnail",
"type": "string"
},
"page": {
"description": "The reuse page URL",
"readOnly": true,
"type": "string"
},
"title": {
"description": "The reuse title",
"readOnly": true,
"type": "string"
},
"uri": {
"description": "The reuse API URI",
"readOnly": true,
"type": "string"
}
}
}
]
},
"ReuseSuggestion": {
"properties": {
"id": {
"description": "The reuse identifier",
"readOnly": true,
"type": "string"
},
"image_url": {
"description": "The reuse thumbnail URL",
"type": "string"
},
"page": {
"description": "The reuse page URL",
"readOnly": true,
"type": "string"
},
"score": {
"description": "The internal match score",
"readOnly": true,
"type": "number"
},
"slug": {
"description": "The reuse permalink string",
"readOnly": true,
"type": "string"
},
"title": {
"description": "The reuse title",
"readOnly": true,
"type": "string"
}
}
},
"ReuseType": {
"properties": {
"id": {
"description": "The reuse type identifier",
"type": "string"
},
"label": {
"description": "The reuse type display name",
"type": "string"
}
}
},
"Site": {
"properties": {
"id": {
"description": "The Site unique identifier",
"type": "string"
},
"metrics": {
"default": {},
"description": "The associated metrics",
"type": "object"
},
"title": {
"description": "The site display title",
"type": "string"
}
},
"required": [
"id",
"title"
]
},
"SpatialCoverage": {
"properties": {
"geom": {
"$ref": "#/definitions/GeoJSON",
"description": "A multipolygon for the whole coverage"
},
"granularity": {
"description": "The spatial/territorial granularity",
"type": "string"
},
"zones": {
"description": "The covered zones identifiers",
"items": {
"type": "string"
},
"type": "array"
}
}
},
"Task": {
"properties": {
"exc": {
"description": "The exception thrown during execution",
"type": "string"
},
"id": {
"description": "Tha task execution ID",
"readOnly": true,
"type": "string"
},
"result": {
"description": "The task results if exists",
"type": "string"
},
"status": {
"description": "Cron expression for hour",
"enum": [
"RECEIVED",
"RETRY",
"REVOKED",
"SUCCESS",
"STARTED",
"FAILURE",
"PENDING"
],
"readOnly": true,
"type": "string"
},
"traceback": {
"description": "The execution traceback",
"type": "string"
}
}
},
"TemporalCoverage": {
"properties": {
"end": {
"description": "The temporal coverage end date",
"format": "date-time",
"type": "string"
},
"start": {
"description": "The temporal coverage start date",
"format": "date-time",
"type": "string"
}
},
"required": [
"end",
"start"
]
},
"TerritorySuggestion": {
"properties": {
"code": {
"description": "The territory main code",
"type": "string"
},
"id": {
"description": "The territory identifier",
"type": "string"
},
"keys": {
"description": "The territory known codes",
"type": "object"
},
"level": {
"description": "The territory administrative level",
"type": "string"
},
"name": {
"description": "The territory name",
"type": "string"
},
"score": {
"description": "The internal match score",
"type": "number"
}
},
"required": [
"code",
"id",
"level",
"name",
"score"
]
},
"Topic": {
"properties": {
"created_at": {
"description": "The topic creation date",
"format": "date-time",
"readOnly": true,
"type": "string"
},
"datasets": {
"description": "The topic datasets",
"items": {
"$ref": "#/definitions/DatasetReference"
},
"type": "array"
},
"deleted": {
"description": "The organization identifier",
"format": "date-time",
"readOnly": true,
"type": "string"
},
"description": {
"description": "The topic description in Markdown",
"format": "markdown",
"type": "string"
},
"featured": {
"description": "Is the topic featured",
"type": "boolean"
},
"id": {
"description": "The topic identifier",
"type": "string"
},
"last_modified": {
"description": "The topic last modification date",
"format": "date-time",
"readOnly": true,
"type": "string"
},
"name": {
"description": "The topic name",
"type": "string"
},
"owner": {
"$ref": "#/definitions/UserReference",
"description": "The owner user",
"readOnly": true
},
"page": {
"description": "The topic page URL",
"readOnly": true,
"type": "string"
},
"private": {
"description": "Is the topic private",
"type": "boolean"
},
"reuses": {
"description": "The topic reuses",
"items": {
"$ref": "#/definitions/ReuseReference"
},
"type": "array"
},
"slug": {
"description": "The topic permalink string",
"readOnly": true,
"type": "string"
},
"tags": {
"description": "Some keywords to help in search",
"items": {
"type": "string"
},
"type": "array"
},
"uri": {
"description": "The topic API URI",
"readOnly": true,
"type": "string"
}
},
"required": [
"description",
"name"
]
},
"TopicPage": {
"properties": {
"data": {
"description": "The page data",
"items": {
"$ref": "#/definitions/Topic"
},
"type": "array"
},
"facets": {
"description": "Search facets results if any",
"type": "object"
},
"next_page": {
"description": "The next page URL if exists",
"type": "string"
},
"page": {
"description": "The current page",
"minimum": 1,
"type": "integer"
},
"page_size": {
"description": "The page size used for pagination",
"minimum": 0,
"type": "integer"
},
"previous_page": {
"description": "The previous page URL if exists",
"type": "string"
},
"total": {
"description": "The total paginated items",
"minimum": 0,
"type": "integer"
}
},
"required": [
"page",
"page_size",
"total"
]
},
"Transfer": {
"properties": {
"comment": {
"description": "A comment about the transfer request",
"readOnly": true,
"type": "string"
},
"created": {
"description": "The transfer request date",
"format": "date-time",
"readOnly": true,
"type": "string"
},
"id": {
"description": "The transfer unique identifier",
"readOnly": true,
"type": "string"
},
"owner": {
"$ref": "#/definitions/BaseReference",
"description": "The user or organization currently owning the transfered object",
"readOnly": true
},
"recipient": {
"$ref": "#/definitions/BaseReference",
"description": "The user or organization receiving the transfered object",
"readOnly": true
},
"reponse_comment": {
"description": "A comment about the transfer response",
"readOnly": true,
"type": "string"
},
"responded": {
"description": "The transfer response date",
"format": "date-time",
"readOnly": true,
"type": "string"
},
"status": {
"description": "The current transfer request status",
"enum": [
"accepted",
"pending",
"refused"
],
"type": "string"
},
"subject": {
"$ref": "#/definitions/BaseReference",
"description": "The transfered object",
"readOnly": true
}
}
},
"TransferRequest": {
"properties": {
"comment": {
"description": "An explanation about the transfer request",
"type": "string"
},
"recipient": {
"$ref": "#/definitions/BaseReference",
"description": "The transfer recipient, either an user or an organization"
},
"subject": {
"$ref": "#/definitions/BaseReference",
"description": "The transfered subject"
}
},
"required": [
"comment",
"recipient",
"subject"
]
},
"TransferResponse": {
"properties": {
"comment": {
"description": "An optionnal comment about the transfer response",
"type": "string"
},
"response": {
"description": "The response",
"enum": [
"accept",
"refuse"
],
"type": "string"
}
},
"required": [
"response"
]
},
"UploadedImage": {
"properties": {
"image": {
"type": "string"
},
"success": {
"default": true,
"description": "Whether the upload succeeded or not.",
"readOnly": true,
"type": "boolean"
}
}
},
"UploadedResource": {
"properties": {
"checksum": {
"$ref": "#/definitions/Checksum",
"description": "A checksum to validate file validity"
},
"created_at": {
"description": "The resource creation date",
"format": "date-time",
"readOnly": true,
"type": "string"
},
"description": {
"description": "The resource markdown description",
"format": "markdown",
"type": "string"
},
"filesize": {
"description": "The resource file size in bytes",
"type": "integer"
},
"filetype": {
"description": "Whether the resource is an uploaded file, a remote file or an API",
"enum": [
"file",
"remote",
"api"
],
"type": "string"
},
"format": {
"description": "The resource format",
"type": "string"
},
"id": {
"description": "The resource unique ID",
"readOnly": true,
"type": "string"
},
"is_available": {
"description": "The resource availability",
"readOnly": true,
"type": "object"
},
"last_modified": {
"description": "The resource last modification date",
"format": "date-time",
"readOnly": true,
"type": "string"
},
"metrics": {
"description": "The resource metrics",
"readOnly": true,
"type": "object"
},
"mime": {
"description": "The resource mime type",
"type": "string"
},
"published": {
"description": "The resource publication date",
"format": "date-time",
"type": "string"
},
"success": {
"default": true,
"description": "Whether the upload succeeded or not.",
"readOnly": true,
"type": "boolean"
},
"title": {
"description": "The resource title",
"type": "string"
},
"url": {
"description": "The resource URL",
"type": "string"
}
},
"required": [
"filetype",
"format",
"title",
"url"
]
},
"User": {
"properties": {
"about": {
"description": "The user self description",
"format": "markdown",
"type": "string"
},
"avatar": {
"description": "The user avatar URL",
"type": "string"
},
"first_name": {
"description": "The user first name",
"type": "string"
},
"id": {
"description": "The user identifier",
"type": "string"
},
"last_name": {
"description": "The user last name",
"type": "string"
},
"organizations": {
"description": "The organization the user belongs to",
"items": {
"$ref": "#/definitions/OrganizationReference"
},
"type": "array"
},
"page": {
"description": "The user profile page URL",
"readOnly": true,
"type": "string"
},
"roles": {
"description": "Site wide user roles",
"items": {
"type": "string"
},
"type": "array"
},
"since": {
"description": "The registeration date",
"format": "date-time",
"type": "string"
},
"slug": {
"description": "The user permalink string",
"type": "string"
},
"uri": {
"description": "The user API URI",
"type": "string"
},
"website": {
"description": "The user website",
"type": "string"
}
},
"required": [
"first_name",
"id",
"last_name",
"since",
"slug",
"uri"
]
},
"UserPage": {
"properties": {
"data": {
"description": "The page data",
"items": {
"$ref": "#/definitions/User"
},
"type": "array"
},
"facets": {
"description": "Search facets results if any",
"type": "object"
},
"next_page": {
"description": "The next page URL if exists",
"type": "string"
},
"page": {
"description": "The current page",
"minimum": 1,
"type": "integer"
},
"page_size": {
"description": "The page size used for pagination",
"minimum": 0,
"type": "integer"
},
"previous_page": {
"description": "The previous page URL if exists",
"type": "string"
},
"total": {
"description": "The total paginated items",
"minimum": 0,
"type": "integer"
}
},
"required": [
"page",
"page_size",
"total"
]
},
"UserReference": {
"allOf": [
{
"$ref": "#/definitions/BaseReference"
},
{
"properties": {
"avatar": {
"description": "The user avatar URL",
"type": "string"
},
"first_name": {
"description": "The user first name",
"readOnly": true,
"type": "string"
},
"last_name": {
"description": "The user larst name",
"readOnly": true,
"type": "string"
},
"page": {
"description": "The user profile page URL",
"readOnly": true,
"type": "string"
},
"slug": {
"description": "The user permalink string",
"type": "string"
},
"uri": {
"description": "The user API URI",
"type": "string"
}
},
"required": [
"slug",
"uri"
]
}
]
},
"UserSuggestion": {
"properties": {
"avatar_url": {
"description": "The user avatar URL",
"type": "string"
},
"first_name": {
"description": "The user first name",
"readOnly": true,
"type": "string"
},
"id": {
"description": "The user identifier",
"readOnly": true,
"type": "string"
},
"last_name": {
"description": "The user last name",
"readOnly": true,
"type": "string"
},
"score": {
"description": "The internal match score",
"readOnly": true,
"type": "number"
},
"slug": {
"description": "The user permalink string",
"readOnly": true,
"type": "string"
}
}
}
},
"securityDefinitions": {
"apikey": {
"keyname": "X-API-KEY",
"passAs": "header",
"type": "apiKey"
}
},
"tags": [
{
"description": "Site global namespace",
"name": "site"
},
{
"description": "Spatial references",
"name": "spatial"
},
{
"description": "Issue related operations",
"name": "issues"
},
{
"description": "Discussion related operations",
"name": "discussions"
},
{
"description": "User related operations",
"name": "users"
},
{
"description": "Connected user related operations",
"name": "me"
},
{
"description": "Dataset related operations",
"name": "datasets"
},
{
"description": "Reuse related operations",
"name": "reuses"
},
{
"description": "Organization related operations",
"name": "organizations"
},
{
"description": "Asynchronous workers related operations",
"name": "workers"
},
{
"description": "Tags related operations",
"name": "tags"
},
{
"description": "Topics related operations",
"name": "topics"
},
{
"description": "Posts related operations",
"name": "posts"
},
{
"description": null,
"name": "transfer"
},
{
"description": "Notifications API",
"name": "notifications"
},
{
"description": "Harvest related operations",
"name": "harvest"
}
]
}
以上是关于json 这是CKAN API的OpenAPI规范定义的主要内容,如果未能解决你的问题,请参考以下文章
REST API openapi 规范 AWS API Gateway 与 serverless.com 框架的集成
如何从 protobuf (.proto) 文件中生成 (.json/.yaml) 中的 swagger3 (OpenAPI3) 规范?
在不使用 OpenAPI 或 Swagger 规范的情况下,使用 OWASP ZAP 对 API 进行身份验证