The world has a LOT of data locked up in Excel spreadsheets -- with our CSV to API tools, you can take your CSV files and create secure, structured, APIs in minutes.
Here's a quick video that shows how.
Uploading your CSV File
The CSV upload feature is built into the Dashboard. When you log into the Dashboard you'll be presented with an empty API that looks like this:
Choose a CSV file from your filesystem, making sure each column has a header row so you get meaningful fieldnames in your API object and that it's a CSV file (not an Excel workbook).
When you upload it the system will automatically create a collection based on the name of your file, so, if your file was
dogs.csv your collection will be
/v1/dogs. It will also convert your header row into your JSON fieldnames -- it will strip out any spaces or special characters and make the labels all lower case to make it more "JSON friendly"
Now that it's structured as an API, you might want to add or remove some of the default API security. In this case I wanted to be able to let anyone view the information, whether they have an authorization token or not, but only let a consumer with the
admin role be able to
DELETE. We do this by setting Security Scheme to 'none' in the drop-downs and modifying the roles checkboxes.
Because we're creating an OpenAPI contract under the hood, we get to include some additional details; it's a good practice to give a descriptive title and full description for your API even if you don't plan to share it with anyone else, just to keep things easy to understand when you come back to your project.
Now we can make your API live! If you navigate to the Deployment Tools you will see the environments you can deploy your API to -- if you don't have an environment, select the
Add a Demo Server button and one will be added to your account immediately.
Now you should have a blank environment, so you'll need to deploy your API contract and security rules to your new environment
Your API is now live, but the CSV data hasn't been uploaded. By "Live" we mean that you can start posting data to your endpoints with all the security that you defined in the API design tool. You can also view the raw contract by going directly to your server or you can click on the link that says "OpenAPI Contract" and view your contract on Swagger.io:
You may notice other endpoints in your API for tokens, users, and OTP services -- these are included in every UXAPI deployment to provide local user management and control for your API and we'll explore those more in other articles.
Uploading your Data
The final step is to generate a token for your API and post your data. We've created a remote dashboard to make this easier, and your data has been stored locally so we can upload it now that you have a running API.
To do this you will need to choose the
Log into Remote Dashboard button and enter the same credentials you used to log into the UXAPI dashboard. This will generate an OIDC-JWT token that your API will use to verify that you are the admin for this API and are allowed to POST to the collection.
The remote dashboard will show you the existing users (you and a generic service account), and a link which will trigger the POST process to your API collection:
Use your API!
Now your API is live and your data has been posted -- using a tool like Postman, you should be able to view the data and use the standard API filters to explore your CSV data over the RESTful API.
Adding more data
You're not limited to a single CSV file -- you can add multiple files in the design process or come back and add another later. We want you to be able to build an manage as robust an API as you need to support your business processes, customers and to have fun with it.
Give us a few keywords, or give us a spreadsheet, and we'll turn it into an industry standard API complete with documentation you can share with your team or your customers.
We use modern, cloud-native technologies to host your API for the best uptime and response times. API as a Service means you don't have to worry about the complexities of cloud architecture, and you get focus on your application.
Security should never be an afterthought, but it should never get in the way of your project either. We build all our tools with security in mind, so when you need to add user level rules for who gets to do what, it's just a matter of adding a few rules.