Is http API only for exporting data?

Hi, I read in this link that indico allows accessing the content of its database. I was wondering if it’s possible to modify the content also? like adding an event through API.

I got confused when I saw the check-in app. If it checks in a participant then it means there’s a database content modification happening.

The checkin app uses a special API (which is only accessible via oauth) that allows getting a registrant list and modifying the checkin status, while the more generic “http_api” is indeed mostly limited to retrieving data.

At some point we want to improve the API but so far we didn’t have the time to do that. I could imagine that - after making some general improvements - we start exposing endpoints used by parts of the frontend which are reactjs-based. Because those already use an (internal) API anyway, so exposing them to be accessed via an API token or OAuth would be easy.

1 Like

Thanks for the explanation :pray:

Hello. Is the answer to this question still current or has the ability to create events though API been added?

I need a way to create and even with times and speakers in some automated way and not using GUI, please let me know if there is such an option using API or anything else.

Thanks,
Irakli

No, but you can look at the form data sent by the GUI and then use a Personal Access Token with the “Everything (all methods)” scope to call those endpoints progammatically.

Thanks for the reply and that sound exactly like what would serve my needs. Is there an example of this being implemented somewhere I can have a look at?

Accessing the API — Indico 3.2.2 documentation on how to use the tokens. Then simply use your browser’s devtools to look at the request sent when performing the action manually to see what’s sent and what the response it.

Note: We make zero guarantees on stability of these internal things. Being internal APIs (not even actual APIs) they can stop working at any time without prior announcement (on CERN Indico) - so when using them it’s highly recommended to set up some alerts when such an endpoint suddenly response with a 4xx error (e.g. 400, 404 or 422). For example, we may move the event creation dialog to React at some point - when we do that, the endpoint expecting form data will be replaced with an API that expects JSON. So it will break your integration but at the same time after fixing it you’ll have a much nicer one :wink:

Thank you. I will give it my best. This time it is a one time action I need to take. Will keep you warnings in mind if I’ll need to implement this as a service for the future.