Play the webinar
Play the webinar
Register for the webinar
November 1, 2022
Andrew Mckenna-Foster
This webinar explores the tools available for end users to use Figshare’s API for programmatic upload, download, and editing of data.
Using the API documentation site, we demonstrate how you can utilize the functionality of the API without any programming knowledge. We also walk through the FTP uploader for uploading in bulk or uploading large files too big for the browser.
Please note that the transcript was generated with software and may not be entirely correct.
0:04 Hello, everybody. I'm just gonna give it a couple of moments, for some more people, to get online, and then we're gonna begin today's presentation.
0:18 So I'm Laura, and I'm here with Andrew. He's going to be presenting the main part of the webinar today.
0:28 OK, that's quite a few people already, so I'll share my housekeeping bits before I pass over to Andrew. So hello, everyone, and welcome to Figshare API for end users. Just going to share the housekeeping - that everyone is in listen only mode, but if you do need to ask a question, we'd like some clarification. You can use the chat function or the Q&A function. And I'll be monitoring both, In the eventuality that we get loads of questions and we don't manage to get to yours, don't worry, We'll follow up with you as we'll be able to see who asked what. We are recording today's session, so if you have to drop off at any point, will be sharing the recording with you in the next day or so. So yeah, we'll follow up with you with the recording when it's ready, and I will now pass over to Andrew for the rest of today's presentation.
1:17T hank you.
1:18Thanks Laura. And welcome everyone. Thanks for joining the webinar. If you're watching this later is the recording. Welcome, thanks for tuning in.
1:28 This webinar is going to be around 30 minutes, maybe a little less. I have a few slides and then as you can probably see, I have a bunch of tabs open for a live demo.
1:38 I'm going to stop my video just for bandwidth so on So um, once again, as Laura said, my name is Andrew. I'm a product specialist at Figshare.
1:50 And part of my job is knowing how to use the platform and playing around with it. I'm also a user of Figshare in my own research world. So some of what I'm going to be talking about today is just from my own experience and the things that I have found useful when using the Figshare API.
2:10 Before I jump into things though, I do want to mention the State of Open Data Report for 2022 is out and this QR code should work.
2:20 The reason I'm mentioning this is because this webinar is directed at, you know, kind of the end users of Figshare who are mostly researchers. And this State of Open Data Report is the longest running longitudinal survey of researchers, perceptions, and practices around open data. So it's in its seventh year that the report has one really nice overview of all the results. So you can see what your, you know, what researchers around the world are thinking about with open data, and how they know their concerns, or their enthusiasm, and all that.
2:55 And then it also has a bunch of contributions from a variety of people around the globe.
3:00 So we have our first contribution from Latin America, a librarian there, Mexico. And we have a contribution from the NIH. So there's a lot of really interesting, kind of takes on what's going on with open data, Open data policies, and so on. So, encourage you to check that out. You can look at the data, as well. It's open.
3:21 one of the questions though is what circumstances would motivate you to share data?
3:25 And the number one, motivation was the citation of my research papers, but closed behind is the increased impact and visibility of my research.
3:35 And I'm bringing that up because some of the things that I'm going to talk about today kind of relate to increasing the impact and visibility of your research.
3:46 And I hope you'll, that'll become clear down the line, so stay tuned.
3:51 So the audience for this webinar, any Figshare user. So whether you're using the free figshare.com accounts maybe your university has a Figshare repository and you have a an account in that repository.
4:05 Maybe you're a librarian or a repository manager who either uses prefix share, or your university or research organization uses Figshare for their repository. There should be something here for everyone.
4:18 No API experience or coding experience is needed.
4:22 I am not.
4:24 I'm an amateur coder and API person, as you will probably see, so, this should be accessible for everyone.
4:33 So, quick introduction to the Figshare API and why why it exists and why it's why I'm talking about it in this webinar. So first and foremost it does provide access to functionality beyond the current user interface and Figshare.
4:49 So there are things that I'm going to show you today that eventually will be part of just the user interface.
4:55 Some are probably closer to being launched than other things, but they're, they're available in the API, so you can do them now.
5:04 And so that's the point of this webinar today. But there are other uses, of course. You can search and harvest metadata at scale.
5:13 So, you know, if you're an information science researcher, a librarian, the API is a great way to look at information in bulk from across Figshare. This is something that I've done a lot with recently.
5:28 And there's some, I don't know, very interesting things to learn about out there.
5:32 And then finally, the API allows you to connect with data visualization tools.
5:37 You know, you might have a dataset that you'd like to keep updated and have visualized in another platform.
5:45The API is the way that you can make that happen.
5:49 And I'll show an example of that later.
5:52 Quick definition here of some things, because I only, you know, for a long time, I didn't know really what an endpoint was.
6:00 But be mentioning endpoints.
6:02 So API endpoint is just a, it's a URL that allows you to interact with the platforms, you know, database.
6:11 And so, in this example, we see this base URL and then you can add the, the article ID or the Figshare item ID and it will return to you all of the metadata for that record. And I'll show you that example, you can see the full URL here.
6:26 Important to note in the API documentation, it uses the term article which is the same as the term record which is also the same as the term Figshare item. So all three mean the same thing.
6:42 I will probably use all three of them in this webinar.
6:47 So a quick overview of the documentation site, You can visit this right now. If you want docs dot FIG share dot com.
6:54 Uh, the left-hand panel is the kind of table of contents with all the different endpoints available. The middle section has the description, has the actual endpoint.
7:05 And, you know, some tips, usually, but also, it provides, if you can interact directly with the endpoint in this page, then it will have those fields available for you. And on the right side, are the example inputs and outputs. And that's actually a really important, because the formatting matters.
7:23 If you're looking at this on a laptop, and your screen is small, you may need to zoom your browser out in order to see the actual contents of this third panel, so, a little pro tip there.
7:37 Uh, we do have a, how to use the Figshare API help page, definitely work in progress.
7:44 And it's definitely, it's written for, you know, just the average Figshare user as opposed to someone who's extremely technical.
7:51 So that this QR code here is Google Search, how to use the Figshare API.
7:56 But this also has some links to some sample scripts in Google Colab.
8:03 And I'm going to show an example of one of these today. You just need a Google account. You can click on the link and you can run this right in your browser. You don't need to download anything. So I will show one example of that.
8:16 I think. Yeah, that was all my slides.
8:20Today, what I want to show you is just quick introduction to the API itself.
8:25Then I want to show you how to change the preview image on your items.
8:30 In Figshare so it shows up with whatever image you want.
8:34 Then I'm going to show you how to upload an existing Deut to a record.
8:39 I'll mention how you can use the API to upload and download files.
8:44 But because it's kind of related, I'll actually show that process through FTP.
8:49 So if you have a huge file, or you have like hundreds of files that you need to upload, the easier way is actually through FTP, can do it through the API as well.
8:56 But show that, and then I'll just end by talking about showing you an example of how to use a google Colab script to create a table of all your records with the views and downloads.
9:09 So, that can be useful for, you know, demonstrating the impact, showing, you know, if you need to produce a report at the end of the year of what you've been up to, you can show, you know, here's a table of all my open, openly, share it, outputs, and views and downloads, and then I'll show an example of a data visualization.
9:28 So, first off, here's the documentation site, docs dot Figshare dot com, got some information here. I'll just start off by showing you a quick example. So we have a bunch of end points here related to articles, I'm over on the left side of the screen.
9:45 And, you know, we can, we can search for public articles. There's a lot of functionality here. But I'm gonna go to the public article drop-down, view article details. And we have an option to put an article ID, and then we have a sample of what comes out.
10:00 Actually, I already opened up a Figshare record over here.
10:03 I'm just going to grab this article ID, which is and the end of the URL.
10:09 So I'll copy that, paste it in here.
10:14 And hit Try, and it'll bring up all the metadata related to this record, so we can see all of the file information in one place. We can get the file, download, URL, see the check sums, sorry for all the scrolling, but we gotta get through all the files here.
10:30 Can see information on the authors, and then, you know, if there's an embargo, we can see that, So, lots of information, maybe not totally, useful for everyday use. If you wanted to search By category or something, or you need more category, information, that all shows up here.
10:47 So this is just what it looks like, really easy to use. Anyone can do this.
10:51 The other way you can can get this information is you can copy this URL from this curl example, paste it into a web browser or tab and then add the ID at the end.
11:04 And I've already done that here, so you can see that URL right there.
11:08 And it comes out like this, just a little easier to interact with.
11:11 You can expand or close these sections, so you can see all the metadata associated with this article, OK, So that was pretty simple answer, or example.
11:26 A lot of these other end points have to do with your personal account.
11:30 So creating a private article, You can't just do that because you have to have an account for it to create the article in. and you need to be able to authenticate.
11:41 And to do that, you have to create a token and paste it up in here. So you can see that I've already pasted in. You can see part of my Token, thankfully not the whole thing.
11:50 You paste that up there, and then you can start using all of these endpoints.
11:53 Where do you get the token from?
11:56 I have already logged in as as my personal account, so I'm gonna using my personal accounts.
12:01 I don't think I've anything to hide in here.
12:05 To create an API token, you click on your little image, or icon at the top right, and go to Applications, And, I've actually previously open this window here. Scroll down to the bottom, and you'll see an application section.
12:19 And you can create a personal token, or many, or several tokens down here, say that token somewhere in a text file, or something.
12:27 And then you can paste it in the API, tier, turn on to be able to authenticate.
12:33 Um, so I have my token here, the the example that I want to show you is how to change the item preview of an image. I actually have a record that I want to change the image for, so there's this record here. I'm going to open this in a new tab.
12:49 Close that one.
12:51 So, this is my record. I've got a bunch of things in here. Archive of my git git hub. Say, I use this record to, to archive my GitHub repository and give it a boy. I uploaded some figures, and I've uploaded this image, especially, to be the cover image of my big share record.
13:11 But currently, if we go to my profile, scroll down, the image for this is a map. So, I want this to be my library books, OK? So how do we do this?
13:24 In the API, I'm going to scroll down under articles two, article, version and private updates, and there's an update article, version thumbnail here.
13:34 So we have three things that we need, article ID, version ID, and the file ID. And we can see that the file ID has to be put in in a certain format. That's why it's so important to be able to see this right-hand side.
13:47 I can click on this example over here, and it'll pre fill the File ID format down here, which is nice. So I need to get the Article ID, version ID, and file ID. I can find my record again, here's the record to get the version ID.
14:03 If you have versioned, the record you will see a version down here if you haven't, it's version one.
14:09 You can check that by looking at the DOA. So it says V one.
14:13 OK, so that's Version one.
14:16 I'm just going to click on View the file, and at the URL for this.
14:22 Um, preview now includes both the item ID. I'm at the very top and the URL bar here, so I have the item ID, and also the file ID. Saw this Copy those, copy one of them.
14:35 So that was the article ID.
14:37 It's version one.
14:39 And I gotta go back and grab the file ID here.
14:46 OK, so we just that in now, and unless the webinar ghost has come in and made this not work, it should just update that image for me. So I hit Try.
14:58 Great, file doesn't have a valid thumb, OK? Maybe I should try a different a different file then and have to troubleshoot that later. So I'll try a different one. I'll try this.
15:11 Let's see if this has a thumbnail setup and hopefully a play works, I did test this, and as usual, something usually goes awry, OK?
15:25 And once again, classic see if.
15:32 I'm going to try one more time.
15:36 And hopefully the thumb has been created. Otherwise, I'll come back and try it in a bit.
15:46 Always fun watching someone, Is that the right?
15:50 Return?
15:52 Sorry, I missed 2, 10?
15:57 Yeah!
15:59 OK, it's still failing for some reason. I don't know what my, what my problem is. I will come back and try to troubleshoot that in a moment.
16:08 Of course. I worked with a different article, so maybe I'll just do that.
16:10 If we have time at the end, classic, OK, I'm gonna move on.
16:15 So, uploading an existing doy, if the use case here is, if you have a record that has an existing boy, but maybe it's not as discoverable as you'd like it, maybe it's actually just a web page somewhere, maybe it's in a repository that isn't as discoverable as the big share interface.
16:34 So, you know, you might want your records to show up in this massive global federated search that Figshare has.
16:45 So, you know, here's an example. I don't know, so this this record, this is a dataset, it has a boy, which unfortunately doesn't work anymore, but it's just a webpage and they minted a DOI for it at some point and it hasn't been updated.
17:01 This is a use case where you might want to make this more discoverable, so you'd want to upload this DOI with some metadata, and your Figshare record would then point to that that location.
17:12 So, in the cite button instead of a Figshare DOI, it would be your DOI that you've had previously, um, in the few do this senior in the interface.
17:26 Um, you, when you create an item, as you may know, you can create a metadata only record and, down at the bottom, it will, you can reserve a DOI. It'll create a Figshare DOI for you. There's nowhere in the interface yet to put an existing DOI, but you can do that through the, through the API.
17:45 Just to mention, it's good to do this as a metadata only record.
17:48 You don't want to create multiple copies of those, you know, authoritative files, in multiple places, just point to the original location.
17:57 So, I'm not going to say that.
18:01 So, in the Figshare API documentation, can go to private articles.
18:07 And we want to create a new article.
18:09 And we can see everything that we can add as metadata.
18:14 And, once again, clicking over here will pre fill this whole section.
18:19 Down at the bottom, we see that there is a line for boys, so I'm going to save that in there.
18:27 You don't have to upload all of the required metadata for the top loader, you don't have to enter at all for it to upload.
18:34 So I will do this.
18:37 OK, so I'll just put in some test metadata here. I am going to make it a metadata only record.
18:44 And here's the reason I have a DOI that I have from a conference, So the conference wanted us to put it in this location, so I'm just going to copy that DOI.
18:56 I'll put it in here, Um, and just checking to make sure that looks OK, once again.
19:06 Hopefully, this will work.
19:09 OK, great, so 201 is a good sign, We've posted that information, and when I look in my profile here, we have this new test article title when I open that up.
19:24 You see some of the metadata that's been entered, description and title. And if I scroll down, I see this other DOI is now in here.
19:32 So this is a good way to increase the discoverability of your research. So going back to that state of open data reference, if you have records that you want people to find or you want to increase, the chances of finding it, putting a metadata only record in with your Figshare profile is a great way to do that.
19:53 The other good thing about this is it will then show up in your profile.
19:58 And on top of that, if the DOI that existing DOI is tracked by alt metric Figshare will actually add an old metric badge to your record.
20:07 So that's it's a nice way to take advantage of some of the other Figshare functionality that exists.
20:15 So kind of check off these boxes. The next thing I want to mention is uploading large files or lots of files.
20:23 So within these these endpoints on the left here, once again, you can you can create that private file record like we just did, private article.
20:34 Then there are endpoints to upload files.
20:38 Now this is easiest, done, um, using a script or curl, but you can, you know, initiate an upload, complete an upload. So this is a good way to to upload really huge files or lots of files, but FTP is way easier, so I am going to just show that here.
21:00 We do have a really nice help page for this. So you just need some type of FTP client Example and this uses ..., which is what I also use. The information for the login is, in that same application section that I showed you.
21:18 You can just get your username, and you just use the password on that your account uses. Then there are these nice instructions to use files up, So I'm just going to quickly demonstrate that.
21:30 I have File Zilla already open. I have some records that I want to upload over here. Now.
21:35 These could be massive size.
21:36 You know, if it's over, if your file set is over five gigabytes, uploading through the Figshare interface is probably not going to work that well, depending on your browser and all that stuff.
21:46 Or if you have like hundreds of files, maybe easiest to do it here.
21:51 The way to do this is, you see I have a folder here called Data.
21:55 I am going to create a directory and enter it.
22:00 I'm going to call this Test.
22:03 This name of the directory is going to be the the title of the record that's created in big share. So I'll do that.
22:10 Yeah.
22:11 Hopefully that all works, great.
22:13 It looks like it did.
22:15 And now, I can just drag and drop all these files into this folder, and then the transfer will begin immediately.
22:22 You can see that going on here in the background is it uploads everything, and it creates some log files as well.
22:29 So, now, I go back to my profile, once again, refresh.
22:36 It should have now, this new record called Test.
22:40 And it has those four CSV files uploaded.
22:45 A, the restriction on free accounts is 500 records, if you're at an institution that, that's set by your administrator.
22:53 You can, the upper limit, it might be way more than 500 files.
22:57 So on, just to let you know that the limit right now is 500 files in FIG share dot com.
23:06 OK, so that, that went smoothly. I want to show just an example of using a script to pull information out of the API, and this uses several endpoints.
23:18 So it uses you can get all of your public articles and private articles.
23:25 Honestly, I don't remember which end point.
23:28 It actually is private articles, authors, something like that. one of these end points will just give you all of your, all the metadata for all your record, well, not all the metadata, it'll give you metadata for all your records.
23:40 And then there's some statistics endpoints down here, so you can get the, no, the total views, the total downloads, and et cetera.
23:49 So that is all detailed in this Help page, how to use the Figshare API.
23:53 Let's scroll down for the individual user, here you can get a table of your items and collections with views and downloads. If you click, on this example, Jupyter Notebook, it opens in a Google Colab.
24:08 I've already run this. So it should work.
24:11 I although I already ran it with my token here, just didn't want to give away my token to all of you, so once you've run both of these cells, you can just continue scrolling down.
24:22 Um, this, so it's collected nine metadata records.
24:27 Which is, what is in my, these nine records here.
24:32 And then we, yeah, we want to keep only the public records. So we do that.
24:38 For records kept fiber moved, I'm going to create a data frame, then this cell collects the views and downloads, so visits each of those endpoints for each of the articles, the public articles they have.
24:50 We'll run that, then creates a new data frame.
24:54 I'm going to merge those two data frames, and it'll show me an example of what it looks like.
24:59 So we have the basic metadata for these records.
25:03 Then if they scroll all the way over to the right, we have the views, and, and downloads as well attached there. one thing to note, the timeline comes out in JSON format can be a little hard to read, so I just added something at the end here to split those out.
25:21 If you do have collections, which I don't have, you can run this one cell and also see that whole thing that we just did for the collections and add them to your your data frame.
25:33 This cell just separates out the the dates and times so that they look a little nicer, so date split out emerged and then, you know, maybe you're a little vein like I am. I want to see my totals. Well, you can sell, just say, you know, total views and downloads, if you want to, you can download this.
25:53 As a CSV, I just need to let Google have access to your drive.
25:58 Um, and I've already done that. So I've opened that previously.
26:01 It downloads on your computer as a CSV and I've uploaded it here and we see what it looks like.
26:06 So a nice way to, you know, have a nice summary table of what you've shared along with the views and downloads and the dates and times have now been split out over there as well.
26:19 So hopefully that, that's useful, It's just a nice way to get all the information that's in your profile, all into a table. The profile just gives you the the totals right there.
26:36 OK, the final thing I just wanted to mention here is data visualizations.
26:42 Because you can access files through the API programmatically, that creates the opportunity, too, use that data for the source, for visualizations. And this record is actually an example of that.
26:58 So online labor index, measuring the online gig economy, policy and research, It's from folks at at Oxford. This is on ... dot com, It's been cited, which is really cool. It's been mentioned in policy, documents and tweeted.
27:13 We can see the impact their their data files.
27:16 There's some our Code and This information is the source of an R Shiny App in this Webpage, So, if I refresh this page?
27:31 Should.
27:32 it'll load up a nice interactive table here or chart that is using that data, um.
27:40 from that Figshare item, so It's a sophisticated use of the API, but it shows what's possible and I think it's a really, really nice. Example of that. So I see I only have like a few minutes left, I do want to try that preview one more time. And I will just try it with a different record one That actually already worked for me before. So I'm going to try it with this. This record.
28:05 Um.
28:07 I think I'm gonna just use this image.
28:12 Something eats the heads off these millipede and anyway, I was just documenting that so I'm going to try this one more time and then then I'll jump in to see if there are any questions.
28:21 So once again, we go to End point. Someone update the thumb.
28:31 I'm gonna put the file ID in here.
28:35 And get the article ID.
28:44 Now, this might be versions.
28:47 OK, so this is version two, so two in here, OK, Emma, right, Education in there should just work.
28:57 Oh, great. Someone did work so, you know, maybe I need to go back and look at those.
29:04 Those files that I've uploaded of that other record, we can see that this actually did work.
29:11 The record that was the preview image that was there was this one with the ruler.
29:17 And if I reload this the different image, OK, so that one worked. I'm really glad that that worked out for us. I think we only have one minute left for questions, but I'm happy to take any questions if there are any. And I think Laura you might be able to help me with that.
29:35 Yes, there are a few. And so, I will pass through. one of them is, is the default data format always, JSON.
29:44 That's a great question, yes. Unless you're using the ...
29:49 zero PM, each end point in which you can pull out information in different in different formats, um, but, you know, I know that there are other kind of restrictions around OA, teenaged, But if you're just using these endpoints, it's JSON, but it can be converted into whatever format you like once you've pulled it up.
30:11 Thank you. Next question is, can I do this thumbnail ID update as an admin slash data curator for other users also? Or do I have to impersonate their accounts and tokens to do this?
30:22 That's a great question.
30:23 I believe you should be able to do that with your admin token, because you have, that gives you editing rights across all, or it gives you the ability to edit everything I think.
30:36 However, if I'm wrong about that, then yes, you would have to impersonate create a token for that person and and make a change using their token. But I think it's possible at the end, in tokens, it's a great question.
30:50 I need to find out the true answer for that.
30:53 I'll make a note of that e-mail address. So, next one is a personal taken. I was going to try using it to create a new private school, as you demonstrated. However, I don't see how to include the token in the parameters.
31:06 Oh, great question. So you actually put the token in the page itself.
31:12 If you are using so that's if you're doing it through this, basically, a user interface for the API.
31:19 So you just go to private article.
31:22 You can click over here to get all the fields formatted for you here. And then this, add the information you need.
31:28 And then once you do that, and once you have your token pasted up here, just try and it will do it for you.
31:35 If you're trying it through, like, a Python script or something, you have to do something like, sorry for the scrolling.
31:44 You can actually just, you know, go to this Colab page. And you can take this.
31:48 So this creates the header for you.
31:51 Then when you, when you call the API endpoint using requests, you see that the header is included there through the request.
32:02 Hopefully, that makes sense, Yeah, We got reply saying thanks, that's clear. Next question.
32:08 If we have time for Andrew is Israel and on slash off site level, or is it more granular, can you ask that one more time, or, sorry, he's fashioning turned on slash off site level, or is it more granular?
32:23 You can, the repo. OK, this is a good question, I think, you can turn versioning off by group.
32:29 If you have a, if you're running a Figshare repository at your institution, I believe you can turn that off by group.
32:38 And, yes, so you can turn off.
32:42 Yeah, I think you can turn it off by group.
32:44 Um, I don't know, if I should. There are certain things trigger Aversion.
32:50 Um, and certain things don't, So that we have a help page for that.
32:56 But I think, Laura, if you grab their e-mail, I can send. I can just double check the actual, like specifications around, turning on and off versioning, because there are some there are some complexities there. But if you can control it, yes.
33:10 Brilliant yellow mechanics at 1 2, and then we just have two final ones from the same ..., which is the first one is Does Figshare have a code slash script example of fetching the data content rather than just the metadata?
33:24 Oh, good question. I haven't written one.
33:29 There might be someone out there has done it, you know, on GitHub, but, I will just point out that Am I even in the right place, public article files? Sorry, there is an end point, public file download.
33:46 Um.
33:47 So, this. you take this URL and just put the file ID, and you can get the File ID from O As I already showed, actually going to the, get that file ID there.
33:57 Um, This will then just automatically download it, so you can know, Do you have a script?
34:03 You can have it call this file, this URL to pull on the file.
34:09 Um, but, I will make a note that we should add that to this help page.
34:15 So I will, That's a great suggestion, or work on that.
34:20 Thank you. And our final question is, what are the security considerations of including the API key in front end code?
34:30 Yeah, you shouldn't.
34:32 You shouldn't share, you shouldn't make your API there Sorry, you're Token. Wait, the question is around the token, right?
34:39 Or, API code, API code.
34:41 API. Key of a key Yeah. OK, So the Token Key, you shouldn't make that public at all. And there are ways to To hide that.
34:50 So, you know, you have your script actually, like, look it up, um, somewhere else, so that if someone were to get your code, they wouldn't see your key. So, yeah, don't make that public. You all could only see like, parts of My key. And also, it's very easy to delete your token and just create a new one. If you need to. If you think it's been compromised. So there. But there are ways that you can do it in your script.
35:19 So that, it, it actually goes somewhere else to get the token and it doesn't display it in the code itself.
35:24 Um, maybe that's something else I should add into the, into the help page making notes here. We do have one more, Andrea, if we've got time which, I think this is the most questions on the webinar today is. Great. So this one is, can you remind us how to get to the ...? Sure. Yeah, I would just Google.
35:47 For this help site how to use the Figshare API or just go to help that figshare.com and search.
35:54 You know, API or something like that.
35:56 Excuse me, if you scroll down, there are actually a lot of examples in here.
36:00 Many are for administrators but there are links to these Colab notebooks, to do various things. So in this case, here's wanted to upload a very a file through the API.
36:16 Apologies for my, know, that I wrote these, these scripts.
36:22 And so they might not be like the highest standard of coding, but you're welcome to do use them, download them, modify them any way you like. So use this as your starting starting page.
36:35 Great, Thanks, Andrew. That's all of the questions. And I will send you a list of all the questions, and he walks them so that you do the follow up as one. And yes, thanks, everyone, so much for joining. And we'll share the recording, as I said, in the next day.
36:52 Thank you so much, everyone. Bye!