ckan / ckan/ideas

API Catalog feature

Open
#202 6 comments 2 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
39
Forks
1
PR merge metrics
No merged PRs in 30d

Description

# Summary
Many organizations use CKAN as a **data portal and catalog**. However, there is an emerging need to catalog data sources from remote **APIs** (e.g. REST, etc.).

It would prove beneficial for CKAN to support some sort of API catalog.

# Background
There are national and EU-wide initiatives to standardize data infrastructure, and CKAN is well positioned. However, CKAN mainly lacks the API cataloging capabilities increasingly needed by governments and industry.

# Idea
An API Catalog would be a top-level feature, on the level of Organizations, Groups, Data Sets, etc.. An API manager could add information about the API, such as the endpoints and documentation in a standard format (such as OpenAPI Specification).

## Extension across CKAN features
Additional features could be built around the APIs, such as comments/feedback, branding, etc. Those features could be related to APIs, data sources, groups, organizations, etc.

*Full disclosure*: I work on an open-source project, called [APInf](https://github.com/apinf/platform), where we have built an API catalogue and community platform.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the CKAN main repository and Discussions, since this ideas repository is marked deprecated. Compare the proposed top-level API Catalog with existing Organizations, Groups, and Data Sets, and review the OpenAPI requirements described here. Done would require an agreed scope and implementation plan; this issue names no files or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
openapi
Domain
api, backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.