Play the webinar
Play the webinar
Register for the webinar
November 10, 2020
Figshare’s CTO, Adi Enasoaie, will demonstrate Figshare’s robust API, covering the basics of its documentation using Swagger and the possibilities when it comes to pushing and pulling content into Figshare, the applications and integrations that have been created using it, and more.
Please note that the transcript was generated with software and may not be entirely correct.
Thanks for joining this API webinar this afternoon.
And thank you in advance for sending in any questions that you have for addy this afternoon, and he's going to try and answer them as best as he can. And, if you do have any further questions, please feel free to either put them in the questions section.
Oh, there's a chat. Yep, so, you can put it in either, and we'll be sure to have a look at them at the end.
Um, think that's pretty much all the admin. And so, with that, I'll hand it over to Adi, who is Figshare’s CTO, demonstrating the API for you this afternoon.
Take it away, Adi! OK, hi, everyone, hope everyone can hear me. Fine. I did prepare some things in advance, but, of course, the first thing I did is mess up my token. So, this will be the first thing that we're going to do. Just a bit of context, so we did present the API in more detail, some other times.
This time, we tried to focus on the Swagger thing that we have going on. So this is basically doing everything with the API, testing, your course and everything, within the safety of a web browser.
So as not to actually have a development environment installed and everything, of course, you can do, actually, hundred percent of the API functionality And we'll get to those bids. But well, yeah, we'll just focus on the things you can actually do, which is, I think, over 80% of all the API functionality.
So you can find everything related to this and docs dot Figshare dot com. I strongly encourage you to check it out and spend some hours here because it's quite a bit of things. So I'll skip over the introduction bit very quickly.
This just details the authentication methods that we use.
The Oauth and everything does have a quick guide, of course. But yeah, I think this is what I'm here for. So, I hope you can see, All right, this is one of our test institutions that we've set up on the production environment, actually. Didn't try to go to stage for this one, just to show you that it actually does work in production, as well. So, this is our own little Put University team. And this is the account of our own product manager, Christopher George, of course.
So, the first bit, you need to do, in order to use the swagger in full, or the API, for that matter, is actually gets a personal token. As you can see, we have hundreds, at least, tens, if not hundreds, of them. Anyway, there, if you keep scrolling, they're going to be a lot you can create as many as you want.
The, the the deal is, let's do swagger demo. I already did this once and I managed to lose it. So this is very important.
You get to see it just once.
If, And, yeah, you should keep it, you should store it somewhere safely. Not like I did it, Anyway, We have it here.
Now, we're going to start going through, yeah. Is it clear? Take them in turn.
So the first thing you can do, this is the articles section of the API. So the first thing, of course, is the, is a gift which returns a list of public articles. And this is all it does, and the parameters are here.
You can put them in this, in these input fields, and it's gonna work. This is a response sample. This is what you're gonna get. We can try to actually, for each and every end point, you have a try for button.
And when you do this, there you go. Oh, yeah, it just does the, the actual API call and presents you with the results. Again, this is not much of the get a public articles, it just returns.
It just returns some articles. Page size, you can go from 10 to 100, to one thousand. Anyway, it's just pagination offset. You can order them.
So, basically, this in vanilla form, there's get gives you the latest, published them, public articles.
You can filter by institution or some other dates, or groups, or resources, the ally, or item types, or the UI or handoff. But, this is about it.
This is all you can do Now, we're going to go to, this is the better, the better thing, the better option. It's the search functionality, which is basically the same as above it.
Just has an additional search for parameter, know. Again, if you click on this body sample, it will auto fill everything here, and you can try it. Of course, the sample does not actually work. So, don't try it with the sample. Cause here. We just listed everything that you can add, and of course, you have page page size and limit offset, which are mutually exclusive, and you have a resource that may or may not exist, or everything, but.
and, just to be really, really quickly, we'll just try to do a search for.
And then gets rid of all other parameters.
Um, yeah, and, it's going to take a bit, but, hopefully, at some point, I'm going to learn to do this faster. So, if you just do this, for example, you get articles.
I can search for, sorry.
Figshare, it's just an extra comma.
Yeah, there you go.
So this is everything is just like going to, to actually to Figshare dot com and clicking Search….
This is basically replicating pilots and dysfunctionality law, However, with pagination, with the JSON response and everything. So, you can use this. Again, this is very, it's very interesting that you can use within this parameter, you can also use the advanced search functionality, is you just input something interesting here. For example, let us just look for articles where we have Figshare in title. I really hope there is at least one. And we're just going to assume. Yeah, apparently there is.
This is it, and this is the living proof that search actually works. And the API actually works on Swagger, for that matter. Actually, work works.
So for everything search related, if you look here on the left side, you're going to see we have a full section on a search. This is not integrated with Swagger. So it's just for documentation.
Just, you can just get some examples from here. Go search, go actually Search, and in the Public article, in the public article search, I can fill this up with a JSON. Yeah. Everything's basically well documented.
The next 10 points are pretty, pretty basic and pretty common.
So get the article, get an article, or go details.
So if we get one ID from this specific article, I just picked one randomly from Figshare. So an input, an ID.
If it's a public article, you're going to get everything about it. In JSON format. This is everything we store about the article in our database.
You have the sample response here.
Then, this list you article versions for, for the articles that do have them. Do have those versions, this one, I'm pretty sure it just has one. So it's going to list your this. If you have more, you would have seen more versions, but this is, again, pretty basic thing, nothing magical about it. And of course, the details for the version, where you have to input the version number. This will basically give you, it's the article presenter that I've already showed you.
I'll move on, OK, so this is the Embargo section.
OK this is, interesting, this one, the one, that I think, unfortunately does not have embargo. So as you can see, basically, has nothing, this, would give you just, the embargo bit, which, is not present in, the, in, the, actual, public article present, that, this is something, you have to do to, actually, separately do.
I think, for some, things, stock.
doesn't seem to, oh, am I still in the meeting?
Yes, yes, sir.
I thought something was wrong with the Internet or something, OK? So it just works, I don't know. Random things anyway. The confidentiality bit, this is something that's now deprecated. Of course we have replace this with embargo. We do tend to keep all the, all, the, all the endpoints for backwards compatibility. So you're going to find this, but the description basically tells you everything you need to know. We're not going to have this anymore is Confidential.
True means it has an embargo on the whole item, but yeah, this is just this is just a detail, OK, now, these are the endpoints relating to the files of the article. So you can inputting just the article ID. You can see the files there are attached to it with an ID size and all those details.
I'm just going to copy this, because we're going to use it later in the article file details. Of course.
You'll go for the File ID, Forms and now your article ID as well. This just gonna give you more details on the specific file is in the MD five Checksum, supplied computed name.
And if it's just a link, or it's an actual, and the actual download URL, this is pretty useful if you need to do a script.
Bars, bars, I don't know, your institutions articles, and download some files or all of them. You can get the download URLs from here, and then just access them, and you're gonna get the files. This is pretty neat. Pretty easy.
And this is talk, again, No idea why this happens.
Yeah, it just tends to happen. Anyway, might be my intranet or something. Now we're going into the private side of the thing, and this is where our trusted token.
We will need this if we don't.
So just search in the then the private articles.
Let us just try to do the search for again.
Yeah, pretty live.
I'm gonna search for something that's called the test, because I'm pretty sure we have something like that.
Yes. And you don't have an auth token, and this is what's going to happen. If you don't actually authenticate, but this is yeah, this is so easy. You just input this token here, and then hopefully everything will work out. This is amazing. Yeah, This is really fine.
Oh, no, I managed to.
Mister Field. Sorry. Sorry about that.
Happens to the best. Of course, OK, so this is all private articles that you can find in my data. We have a bunch of those on this account. And all of them are, there's multiple items of core. Anyway. So I knew there were some with Test. And you can get them in here. This is the private side of things.
Private articles, Again, same thing with the with the filtering, without the search functionality, it's exactly like in the public articles. You get two end points for the price of one, actually.
This is interesting, because you can actually create new articles and a Check. It actually works as far as I know.
And I do know we had a question about these things.
How can you create an article with a Custom DOI via the API or via Swagger? So, this is, I think, really good time to show you this.
So, this is, again, about a sample, might not where it goes. We were actually listed everything. That's, that's possible. So funding and funding list. I know they're mutually exclusive. So I'm just gonna get rid of funding.
Let me see, I'll just leave the DOI in there, get rid of everything, the timeline, as well, because I'm not 100% sure. It's gonna work on this specific account group ID as well.
I'm just gonna leave some basic things, basic, meta data, and, yeah, the DOI custom fields maybe gets rid of those as well. Not sure we have them on a little bit.
Anyway, they can be their authors, Categories. Yeah, I think this should work.
So, for the doig bit, how this works is we do have, in the database, do a prefix for every institution and we we do check it every time. Let's see if I remember.
I remember, I want to remember a wrong one, at first, so that I make sure it doesn't actually work, there should be some sort of some sort of DOI.
Yeah, some things facing, of course, yet, so let me try with.
Yeah, and see if something else is missing.
Images, try to get rid of something else.
You should have good things in here, Yeah.
It just disappeared for some reason I didn't prepare this in advance even if it doesn't look like it. Anyway, we do have tags. We have keywords. Let me just give you the references.
Maybe there Created categories. That's fine.
Yeah, OK, Let me try.
Just removing the ID, because I don't know if we have a John Doe with that specific ID in our database. Just literally defining type. Let's just get rid of the funding list as well.
This may be that's there.
Let's try again.
A invalid DOI format. So yeah, we do, we actually do those checks. So you need to make sure this is in the appropriate format. As per, as defined for your institution.
Yeah, and there you go. Now, that's the right format.
It gives you a response code of 202 or 1, which is mm resource created. And it gives you the actual link, where you can get the ID.
And we can see, I think, if I refresh this and my data, as the article titles, which is with our authors, and this is what's interesting, It does have the custom UI.
So this is the way to do it. I'm glad I got to this point, without too many problems. Anyway, again, we can delete that the specific article, it's that easy, is just input an article idea, and you can delete it from here.
Getting the article details, of course.
Let me see if I, mmm, very interesting.
If I actually remembered the, OK, the ID of the article that was created. But I managed to manage to keep copying it, so yeah, it's not gonna happen, But anyway, you can get the article details from here. It's, yeah, it's pretty easy.
Way, and this is, again, interesting, the update article. So it does need a body or request body, which you'll have here, and it actually updates things.
So I do know, some people asked, how we can are going to add another author, or maybe remove this author that we, we actually add by default.
So always, when you create an article by API, you're gonna get yourself as an author, no matter what, This is, because it does need, an article on Figshare does need to have an author, and if you don't input anything, we're going to manage to create it.
Anyway, so if you want to remove an author, you can just do that from here, with the update article, but again, requires an article ID, and you're just, it goes to authors, and just add another one, just add another one, it has gone updated, no issues.
There is another endpoint, that does, this, exact same thing. We're going to get to it a bit later.
Again, this is, the embargo section for the private side of the articles, this is, lifting the embargo, and getting, embargo details, articles, again, this, its works and, updating the embargo OK.
Sorry about that. And, of course, we got to the, private article publish. I'm not going to test this because, yeah, we're on production and, I wouldn't want to make this test article titled Public and then, taken down, really Quick Links. There's no point in doing that.
But again, is just a matter of putting the article ID drive it and that's, that's really, that's really easy, reserved, the functionality present here as well. As the requires the article ID, it's going to create a reserved the why are you and reach the same functionality for handles as well. This is something pretty new Figshare. Now the article authors that you can get the listing and an ID. if they have them, you may want to hold on to that. If you want to add a specific author that does have an account on Figshare, you can get them here.
Yeah, This is, And these are endpoints that are specific for the use case, that I was talking before.
As I was saying, you can do that from the update private article, but we do have endpoint specific for this, for the, for the authors. As you add an author, you can add an offer, a couple of authors, at three authors, and you can replace all article authors with a list that you, that you can input. It's pretty, pretty easy.
And, of course, delete a specific author from an article.
Categories, again, this is pretty easy, you can get the categories of the, of the article that you created. You can add categories. So, you can add them via ID. So this everything that you need to know, cause categories, yeah. You're probably not gonna know fix these four categories by heart or Figshare on these four licenses for that matter. And for that, I think we have specific endpoints here. If you go to the other section that we're probably going to get a little later, anyway, we're gonna, We're gonna get there. You can do a gift for article four categories.
That's probably going to show you all are all our categories, with IDs.
So you can get them from here or keep them, we're not changing them tool, So, yeah, it should be fine.
Oh, OK, where was I?
The Files section, links, OK, so … categories, OK, of course, at categories, replace them, exactly like offers. This is just basic metadata manipulation, so, yeah, we, we have these endpoints there. Again, pretty easy, pretty well documented, nothing magic about them. Private article, confidentiality, it's, again, the same story is with the public ones. Functionality is deprecated, now replaced by, by the full flight embargo.
Confidentiality details, same thing, update confidentiality or the whole section. Just skip over it.
Private links, If you're familiar with this specific functionality feature, you can share a private link to an actual private item without making it public.
This is again, doable here. You have the tri button. It's that easy, and it just gives you the ID of the specific private link, and then you can access it using that ID in the browser. It's really easy, create, get, disable it, and update update. It, just update the private link. It stays the same.
The URL stays the same, You can just update the expiration date, just make it lost a bit longer. Maybe. Then we get to the Files, which is basically exactly like the public side of the deal. You can list the article files. Now we're getting to the here report, which is the upload files. For those of you who are not familiar with uploading files on Figshare via the API, it's a bit more complicated process. It's not the simplest thing and this is quite important. You can't. This is one of the things that you can't actually do by using Swagger. You will need a development environment of sorts in order to be able to attach the the actual file. You can just just pull it into the browser and then, and then upload.
It's going to require a bit of coding.
However, what you can do from Swagger, it's the, it's everything else except the actual upload.
So, this, this comes in steps, You have to initiate an upload to a specific article ID, you're going to link it to a specific article ID, and then you're going to actually upload the file, then you're going to complete the upload, which, again, you can do from here. I'm not sure how useful this is, as long as you can't do the whole process. But, yeah, I know, I know it is, That's why we have.
We have a full Upload Files section here in the documentation, which details the steps to initiate, then suddenly get requests with Upload URL, then actually upload the file, or the file parts, if they're really big files, and then complete the file upload.
So this is basically what you cannot do within Swagger, but you can do, via the API, in order to help we have, other than the documentation, which is pretty thorough, we do have an example upload them Figshare. So this is a Python script that does exactly that. It just creates everything. It does. Everything, basically, with the parameter, with a file parameter when you run it. And we also have a Bash script for it.
So these are this just work. You know. You can just copy and paste them, and then figure out how it works.
It's quite easy, you just have to insert the token here and then give the file as a parameter, and it's just go to work. Or, again, you can customize them anyway. Yeah, and you can also upload this three files here, cause we're on AWS Schulte, mostly everything resides on S three for us.
So, full section on the upload, the files. So this is, this is quite well documented, we know. It's not the easiest thing ever, but it is how it is.
OK, So we've finished the files, Of course, you have File, Delete, Everything else for the private articles.
Then the Count Article Report thing, you can export it as no Real, Nothing, Nothing Magic. And we go to the collections to the Collections fifth, which is exactly what we have in Articles.
There's no easier way to put it, is, exactly the same functionality, is just, so don't just end wins, which relates to collections.
The only thing is, basically just see, you know, private collections list, and then associate with the private collection can create them and associate articles to them. But that's basically about it other than this.
It's all Metadata is exactly the same as in articles, The same with projects. I'm going through this really quickly, because I know we only have an hour, and I'm pretty sure the most valuable things will be for your actual questions, and trying to trying to get to respond them. So, I'd like to spend no more than 5 or 6 more minutes on this basic presentation. Cause it's, you know, it's kind of the same.
For collections, the same endpoints for projects, exactly the same endpoints of the search. You have the publish you have. Yeah, pretty much everything you could have. Projects, of course, do have nodes to have collaborators and other articles. And you can do pretty much everything you can do on the website using the API.
And you can test all your things here in the Swagger a bit. I'm just gonna go through the Institutions section, which is a bit more. I don't know, it's probably more interesting, and it's a bit different from the articles on collections, and, OK. So, we're starting with the public licenses. This is an important to get the, get the licenses some institutions do have.
Oh, so this is just this is just a filtering of the articles. Waste by a By a specific license is not much.
It's, I think it's a custom build one, which is not really not really use anymore, or that canonical we do have And I'm going to upload an HR feed in here, again.
Another whole section on the HR feed.
This actually works with, uh, we do have the choose file implemented here, codes. We know.
Yeah, it tends to probably get used here. We may think of adding this to the actual upload files, if anyone thinks that would be useful. I'm not sure it's in contract percent, that's useful, but anyway, if it, if it were deemed to be useful, we can. We can add this snippet in there as well.
Oh, Jeff, Private account, the institutions. This is the.
So you can try this.
If you have a token from a user, which is, who is registered to an institution, is an institutional user, you are going to get this, the information about your your institution.
Maybe if you have more than one account, and you're feel confused, as to what token you have in here.
This has the right endpoint to make sure you're in the account. That matters.
Yeah. Frozen, a bit.
Just like the weather in Romania, OK.
Private institution articles. This has gone on.
Pretty much self explanatory. Gets all articles from an institution, if you're an administrator. Some of these endpoints well, actually, most of these endpoints are geared towards the occupants of the institution, of course, with the basic filtering and everything. This is getting the institution categories for those institutions that do have custom lists of categories.
Let's see if we have a custom one for liliput.
Doesn't look like a custom one. It's basically everything. But this is, yeah. This is a sampler response Again. You're going to have this. You're going to see this here as well.
Not much value in triangle. These end points, except freezing up my web page, apparently.
OK, the groups is just the same thing goes with the categories. It's basically going to give you the groups, and then the roles for that specific user, and all this institutional specific things, the accounts. And this is, this is useful. Probably, you can actually create the new institutional accounts, right from here, from this, using this body sample. We need the e-mail for same group ID and the group where it's going to be. So yeah, this is probably going to be pretty useful.
The updates, of course, you can switch a user from a group to another one.
This is what the point is for, at least the account, proles. Yeah, and add them, of course, and delete them.
Oh, yeah, and then you have the You can actually search for word count.
This one nice thing. And let me just try to show you how this works.
This is pretty interesting.
Let's try George because My account name is Chris George.
Let's see if it actually works Amazing. It does find you're just cool, as well, but it does work. It just searches through all your institutional accounts and returns you the ones that you want. This is pretty, could be pretty useful as well.
The same thing with the user for the specific account.
Um, now this is the curation bit.
We do have it implemented in the API, and you can you can do most of the things that you can do on the website by using the the API as well.
Hmm, I think oh.
Let me try. See if. Yeah, OK. So these are this account data. I'm using is an actual reviewer. And we did create some, some reviews. So you can actually see them in here and get ID for IDs for them. I think one ID will be useful. So important.
Yeah, of course, you can see all the details for curation.
For a curation request, this is the actual item went into curation, and you can check it out via the API, and you can actually check out the comments and post curation comments by using the API.
And these are all here, all well documented.
Now, when we go to the This was the institution section, again, going through it, on fast-forward mode.
Sorry about this, but I do want to cover everything that you can actually do with them within this Swagger page. So this is, for the authors. This was something that people have requested for us.
So this is, searching for public, public authors, public users on Figshare.
This works exactly like the institutional endpoint.
Except this is on … let me just see.
Yeah, there you go. So you get these, you get the users as well. You get the authors.
Well, according to your, your search term, You can get details on an author ID. If you do have it, you can find it in the author pages, the last bit on the URL. That's the author ID. Can go there on the website, as well as easy funding related. Now, we're in the Other section. This is the funding related points. You can search specific funding information. So this will add it to some articles, if it's there.
Oh, yeah. This is the account information for the token that you have.
It's the same thing, basically, as before, When you could see the institution that you're on now, you can see all the account information for the token that you're using.
In case you can't remember, Oh, the one that you that you're using are there. This is the public categories. So you can get the public categories and points, so you can get categories and Figshare IDs. So you can use them when you create articles, the same for licenses.
So a private account license is for Yeah.
It's will give you a list of public licenses and the licenses that are defined for the institution. For those institutions that do have the custom, the custom ones.
Of course, the public file download, if you don't want to, I don't care to use the URL that I presented a bit earlier. That you can get from there. Because you can, if you have the ID of the File ID, you can use this specific API endpoint and actually download a file.
Everything starting from now is just documentation. Unfortunately, this is, these are just tutorials on how to use specific things, specific functions within Figshare, within the API, or within the website itself, as the search functionality. There is nothing more that you can actually test here, that you can actually do with swagger.
And that unfortunately includes the Stats API, which is going to probably require a new presentation for itself. Because, yeah, for this, you're gonna have to actually get through the, through the documentation, read it and have a development environment in order to test everything. Most of the things, Most of the things, I mean, all of the things related to the stats API are well documented. But again, you're not going to be able to test them within this page.
Next section is ..., everything about ... EMH. Again, you can taste it in here, HR feed, as well. And this is a documentation of the presenters, of the entities that we return using the API.
This is just for, for documentation purposes. Basically, it's sort of no other purpose. And I think this was about it for the, for the full on presentation. Know, if we could, if we can go through some questions, Yeah, I think this would be best, a little more, over 15 minutes, so, yeah, time well spent, probably.
Sorry. I've tried to answer questions that I can as I've been coming through, but there are a couple that I don't know the answer to.
Um, first time, if there's a private item in a project and any collaborator on the project, access that item through the API.
If the item is private within the project?
I mean, it's a private project, Let us go to that specific, for that specific side of things. So, you can view the details, view the details, This is just the metadata of the, of the project, as nothing about the articles.
But, for the articles, lists, project articles, which is, is not documented.
So, it was about seeing the project article details, right, for that, but.
Yeah, yeah, to being able to Yeah, yeah, X access the item, whether it belongs to or not.
If it is Private, it's a private article, or is it? if it's a private article and it doesn't belong to, you're not going to be able to see it here.
Yeah, I think that's all.
I think I've got it. Yeah. I think, I think that answers your question.
Let us know if not, um, about uploading. Upload works, even as admin as an administrator. on behalf of an institution member. Correct? So this is talking about impersonations Impersonation. Yeah, of course.
There is some let me just find it because I think in the There, it is in some section.
We have the the in person. We have an impersonation bit, so, yes, it does work. I can tell you it works. And I'm going to look for the for the specific section. It's not very large. Can't seem to remember exactly what it is. Maybe if you're impersonation. of course. It's spelled right out there. So, yeah, it does work.
Um, so somebody has a question about pushing a data feed, or appending to a CSV or JSON file via an API.
Do you have any immediate thoughts about about that?
Well, yeah, you can use the basic articles if you only care about articles, For example, you can use just the Get articles and just leave everything as default, undo your own pagination, and do more than one request, a lot of them, and just leave them as published date.
Ordering the publish date toward the ring. So, the most recent ones first, and then you, can, you can You can do some sort of polling.
I'll do a request every 30 minutes, see what what else Who's new This is just by just by using the API calls for something like this, or ... brings to mind.
Or actually RSS we have that as well.
You can mm, You can do, I don't know why that's called register for an RSS feed. So these are all, I don't know, three valid solutions, but by using the API, you do have to do your own script and do your own polling, probably based on some. Some ordering parameter probably publish, they would be best.
Um, for anybody who's thinking about creating something like a custom front end or harvesting content from Figshare on, like a personal website or something like that. Do you have any?
Well, yeah, of course. All the details of the articles that you get, everything in this public articles relating to the feet were talking about earlier.
So you can get basically everything, all the new articles, with all full details or just the ID, and then go public article, and point then gets all, really, all the details.
And you basically have everything. You have the title. You have the authors, you have the categories, and then you can just put them anywhere in a website. Just do your own website on top of Figshare.
This is what we do actually.
I mean, the entire Figshare, our website is built using these API calls.
So anything you can do on the Figshare website, at least on public page, you can can presumably to any other website.
Can you filter items uploaded to an institution based on custom metadata fields?
Yeah, I didn't know about this one. So you can sort that, you cannot do, I mean, the advanced search function out there, know. Exactly, filtering, now does not work. There is no better answer than this. I tried to do a better answer. But no, you cannot filter on a custom field value yet.
It's a definite that we have this in our, in our scope. Probably for next year, maybe early next year. When we're gonna go, probably we're gonna go through some internal architecture and infrastructure changes on the search bit of Figshare.
And we're probably going to go, as you may know we're using elastic search for our search service. This is the base. So, we're going to try to separate the indices, maybe one index per institution, first.
And then, knowing for each institution what custom fields it has, we can, we can actually make our indices work in this specific way. For now, you can just search, but this is searching, you know, through all metadata fields. You just input your custom fields, name and value, and you hope for the best. It is going to work, it's not going to work perfectly, like a filter.
But, yeah, we're definitely going to bring this.
So, take share as soon as possible.
OK, thank you.
There's a question about clarifying how scans of images, and metadata on spreadsheets can be used by the API. Sounds like that that's Sussex.
Yes. Yes. Unfortunately, did not have time to actually go through it. Maybe, maybe do some other presentation. Maybe a video when I get the time to actually test it and see how it works and maybe do some some tutorial on it because Yeah, we didn't build something like this.
Yeah. That was that was built by the University of Sussex, which is an application tip.
Allow you to bulk upload files and metadata in an Excel spreadsheet, and I'll put the link to their documentation for that in the chat now and but, yeah, as I said, we might do some sort of our tutorial or something about that, if you have specific questions about it.
Actually, David, who wrote it: is is quite happy to be contacted as well if you have questions for him.
But yeah, I don't think there are any other questions.
None that have come through to me anyway.
Anything last-minute yeah, what else?
What else would be interesting for you, for everyone, Maybe some things on stats, legs, something on the way I like to note.
Yeah. Basically, what else can we do to hunt?
Let's talk about stats, I know some people have asked me about that before.
Yeah, OK, we can totally do on other webinars, or it's on other presentation. Maybe not a flower, because it's not really much barb's. Yeah, we can definitely do that all set up, some development environment and go from there.
Doss role question, stats related, maybe not Just API? Maybe all of this, that system of the future, how it works, We do things, how we keep them, my-s.q.l., elastic search, everything.
Is there anything you can talk about stats wise for a couple of minutes, or would you rather just do a video on healthcare? So, I mean, Yeah, but it's basically all well well documented. I do, Remember, there was a question, a very specific question, regarding stats. Let me just see if I can remember it. It was.
It was, I think, about the type of device, if we can know from which type of device the view, or the download came from. So, yes, we do have that information. So we don't return through the API, everything that we have in our database.
And a simple reason for that is we have a ton of views and items, downloads, and item sites, which are all events for us. We're over 600 million right now. And is going to be very expensive, so to speak for us. So, we're just, we're trying to serve those things as custom reports, Probably, because this is, this is a lot easier than putting an API out there.
And then, possibly getting abused by boats, and everything else. So, you're probably not going to find that information. We're definitely kind of find that information in the API or break breakdowns. But we do have that kind of information. We do store the user agent and everything, because we use it to filter bots. So, yeah, we can definitely talk about this.
Well, there's no more questions, nothing in the chat. So, shall we leave it there?
I'll send around the recording, and I'll send around the link to the Sussex Uploader, as well as the link to all of this documentation. If anybody has any follow up questions afterwards, please feel free to, to get in touch, and be happy to answer your questions, otherwise, Thank you so much, Adi, for demonstrating. Very, very helpful for being shared.
Have a good rest of your day, everyone. And, yeah, we'll be in touch soon.