schema:
https://schema.org/
xsd:
http://www.w3.org/2001/XMLSchema#
dcterms:
http://purl.org/dc/terms/
gpodder:
https://gpodder.net/schema#
{
"@context": {
"@vocab": "https://gpodder.net/schema#",
"schema": "https://schema.org/",
"xsd": "http://www.w3.org/2001/XMLSchema#",
"dcterms": "http://purl.org/dc/terms/",
"gpodder": "https://gpodder.net/schema#",
"GetApi2DataPodcastJsonResponse": "gpodder:GetApi2DataPodcastJsonResponse",
"website": {
"@id": "gpodder:website",
"@type": "xsd:string"
},
"mygpo_link": {
"@id": "gpodder:mygpo_link",
"@type": "xsd:string"
},
"description": {
"@id": "gpodder:description",
"@type": "xsd:string"
},
"subscribers": {
"@id": "gpodder:subscribers",
"@type": "xsd:integer"
},
"title": {
"@id": "gpodder:title",
"@type": "xsd:string"
},
"author": {
"@id": "gpodder:author",
"@type": "xsd:string"
},
"url": {
"@id": "gpodder:url",
"@type": "xsd:string"
},
"logo_url": {
"@id": "gpodder:logo_url",
"@type": "xsd:string"
},
"PostApi2DevicesAUserSomedevice123JsonRequest": "gpodder:PostApi2DevicesAUserSomedevice123JsonRequest",
"caption": {
"@id": "gpodder:caption",
"@type": "xsd:string"
},
"type": {
"@id": "gpodder:type",
"@type": "xsd:string"
},
"PostApi2DevicesAUserSomedevice123JsonResponse": "gpodder:PostApi2DevicesAUserSomedevice123JsonResponse",
"PostApi2EpisodesSomeUserJsonRequest": "gpodder:PostApi2EpisodesSomeUserJsonRequest",
"podcast": {
"@id": "gpodder:podcast",
"@type": "xsd:string"
},
"episode": {
"@id": "gpodder:episode",
"@type": "xsd:string"
},
"device": {
"@id": "gpodder:device",
"@type": "xsd:string"
},
"action": {
"@id": "gpodder:action",
"@type": "xsd:string"
},
"timestamp": {
"@id": "gpodder:timestamp",
"@type": "xsd:string"
},
"started": {
"@id": "gpodder:started",
"@type": "xsd:integer"
},
"position": {
"@id": "gpodder:position",
"@type": "xsd:integer"
},
"total": {
"@id": "gpodder:total",
"@type": "xsd:integer"
},
"PostApi2EpisodesSomeUserJsonResponse": "gpodder:PostApi2EpisodesSomeUserJsonResponse",
"update_urls": {
"@id": "gpodder:update_urls",
"@container": "@list"
},
"GetApi2FavoritesResponse": "gpodder:GetApi2FavoritesResponse",
"podcast_title": {
"@id": "gpodder:podcast_title",
"@type": "xsd:string"
},
"podcast_url": {
"@id": "gpodder:podcast_url",
"@type": "xsd:string"
},
"released": {
"@id": "gpodder:released",
"@type": "xsd:string"
},
"GetApi2SettingsResponse": "gpodder:GetApi2SettingsResponse",
"PostApi2SettingsRequest": "gpodder:PostApi2SettingsRequest",
"set": {
"@id": "gpodder:set"
},
"remove": {
"@id": "gpodder:remove",
"@container": "@list"
},
"PostApi2SettingsResponse": "gpodder:PostApi2SettingsResponse",
"GetApi2SyncDevicesUsernameJsonResponse": "gpodder:GetApi2SyncDevicesUsernameJsonResponse",
"synchronized": {
"@id": "gpodder:synchronized",
"@container": "@list"
},
"not-synchronized": {
"@id": "gpodder:not-synchronized",
"@container": "@list"
},
"PostApi2SyncDevicesUsernameJsonRequest": "gpodder:PostApi2SyncDevicesUsernameJsonRequest",
"synchronize": {
"@id": "gpodder:synchronize",
"@container": "@list"
},
"stop-synchronize": {
"@id": "gpodder:stop-synchronize",
"@container": "@list"
},
"PostApi2SyncDevicesUsernameJsonResponse": "gpodder:PostApi2SyncDevicesUsernameJsonResponse",
"GetSearchJsonResponse": "gpodder:GetSearchJsonResponse",
"GetSuggestionsResponse": "gpodder:GetSuggestionsResponse",
"GetSuggestions10OpmlResponse": "gpodder:GetSuggestions10OpmlResponse",
"GetToplist50JsonResponse": "gpodder:GetToplist50JsonResponse"
},
"@type": "schema:Dataset",
"schema:name": "gpodder.net API JSON-LD context",
"schema:description": "A JSON-LD @context for the objects gpodder.net's own API contract declares: one class per component schema, one property per declared field, typed from the contract. Derived by script (derive-json-ld.py, 2026-10-28) from openapi/_ae-authored/gpodder-openapi-generated.yml.",
"dcterms:created": "2026-10-28",
"dcterms:source": [
"openapi/_ae-authored/gpodder-openapi-generated.yml"
]
}