ckan / ckan/ideas

Custom Data APIs

Open
#28 6 comments 0 reactions 0 assignees View on GitHub
CKAN Extension Core CKAN Effort & Difficulty: ★★
Dominant language
No language data
Stars
39
Forks
1
PR merge metrics
No merged PRs in 30d

Description

Ability for users to create custom data APIs to complement the standard data API response.
## Motivating Examples
### Concatenating tables

Suppose I'm storing crime data in multiple resources / datastore tables but I want to be able to query across them. I want to join those tables to have a single crime table.

/custom-api/crime?month=...
### Joining tables

I want to have query a table created by joining multiple tables
## Implementation

Custom API object

```
{
id: # auto-increment
name: # nice unique name for urls
author: .... # FK to user
organization: ... # FK to organization
view: # an sql view spec for generating a view that this will be a query onto
}
```
### URL

```
/api/datastore/custom/{name} # query
/api/datastore/custom/{name}/{id} # access to entity with id
```

_Question_: should we have org name in custom url name so we get some kind of namespacing?

Contributor guide

No contributing guide indexed for this repository

Research direction

No files, tests, or implementation entry points are named. Start by reviewing the proposed Custom API object and the two endpoint shapes, then resolve the unanswered organization-name namespacing question; done means the scope and behavior for creating and querying custom APIs are specified.

Written by the indexing model from the issue text.

Assessment

Tech stack
sql
Domain
api, databases
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.