Make the API non-CKAN specific
Add proper 403 errors to custom APIs
Handle failed requests to CKAN

Handle failing to get resource IDs (because the user's API key is not
allowed to use the deadoralive API) and failing to get a resource's URL
(e.g. because it's a private resource).