Create a file

Request

Creates a file.

Additionally, a file can be sent by:

  • Multipart/form-data POST request: In this request, the file is uploaded and all property names are the same as the JSON names.
  • File body request: In this request, the file body is sent as the request body, with the appropriate Content-Type. No additional properties can be set with the request data.

Permitted file types: .jpg, .png, .gif, and .pdf.

When using a publishable API key, only private files can be created. The files can be modified at a later point or time, or can be accessed using a secret API key.

Security
SecretApiKey or JWT or PublishableApiKey
Bodyapplication/jsonrequired
One of:
filestringrequired

File in base64 encoded format.

Example:"R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs="
isPublicboolean

Specifies if the file is available publicly without authentication. If this value is true, the permalink in the _links section contains the public URL.

Example:false
namestring, <= 255 characters

File name used for downloading.

Example:"logo.png"
descriptionstring, <= 255 characters

Description of the file.

Example:"My file description"
sourceTypestring or null

Source of the file.

Enum:"upload""camera""organization-export""organization-closure-export"null
Example:"upload"
tagsArray of strings

List of tags associated with the file.

Example:
[ "test", "tags" ]
curl -i -X POST \
  https://www.rebilly.com/_mock/catalog/all/files \
  -H 'Content-Type: application/json' \
  -H 'REB-APIKEY: YOUR_API_KEY_HERE' \
  -d '{
    "file": "R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=",
    "isPublic": false,
    "name": "logo.png",
    "description": "My file description",
    "sourceType": "upload",
    "tags": [
      "test",
      "tags"
    ]
  }'

Responses

File created.

Headers
Locationstring, (uri)

Location of the related resource.

Example:"https://api.rebilly.com/example"
X-RateLimit-Limitinteger

Total number of rate limit tokens for this request within a rate limit period. For more information, see Rate limits.

Example:3600
X-RateLimit-Remaininginteger

Remaining number of rate limit tokens for this request within the rate limit period. For example, in the sandbox environment, rate limits for non-GET endpoints are set at 3000 requests per 10 minutes.

Example:3600
Bodyapplication/json
idstring, <= 50 charactersread-only

ID of the file.

Example:"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"
namestring, <= 255 characters

Original file name.

extensionstring

File extension.

descriptionstring, <= 255 characters

Description of the file.

sourceTypestring or null

Source of the file.

Enum:"upload""camera""organization-export""organization-closure-export"null
Example:"upload"
tagsArray of strings

List of tags associated with the file.

mimestringread-only

MIME type of the file.

Enum:"image/png""image/jpeg""image/gif""application/pdf""application/json""application/zip""text/csv"
sizeintegerread-only

File size, in bytes.

widthinteger or nullread-only

Width of the image. This field is applicable to images only.

heightinteger or nullread-only

Height of the image. This field is applicable to images only.

sha1stringread-only

Hash sum of the file.

exifDataobject or nullread-only

Collection of EXIF tags contained in the image metadata. This field is applicable to images only.

Example:
{ "FileSize": 120, "Software": "GIMP 2.4.5" }
createdTimestring, (date-time)(CreatedTime)read-only

Date and time when the resource is created. This value is set automatically when the resource is created.

updatedTimestring, (date-time)(UpdatedTime)read-only

Date and time when the resource is updated. This value is set automatically when the resource is updated.

isPublicboolean

Specifies if the file is available publicly without authentication. If this value is true, the permalink in the _links section contains the public URL.

Response
{ "id": "file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N", "name": "string", "extension": "string", "description": "string", "sourceType": "upload", "tags": [ "string" ], "mime": "image/png", "size": 0, "width": 0, "height": 0, "sha1": "string", "exifData": { "FileSize": 120, "Software": "GIMP 2.4.5" }, "createdTime": "2019-08-24T14:15:22Z", "updatedTime": "2019-08-24T14:15:22Z", "isPublic": true, "_links": [ {} ] }