Upload (POST)
Use the POST method to upload files.
Content type to upload files must be "multipart/form-data".
The FormData interface should be used to upload files and text fields.
Other considerations when uploading files:
- Files must be sent with the fieldname file.
- You can upload up to 10 files in a single request.
- Each file can have up to 100 MB.
- Text fields are stored under metadata.
uniqueId - For each file uploaded we generate an uniqueId to identify the record stored in the database. This id can be used for the other request types.
Example:
fileUpload(file) {
const formData = new FormData();
formData.append("file", file);
formData.append("text", "additional info");
const config = {
headers: {
"Content-Type": "multipart/form-data"
}
};
return axios.post(url, formData, config);
}
Please remember that you are responsible for the data and files stored in your endpoints. RESTED_DEV's only objective is to provide a service to its users to make their life easier, we don't have interest in the data and we don't monitor it.
Request data
HTTP method: POST
URL format: https://baseUrl/versionNumber/customEndpointRoute/userEndpoint?key=apiKey[&dataOnly=true]
Example: https://app.rested.dev/api/1/ce/examples/unsecure-endpoint?key=d59eb2859c284168ac48aef65046d5dd[&dataOnly=true]
Request Parameters
The following table describes the Request parameters.
Parameter | Description | Required |
baseUrl | Base url for calling the API. Value: app.rested.dev/api | Yes |
versionNumber | Service version. Value: The current value is 1. | Yes |
customEndpointRoute | The route which identifies custom endpoints. Default value: ce | Yes |
userEndpoint | The endpoint name generated by the user. Value: the name created at https://app.rested.dev | Yes |
key | The API Key of the project. | Yes |
dataOnly | If used, the endpoint response will only include the data associated with the file, without additional information such as ‘uniqueId’. Value: true | No |
masterKey | Overrides the need for Access tokens or restrictions applied to Authentication endpoints. Don't use this key in your client application. For more information please refer to projects. Value: the masterKey created at https://app.rested.dev. | No |
Request Cookies
Header | Description | Required |
__Secure-rested-access-token | The Access token is required for secure endpoints. It is obtained when doing a login and it is stored in an httpOnly cookie. To automatically include it in the request you need to set the following property:
Alternatively you can also use the Authorization header. For more information please refer to the login documentation and Secure Endpoints documentation. | Yes - if endpoint is secure and Authorization header is not used |
Request Headers
Header | Description | Required |
Content-Type | Specifies the MIME type of the body of the Request. It must be multipart/form-data. | Yes |
Authorization | The Access token is required for secure endpoints. You should use this header if you are not using the httpOnly cookie to access a Secure endpoint. For more information please refer to the login documentation and Secure Endpoints documentation. | Yes - if endpoint is secure and httpOnly cookie is not used |
POST body
You can include an array of files (up to 10), and text fields. For files, they must be sent using the fieldname file.
Response data
Error codes
Error code | Description |
400 | Possible reasons:
|
401 | If the endpoint is secured and the access token is missing or is not valid. It may also return this error if the user no longer exists. |
403 | Missing API Key, not allowed origin or disallowed request without orign. |
Successful response
{
"data": {
"metadata": {
"prop": "test"
},
"contentType": "video/mp4",
"mimetype": "video/mp4",
"size": 20163178,
"originalname": "internetEvolve.mp4",
"fileURL": "https://localhost:8443/api/1/ce/files/files%3E%3E%3EinternetEvolve.mp4?key=4c1224a62bd74174be63f0026354b98a&uniqueId=2d61418864814dc2aa00eedba876c677&fileOnly=true"
},
"uniqueId": "2d61418864814dc2aa00eedba876c677",
"updatedAt": "2021-03-08T20:24:01.000Z",
"createdAt": "2021-03-08T20:24:01.000Z"
}