Retrieve Metadata For File Or Folder

Retrieve Metadata for File or Folder:  GET /metadata/{path}

Obtains metadata for files and folders in a user’s folder under the specified path.

Contents

Uses and Requirements

When a client application calls GET /metadata/{path}, the HTTP response returns information about the requested file or folder. For folders, the information about the files and folders contained within the requested folder is also included. If you do not specify the path parameter, the response includes a list of all virtual folders.

By default, all items are included on a single page and listed in the alphabetical order, starting with folders, followed by files. To make navigation easier, you can change the order in which your application displays files and folders in the following ways:

  • using ascending or descending order
  • sorting by fields
  • sorting by system attributes
  • defining the page where response is to appear
  • defining the number of items per page

You can chose to use GET /fullview to retrieve the metadata for files and folders instead. The advantage of using GET /fullview is the additional ability to retrieve only changes that have been made to the account between two GET /fullview calls. You would typically use GET /fullview when your app is capable of storing a copy of the user’s files’ metadata in a local database and you need to keep the local copy in sync. The disadvantage of this approach however, is a slower response time and lack of pagination and sorting capability.

Sort Order

You can define any number of sort orders. The items are initially sorted using the first sort order. When the same value is discovered more than once, the second sort order is followed. The process completes when all sort orders are checked.

To override the default sorting behavior, use the sort parameter with the following syntax:

sort={field}+(asc|desc)

This syntax constructs a valid URL with all values in parameters escaped.

Example:

This request retrieves the metadata a folder. The folders and files are sorted by filename and listed in descending order.

/metadata?sort=name+asc

Sorting Methods

Sort order can be:

  • ascending - when you specify asc
  • descending - when you specify desc

NOTE:

Some files may not have all of the metadata parameters specified. When you sort by a parameter that is missing for some of the files, the files that do have the parameter specified will be sorted by that parameter. The remaining files will appear either at the top or the bottom of the list and will be sorted in descending or ascending order (if specified).

For example, if you specify:

  • ?sort=creationDate+desc - The files that have creationDate will appear at the top of the list and will be sorted first by the creation date and then by descending order. The files without creationDate will appear at the bottom of the list in descending order.
  • ?sort=creationDate+asc - The files that do not have creationDate will appear at the top of the list in ascending order. The files that have creationDate will appear at the bottom of the list and will be sorted first by the creationDate and then by ascending order.

Sorting by Fields

You can use these fields to modify the sort order:

Sort Field Sort Order
name sort by file name
type sort either by file or folder
versionCreated sort by the creation date of the file version
size sort by file size
extension sort on a file extension, such as mp3 or flv
path sort by a file path
file sort by file attribute (true for files, false for folders; false is less than true in sort order

Sorting by System Attributes

You can use these system attributes to modify the sort order:

Sort Field System Attribute
captureDate Capture-Date
contentType Mime-Type
creationDate Creation-Date
extension Extension
genre Genre
priority Priority
title Title
timelineDate Timeline-Date
year Year

Paging

By default, all folders and files are listed on a single page. You can change these defaults by using count and page parameters.

You can use the count parameter to limit the number of items per page. The result is splitting of the list across a number of pages required to display all of the information.

You can use the page parameter to specify which of the pages should be returned in the response. The default page is page 1.

##Request Components

HTTP Request

GET https://api.cloudapi.verizon.com/cloud/1/metadata/{path}

Header Parameters

Parameter Name Data Type Description
Authorization
required
string Must contain an OAuth 2.0 access token obtained by calling the authentication API.

Path Parameters

Parameter Name Data Type Description
path
optional
string Full path to the file or folder. If you do not include the path parameter, the metada for the root folder is returned.

NOTE: If you do not specify the path parameter, the response includes a list of all virtual folders.

Query Parameters

Parameter Name Data Type Description
count
optional
integer Maximum items to include in a paginated response, for share requests.Value must be between 1 and 200. Default is 20.
filter
optional
string Set to file or folder to include only those types of items in the response.
include_deleted
required
boolean If true, response includes the metadata for deleted files and folders. Default is false.
page
optional
integer Specifies which pages are to be returned in the response. Default is 1.
sort
optional
string Specifies sort order for folder response. Syntax is: {field}+{asc/desc}. Valid values for field are:
  • album
  • artist
  • captureDate
  • contentType
  • creationDate
  • extension
  • genre
  • name
  • priority
  • size
  • timelineDate
  • title
  • versionCreated

Request Body

None

Success Responses

  • Status 200

File metadata

Parameter Name Data Type Description
checksum1 string The file content’s SHA-256 checksum value; required if the file has not been deleted.
contentAccessible boolean If set to false, the file content is protected by copywrite and is not accessible to the user.
contentPermissions string Determines file’s accessibility. Valid values are:
  • BLOCK
    File is not accessible. Only delete operation is permitted.
  • SHARE
    File can be shared without restrictions.
  • VIEW
    File cannot be shared. All other operations are permitted.
contentToken string A unique token that identifies the file. contentToken is automatically generated when the file is uploaded for the first time.
deleted1 boolean If set to true, indicates that the file has been deleted. Deleted files can be included in listings if showDeleted query parameter is specified.
extension string The file extension
name1 string The name of the file
parentPath1 string The directory path to the file’s parent directory
shareAssociation string If specified, indicates that the file is shared and contains share details.
size integer The size of the file in bytes
systemAttributes map Contains a key value pair under systemAttributes element, such as systemAttributes{"Height":2014}
uri string Unique identifier of the file
versionCreated dateTime The date and time (in ISO 8601 format) of the last change to the file, such as when the file has been added to the folder.
version integer The file’s version number. Increases each time the file is updated.
viewUid string The unique identifier of the share or playlist to which the file belongs.

1 This parameter is included in each response.

Folder metadata

Parameter Name Data Type Description
count integer The number of items in the folder
deleted1 boolean If set to true, indicates that the folder has been deleted. Deleted folders can be included in listings if showDeleted query parameter is specified.
file1 string Files that are contained in the folder.
folder1 string Folders that are contained in the folder.
name1 string The name of the folder
parentPath1 string The directory path to the folder’s parent directory
shareAssociation string If specified, indicates that the folder is shared and contains share details.
size integer The size of the folder in bytes; specifies the size of all subfolders and files that the folder contains.
systemAttributes map Contains a key value pair under systemAttributes element, such as "{Timeline-Date}": "-0091-03-27T04:26:40.000Z"
uri string Unique identifier of the folder
version integer The folder’s version number
versionCreated dateTime The date and time of the last change to the folder, such as when a file has been added to the folder.
viewUid string The unique identifier of the share or playlist to which the folder belongs.

1 This parameter is included in each response.

Example Success Response

{
	"folder": {
		"name": "/",
		"size": 5.268627045E9,
		"deleted": false,
		"immutable": true,
		"count": 26,
		"folder": [{
			"name": "xxxxxxxxxxxxxxxx",
			"parentPath": "/",
			"size": 2039481,
			"versionCreated": "2016-12-01T07:47:49.725Z",
			"immutable": false
		}, {
			"name": "test",
			"parentPath": "/",
			"size": 226455042,
			"versionCreated": "2016-11-30T14:12:51.195Z",
			"immutable": false
		}, {
			"name": "ruby_virtual_0211-2016 folder",
			"parentPath": "/",
			"size": 1024,
			"versionCreated": "2016-11-02T10:57:57.339Z",
			"immutable": false
		}, {
			"name": "TestVirtualFolder1",
			"parentPath": "/",
			"size": 1859529,
			"versionCreated": "2016-10-13T09:55:47.573Z",
			"immutable": false
		}, {
			"name": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
			"parentPath": "/",
			"size": 1024,
			"versionCreated": "2016-11-02T10:54:53.524Z",
			"immutable": false
		}, {
			"name": "xxxxx",
			"parentPath": "/",
			"size": 96454607,
			"versionCreated": "2017-06-13T07:42:42.445Z",
			"immutable": true
		}, {
			"name": "xxxxxxxxxxxxxx",
			"parentPath": "/",
			"size": 2087989,
			"versionCreated": "2016-10-28T10:05:52.117Z",
			"immutable": false
		}, {
			"name": "xxxxxxxxxxxxxxxx",
			"parentPath": "/",
			"size": 1024,
			"versionCreated": "2016-10-28T07:52:01.613Z",
			"immutable": false
		}, {
			"name": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
			"parentPath": "/",
			"size": 1024,
			"versionCreated": "2016-10-28T10:19:10.346Z",
			"immutable": false
		}, {
			"name": "xxxxxxxxxxxxxxxxxxxxx",
			"parentPath": "/",
			"size": 1024,
			"versionCreated": "2016-10-28T07:47:24.719Z",
			"immutable": false
		}, {
			"name": "xxxxxxxxxxxxxxxxxxxxxxx",
			"parentPath": "/",
			"size": 1024,
			"versionCreated": "2016-10-28T07:51:01.474Z",
			"immutable": false
		}, {
			"name": "VZ_TABLET",
			"parentPath": "/",
			"size": 47532048,
			"versionCreated": "2016-12-15T11:38:36.397Z",
			"immutable": true
		}, {
			"name": "xxxxxxxxxxxxxxxxx",
			"parentPath": "/",
			"size": 1024,
			"versionCreated": "2016-10-28T07:47:06.171Z",
			"immutable": false
		}, {
			"name": "xxxxxxxxxxxxxxxxx",
			"parentPath": "/",
			"size": 1024,
			"versionCreated": "2016-11-23T08:11:39.199Z",
			"immutable": false
		}, {
			"name": "xxx",
			"parentPath": "/",
			"size": 1024,
			"versionCreated": "2016-11-02T11:07:41.331Z",
			"immutable": false
		}, {
			"name": "VIRTUALFOLDER_INT123456782016-11-23-03-37-53_690",
			"parentPath": "/",
			"size": 1024,
			"versionCreated": "2016-11-23T10:03:34.909Z",
			"immutable": false
		}, {
			"name": "xxxxxxxxxxx",
			"parentPath": "/",
			"size": 2247756,
			"versionCreated": "2016-10-05T05:58:15.628Z",
			"immutable": true
		}, {
			"name": "virtual_folder",
			"parentPath": "/",
			"size": 1024,
			"versionCreated": "2016-11-03T13:16:42.656Z",
			"immutable": false
		}, {
			"name": "virtual-folder",
			"parentPath": "/",
			"size": 1024,
			"versionCreated": "2016-11-03T13:16:50.058Z",
			"immutable": false
		}, {
			"name": "ruby spaces virtual folder",
			"parentPath": "/",
			"size": 1024,
			"versionCreated": "2016-11-03T13:15:14.033Z",
			"immutable": false
		}, {
			"name": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
			"parentPath": "/",
			"size": 1024,
			"versionCreated": "2016-12-14T12:37:27.603Z",
			"immutable": false
		}, {
			"name": "ruby_virtual_0211-2016",
			"parentPath": "/",
			"size": 1024,
			"versionCreated": "2016-11-02T11:09:21.290Z",
			"immutable": false
		}, {
			"name": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
			"parentPath": "/",
			"size": 1024,
			"versionCreated": "2016-12-14T12:36:29.890Z",
			"immutable": false
		}, {
			"name": "rubyvirtual0211_2016",
			"parentPath": "/",
			"size": 1024,
			"versionCreated": "2016-11-02T11:16:06.403Z",
			"immutable": false
		}, {
			"name": "VZMOBILE",
			"parentPath": "/",
			"size": 4889932161,
			"versionCreated": "2017-06-13T10:31:27.760Z",
			"immutable": true
		}, {
			"name": "test_xyz",
			"parentPath": "/",
			"size": 1024,
			"versionCreated": "2016-10-28T09:11:03.505Z",
			"immutable": false
		}]
	}
}					

Failure Responses

  • Status 400
  • Status 401
  • Status 403
  • Status 404
  • Status 410
  • Status 503

SEE ALSO:

{
	"swagger": "2.0",
	"info": {
		"title": "Personal Cloud Storage APIs",
		"version": "1"
	},
	"host": "api.cloudapi.verizon.com",
	"schemes": [
		"https"
	],
	"basePath": "/cloud/1",
	"paths": {
		"/metadata": {
			"get": {
				"operationId": "get_metadata",
				"produces": [
					"application/json"
				],
				"consumes": [
					"application/json"
				],
				"summary": "Get metadata for the root folder contents.",
				"description": "Fetch metadata for all top-level folders.",
				"parameters": [
					{
						"name": "include_deleted",
						"in": "query",
						"description": "if true, response will include deleted files and folders. Default is false.",
						"required": false,
						"type": "boolean"
					},
					{
						"$ref": "#/parameters/sort_metadata"
					},
					{
						"$ref": "#/parameters/page"
					},
					{
						"$ref": "#/parameters/count"
					},
					{
						"$ref": "#/parameters/filter"
					}
				],
				"responses": {
					"200": {
						"description": "A metadata response object",
						"schema": {
							"$ref": "#/definitions/metadata_response"
						}
					},
					"400": {
						"description": "[Bad Request] Query parameters missing or invalid.",
						"schema": {
							"$ref": "#/definitions/error_response"
						}
					},
					"401": {
						"description": "[Unauthorized] Bearer token is missing, expired, or invalid.",
						"schema": {
							"$ref": "#/definitions/error_response"
						}
					},
					"403": {
						"description": "[Forbidden] User is not authorized to access storage APIs.",
						"schema": {
							"$ref": "#/definitions/error_response"
						}
					},
					"404": {
						"description": "[Not Found] File was not found.",
						"schema": {
							"$ref": "#/definitions/error_response"
						}
					},
					"503": {
						"description": "[Service Unavailable] See response body for more detail.",
						"schema": {
							"$ref": "#/definitions/error_response"
						}
					}
				},
				"tags": [
					"Try it Out"
				],
				"security": [
					{
						"files_auth": []
					}
				]
			}
		}
	},
	"parameters": {
		"uploadid": {
			"name": "uploadid",
			"in": "path",
			"description": "Unique id to upload file binary content and to create the file. Uploadid is obtained via a call to the /fileupload/intent API (it is embedded in the URLs included in the response).",
			"required": true,
			"type": "string"
		},
		"filepath": {
			"name": "path",
			"in": "query",
			"description": "The path to the folder where file has to be uploaded.",
			"required": true,
			"type": "string"
		},
		"filename": {
			"name": "name",
			"in": "query",
			"description": "Name of the file to be uploaded.",
			"required": true,
			"type": "string"
		},
		"filesize": {
			"name": "size",
			"in": "query",
			"description": "Size of the file to be uploaded.",
			"required": true,
			"type": "integer"
		},
		"offset": {
			"name": "offset",
			"in": "query",
			"description": "Required when chunk parameter value is set to true. Represents sequence of the uploaded chunk data.",
			"required": false,
			"type": "integer"
		},
		"etag": {
			"name": "X-Header-ETag",
			"in": "header",
			"description": "Omit this header to request a full response.  To request only changes since a previous call to fullview, include this header as copied from your previous /fullview response.",
			"required": false,
			"type": "string"
		},
		"path": {
			"name": "path",
			"in": "path",
			"description": "The path to the file or folder.",
			"required": true,
			"type": "string"
		},
		"purge": {
			"name": "purge",
			"in": "query",
			"description": "If 'true', permanently deletes the file/folder.",
			"required": false,
			"type": "boolean",
			"default": false
		},
		"content-token": {
			"name": "content-token",
			"in": "path",
			"description": "The file's content token (obtained from a call to /metadata or /fullview).",
			"required": true,
			"type": "string"
		},
		"size": {
			"name": "size",
			"in": "query",
			"type": "string",
			"description": "Thumbnail size: 'xs' (24x24), 's' (64x64), 'm' (128x128) or 'l' (320x320). Either 'size' or 'th' and 'tw' are required."
		},
		"th": {
			"name": "th",
			"in": "query",
			"type": "integer",
			"description": "Thumbnail height (in pixels). Either 'size' or 'th' and 'tw' are required."
		},
		"tw": {
			"name": "tw",
			"in": "query",
			"type": "integer",
			"description": "Thumbnail width (in pixels). Either 'size' or 'th' and 'tw' are required."
		},
		"include_deleted": {
			"name": "include_deleted",
			"in": "query",
			"description": "if true, response will include deleted files and folders. Default is false.",
			"required": false,
			"type": "boolean",
			"default": false
		},
		"query": {
			"name": "query",
			"in": "query",
			"description": "Contains the text to be searched and supports a number of query fields that allow clients to restrict the search to particular parts of a file's or folder's metadata",
			"required": true,
			"type": "string"
		},
		"sort": {
			"name": "sort",
			"in": "query",
			"description": "Specify sort order for response. Syntax is :'{field}+{asc|desc}'.  Valid values for 'field' are: name, versionCreated, size, extension, album, artist, captureDate, compilation, contentType, creationDate, favorite, genre, height, modificationDate, priority, source, tags, title, timelineDate",
			"required": false,
			"type": "string"
		},
		"sort_metadata": {
			"name": "sort",
			"in": "query",
			"description": "Specify sort order for response. Syntax is :'{field}+{asc|desc}'.  Valid values for 'field' are: name, versionCreated, size, extension, album, artist, captureDate, contentType, creationDate, genre, priority, title, timelineDate",
			"required": false,
			"type": "string"
		},
		"query_contact": {
			"name": "query",
			"in": "query",
			"description": "Contains the text to be searched to particular parts of a contact. Supports following fields: id, name, email, im, address, tel, incaseofemergency (Example: incaseofemergency:true and incaseofemergency:false), field-tag.type (Example: address.home), address.type.subfield (Example: address.home.street), favorite (Example: favorite:true and favorite:false)",
			"required": false,
			"type": "string"
		},
		"sort_contact": {
			"name": "sort",
			"in": "query",
			"description": "Specify sort order for response. Syntax is :'{field}+{asc|desc}'.  Valid values for 'field' are: firstname, lastname, created, modified, id",
			"required": false,
			"type": "string"
		},
		"page": {
			"name": "page",
			"in": "query",
			"description": "Page number to return, for paginated responses. Defaulted to 1 if count is specified.",
			"required": false,
			"type": "integer"
		},
		"page_contact": {
			"name": "page",
			"in": "query",
			"description": "Page number to return, for paginated responses. Defaulted to 1.",
			"required": false,
			"type": "integer"
		},
		"count": {
			"name": "count",
			"in": "query",
			"description": "Maximum children to include in a paginated response.  Defaulted to 20 if page is specified.",
			"required": false,
			"type": "integer"
		},
		"count_contact": {
			"name": "count",
			"in": "query",
			"description": "Maximum children to include in a paginated response.  Defaulted to 200.",
			"required": false,
			"type": "integer"
		},
		"count_share": {
			"name": "count",
			"in": "query",
			"description": "Maximum items to include in a paginated response, for share requests.Value must be between 1 and 200. Default is 20",
			"required": false,
			"type": "integer"
		},
		"filter": {
			"name": "filter",
			"in": "query",
			"description": "Set to 'file' or 'folder', to include only those types of items in the response.",
			"required": false,
			"type": "string"
		},
		"type": {
			"name": "type",
			"in": "query",
			"description": "The type of the playlist. Can be one of 'image', 'music', 'video' or 'image-video'.",
			"required": false,
			"type": "string"
		},
		"playlistUid": {
			"name": "playlistUid",
			"in": "path",
			"description": "Unique id related to a specific playlist.",
			"required": true,
			"type": "string"
		},
		"location_download": {
			"name": "location",
			"in": "query",
			"description": "Location as returned in the POST /shares response under 'resources'.",
			"required": true,
			"type": "string"
		},
		"serv_download": {
			"name": "serv",
			"in": "query",
			"description": "serv as returned in the 'url' under 'resources'.",
			"required": true,
			"type": "string"
		},
		"inviteKey_download": {
			"name": "inviteKey",
			"in": "query",
			"description": "publicInviteKey as returned in the POST /shares response.",
			"required": true,
			"type": "string"
		},
		"contactID": {
			"name": "contactID",
			"in": "path",
			"description": "Unique id related to a specific contact.",
			"required": true,
			"type": "string"
		},
		"itemUid": {
			"name": "itemUid",
			"in": "path",
			"description": "Unique id related to a specific item in a playlist.",
			"required": true,
			"type": "string"
		},
		"deep": {
			"name": "deep",
			"in": "query",
			"description": "Specifies whether the search should stop at the topmost deleted item in the tree (deep=false), or navigate into it and list all the deleted contents    (deep=true).",
			"required": false,
			"type": "boolean",
			"default": false
		},
		"virtualfolder": {
			"name": "virtualfolder",
			"in": "query",
			"description": "Folder that represents various client types at the root level and contains their respective data.",
			"required": true,
			"type": "string"
		},
		"virtualfolderFullview": {
			"name": "virtualfolder",
			"in": "query",
			"description": "Folder that represents various client types at the root level and contains their respective data. Defaulted to VZMOBILE.",
			"required": false,
			"type": "string"
		},
		"virtualfolderSearch": {
			"name": "virtualfolder",
			"in": "query",
			"description": "Folder that represents various client types at the root level and contains their respective data. Defaulted to VZMOBILE. For search across all virtual folders, give value as '*'",
			"required": false,
			"type": "string"
		},
		"filter_share": {
			"name": "filter",
			"in": "query",
			"description": "Filters the returned shares. Currently the value can only be 'outbound' (shared by the user).",
			"required": false,
			"default": "outbound",
			"type": "string"
		},
		"since": {
			"name": "since",
			"in": "query",
			"description": "The date and time, expressed in the W3C date and time format, after which messages should be returned.",
			"required": false,
			"type": "string"
		},
		"until": {
			"name": "until",
			"in": "query",
			"description": "The date and time, expressed in the W3C date and time format, up to which messages should be returned.",
			"required": false,
			"type": "string"
		},
		"cursor": {
			"name": "cursor",
			"in": "query",
			"description": "A cursor used in paginating the response. Cursors are returned in 'next' and 'prev' links in the response body. When cursor parameter is present other parameter values are ignored",
			"required": false,
			"type": "string"
		},
		"shareUid": {
			"name": "shareUid",
			"in": "path",
			"description": "The unique ID of the share.",
			"required": true,
			"type": "string"
		},
		"type_favorite": {
			"name": "type",
			"in": "query",
			"description": "Allow clients to restrict the listing favorites to files, folders or both",
			"required": false,
			"type": "string",
			"enum": [
				"file",
				"folder",
				"filefolder"
			],
			"default": "filefolder"
		},
		"filetype_favorite": {
			"name": "filetype",
			"in": "query",
			"description": "Allow clients to restrict the listing favorites to file of a single type - 'image', 'music', 'video', 'documents' or ‘all’",
			"required": false,
			"type": "string",
			"enum": [
				"image",
				"music",
				"video",
				"documents",
				"all"
			],
			"default": "all"
		},
		"createVirtualFolderName": {
			"name": "name",
			"in": "path",
			"description": "Name of the virtual folder",
			"required": true,
			"type": "string"
		}
	},
	"definitions": {
		"base_file_metadata": {
			"required": [
				"name",
				"parentPath",
				"checksum",
				"contentAccessible",
				"contentToken",
				"deleted",
				"extension",
				"size",
				"systemAttributes",
				"version",
				"versionCreated",
				"viewUid",
				"uri",
				"ciComplete",
				"contentPermissions"
			],
			"properties": {
				"name": {
					"type": "string",
					"description": "The name of the file"
				},
				"parentPath": {
					"type": "string",
					"description": "The folder where the file is located"
				},
				"checksum": {
					"type": "string",
					"description": "The file content's SHA-256 checksum value"
				},
				"contentAccessible": {
					"type": "boolean",
					"description": "If false, the file content is protected by copywrite and is not accessible to the user"
				},
				"contentToken": {
					"type": "string",
					"description": "A unique string representing the file. Will change if file content is updated.  Required for certain APIs, such as /thumbnails"
				},
				"deleted": {
					"type": "boolean",
					"description": "If true, the file has been logically deleted"
				},
				"extension": {
					"type": "string",
					"description": "The file's extension, as extracted from the filename"
				},
				"size": {
					"type": "integer",
					"format": "int64",
					"description": "The size of the file, in bytes"
				},
				"systemAttributes": {
					"description": "A set of file attributes.  The attribute set will vary depending on file type"
				},
				"version": {
					"type": "integer",
					"description": "File version.  This number increases when the file is updated"
				},
				"versionCreated": {
					"type": "string",
					"description": "Creation timestamp for the file's current version, in ISO-8601 format"
				},
				"viewUid": {
					"type": "array",
					"description": "Array of viewUid",
					"items": {
						"$ref": "#/definitions/viewUid"
					}
				},
				"uri": {
					"type": "string",
					"description": "Unique identifier of the resource"
				},
				"ciComplete": {
					"type": "boolean",
					"description": "Whether the content ingestion step has been completed on the file"
				},
				"contentPermissions": {
					"type": "string",
					"description": "Determines a file's accessibility. It can take the following values: SHARE(file has no restrictions and is shareable), VIEW(file is not shareable. All other operations are permitted) & BLOCK(file is not accessible. Only delete operation permitted)"
				}
			}
		},
		"file_metadata": {
			"allOf": [
				{
					"$ref": "#/definitions/base_file_metadata"
				},
				{
					"properties": {
						"shareAssociation": {
							"type": "array",
							"description": "Array of shareAssociation",
							"items": {
								"$ref": "#/definitions/shareAssociation"
							}
						}
					}
				}
			]
		},
		"file_metadata_list": {
			"type": "array",
			"items": {
				"$ref": "#/definitions/file_metadata"
			}
		},
		"base_file_metadata_list": {
			"type": "array",
			"items": {
				"$ref": "#/definitions/base_file_metadata"
			}
		},
		"base_folder_metadata": {
			"required": [
				"name",
				"parentPath",
				"size",
				"version",
				"versionCreated",
				"count",
				"deleted",
				"viewUid",
				"uri"
			],
			"properties": {
				"name": {
					"type": "string",
					"description": "The name of the folder"
				},
				"parentPath": {
					"type": "string",
					"description": "The name of the folder's parent folder"
				},
				"size": {
					"type": "integer",
					"format": "int64",
					"description": "The size of the folder, in bytes"
				},
				"version": {
					"type": "integer",
					"description": "Folder version.  This number increases when the folder content changes"
				},
				"versionCreated": {
					"type": "string",
					"description": "Creation timestamp for the folder's current version, in ISO-8601 format"
				},
				"count": {
					"type": "integer",
					"description": "The number of items the folder contains"
				},
				"deleted": {
					"type": "boolean",
					"description": "If true, the folder has been logically deleted"
				},
				"viewUid": {
					"type": "array",
					"description": "Array of viewUid",
					"items": {
						"required": [
							"type",
							"viewType",
							"uid"
						],
						"properties": {
							"type": {
								"type": "string",
								"description": "Shared Type"
							},
							"viewType": {
								"type": "string",
								"description": "Type of view"
							},
							"uid": {
								"type": "string",
								"description": "Unique id of view"
							}
						}
					}
				},
				"uri": {
					"type": "string",
					"description": "Unique identifier of the resource"
				}
			}
		},
		"folder_metadata": {
			"allOf": [
				{
					"$ref": "#/definitions/base_folder_metadata"
				},
				{
					"properties": {
						"shareAssociation": {
							"type": "array",
							"description": "Array of shareAssociation",
							"items": {
								"required": [
									"uid",
									"visibility",
									"name",
									"type"
								],
								"properties": {
									"uid": {
										"type": "string",
										"description": "Unique id"
									},
									"visibility": {
										"type": "string",
										"description": "Visibility of share association"
									},
									"name": {
										"type": "string",
										"description": "Name"
									},
									"type": {
										"type": "string",
										"description": "Type of share association"
									}
								}
							}
						}
					}
				}
			]
		},
		"viewUid": {
			"required": [
				"type",
				"viewType",
				"uid"
			],
			"properties": {
				"type": {
					"type": "string",
					"description": "Shared Type"
				},
				"viewType": {
					"type": "string",
					"description": "Type of view"
				},
				"uid": {
					"type": "string",
					"description": "Unique id of view"
				}
			}
		},
		"shareAssociation": {
			"required": [
				"uid",
				"visibility",
				"name",
				"type"
			],
			"properties": {
				"uid": {
					"type": "string",
					"description": "Unique id"
				},
				"visibility": {
					"type": "string",
					"description": "Visibility of share association"
				},
				"name": {
					"type": "string",
					"description": "Name"
				},
				"type": {
					"type": "string",
					"description": "Type of share association"
				}
			}
		},
		"folder_metadata_list": {
			"type": "array",
			"items": {
				"$ref": "#/definitions/folder_metadata"
			}
		},
		"base_folder_metadata_list": {
			"type": "array",
			"items": {
				"$ref": "#/definitions/base_folder_metadata"
			}
		},
		"deleted_list": {
			"required": [
				"path"
			],
			"properties": {
				"path": {
					"type": "array",
					"items": {
						"type": "string"
					},
					"description": "An array of deleted file and folder paths."
				}
			}
		},
		"parent_folder_metadata": {
			"allOf": [
				{
					"$ref": "#/definitions/folder_metadata"
				},
				{
					"properties": {
						"file": {
							"$ref": "#/definitions/file_metadata_list"
						},
						"folder": {
							"$ref": "#/definitions/folder_metadata_list"
						}
					}
				}
			]
		},
		"metadata_response": {
			"properties": {
				"file": {
					"$ref": "#/definitions/file_metadata"
				},
				"folder": {
					"$ref": "#/definitions/parent_folder_metadata"
				}
			}
		},
		"fullview_response": {
			"required": [
				"data"
			],
			"properties": {
				"data": {
					"$ref": "#/definitions/fullview_data"
				}
			}
		},
		"virtualfolder_response": {
			"required": [
				"name",
				"parentPath",
				"size",
				"versionCreated",
				"immutable"
			],
			"properties": {
				"name": {
					"type": "string",
					"description": "The name of the virtual folder"
				},
				"parentPath": {
					"type": "string",
					"description": "The name of the parent folder"
				},
				"size": {
					"type": "integer",
					"format": "int64",
					"description": "The size of the virtual folder, in bytes"
				},
				"immutable": {
					"type": "boolean",
					"default": false,
					"description": "Whether virtual folder is immutable"
				},
				"versionCreated": {
					"type": "string",
					"description": "Creation timestamp for the virtual folder's current version, in ISO-8601 format"
				}
			}
		},
		"renameVirtualFolderRequest": {
			"required": [
				"src",
				"target"
			],
			"properties": {
				"src": {
					"type": "string",
					"description": "Name of the virtual folder."
				},
				"target": {
					"type": "string",
					"description": "Changed name of the virtual folder."
				}
			}
		},
		"fullview_data": {
			"properties": {
				"file": {
					"$ref": "#/definitions/base_file_metadata_list"
				},
				"folder": {
					"$ref": "#/definitions/base_folder_metadata_list"
				},
				"deleted": {
					"$ref": "#/definitions/deleted_list"
				}
			}
		},
		"trash_response": {
			"required": [
				"count",
				"data"
			],
			"properties": {
				"count": {
					"type": "integer",
					"format": "int64",
					"description": "Total number of search matches"
				},
				"data": {
					"$ref": "#/definitions/trash_data"
				}
			}
		},
		"trash_data": {
			"properties": {
				"file": {
					"$ref": "#/definitions/base_file_metadata_list"
				},
				"folder": {
					"$ref": "#/definitions/base_folder_metadata_list"
				}
			}
		},
		"searchresult_response": {
			"required": [
				"count"
			],
			"properties": {
				"count": {
					"type": "integer",
					"format": "int64",
					"description": "Total number of search matches"
				},
				"file": {
					"$ref": "#/definitions/file_metadata_list"
				},
				"folder": {
					"$ref": "#/definitions/folder_metadata_list"
				}
			}
		},
		"account_response": {
			"required": [
				"usage",
				"id"
			],
			"properties": {
				"id": {
					"type": "string",
					"description": "The user identifier."
				},
				"alias": {
					"type": "string",
					"description": "Username. Available only for MDN accounts."
				},
				"usage": {
					"required": [
						"quota",
						"quotaUsed"
					],
					"properties": {
						"quota": {
							"type": "integer",
							"format": "int64",
							"description": "Total quota space available to the user on the cloud in bytes"
						},
						"quotaUsed": {
							"type": "integer",
							"format": "int64",
							"description": "Total quota space used in bytes"
						}
					}
				}
			}
		},
		"playlist": {
			"required": [
				"uid",
				"name",
				"type",
				"mimeTypeRegex",
				"creationDate",
				"lastModifiedDate",
				"uri"
			],
			"properties": {
				"uid": {
					"type": "string",
					"description": "The uid of the playlist"
				},
				"name": {
					"type": "string",
					"description": "The name of the playlist"
				},
				"type": {
					"type": "string",
					"description": "The type of playlist"
				},
				"mimeTypeRegex": {
					"type": "string",
					"description": "Regex pattern for playlist"
				},
				"paths": {
					"type": "array",
					"items": {
						"type": "string"
					},
					"description": "Array of paths"
				},
				"creationDate": {
					"type": "string",
					"description": "Timestamp for creation date of playlist"
				},
				"lastModifiedDate": {
					"type": "string",
					"description": "Timestamp for last modified date of playlist"
				},
				"uri": {
					"type": "string",
					"description": "Unique identifier of the resource"
				},
				"shareAssociation": {
					"type": "array",
					"description": "Array of shareAssociation",
					"items": {
						"$ref": "#/definitions/shareAssociation"
					}
				}
			}
		},
		"playlist_item": {
			"required": [
				"filename",
				"path",
				"mimeType",
				"size",
				"versionCreated",
				"fileAttribute",
				"contentToken",
				"checksum",
				"contentAccessible",
				"extension",
				"tags",
				"uri"
			],
			"properties": {
				"filename": {
					"type": "string",
					"description": "Name of the file"
				},
				"path": {
					"type": "string",
					"description": "Path of the file"
				},
				"mimeType": {
					"type": "string",
					"description": "Type of content"
				},
				"size": {
					"type": "integer",
					"description": "Size of the item"
				},
				"versionCreated": {
					"type": "string",
					"description": "Timestamp of version created date"
				},
				"fileAttribute": {
					"$ref": "#/definitions/playlist_item"
				},
				"contentToken": {
					"type": "string",
					"description": "Unique token for content"
				},
				"checksum": {
					"type": "string",
					"description": "Checksum detail"
				},
				"contentAccessible": {
					"type": "boolean",
					"description": "Show accessibility of the content"
				},
				"extension": {
					"type": "string",
					"description": "File extension"
				},
				"tags": {
					"type": "object"
				},
				"uri": {
					"type": "string",
					"description": "Unique identifier of the resource"
				}
			}
		},
		"playlist_add_request": {
			"required": [
				"add"
			],
			"properties": {
				"add": {
					"type": "array",
					"items": {
						"type": "string"
					},
					"description": "An array of paths to items."
				}
			}
		},
		"restore_trash_request": {
			"required": [
				"path"
			],
			"properties": {
				"path": {
					"type": "array",
					"items": {
						"type": "string"
					},
					"description": "An array of paths of trashed items."
				}
			}
		},
		"updateTags_request": {
			"required": [
				"uri",
				"Tags"
			],
			"properties": {
				"uri": {
					"type": "string",
					"description": "URI of the resource. This is a URI value obtained from a fullview or metadata response"
				},
				"Tags": {
					"type": "string",
					"description": "A set of Tags"
				},
				"createVersion": {
					"type": "boolean",
					"description": "If 'true', creates a new version of the file or folder. Defaults to 'false'.",
					"default": false
				}
			}
		},
		"flashback_request": {
			"required": [
				"files"
			],
			"properties": {
				"files": {
					"type": "array",
					"items": {
						"$ref": "#/definitions/image_flashback_response"
					},
					"description": "An array of paths to items."
				}
			}
		},
		"updateFavorite_request": {
			"required": [
				"uri"
			],
			"properties": {
				"uri": {
					"type": "array",
					"items": {
						"type": "string"
					},
					"description": "URI of the resource. This is a URI value obtained from a fullview or metadata response"
				},
				"createVersion": {
					"type": "boolean",
					"description": "If 'true', creates a new version of the file or folder. Defaults to 'false'.",
					"default": false
				}
			}
		},
		"playlist_add_response": {
			"required": [
				"paths"
			],
			"properties": {
				"paths": {
					"type": "array",
					"items": {
						"type": "string"
					},
					"description": "List of paths"
				}
			}
		},
		"playlist_request": {
			"required": [
				"name",
				"type",
				"paths"
			],
			"properties": {
				"name": {
					"type": "string",
					"description": "Name of the playlist."
				},
				"paths": {
					"type": "array",
					"items": {
						"type": "string"
					},
					"description": "An array of paths to items."
				},
				"type": {
					"type": "string",
					"description": "The type of the playlist. Can be one of 'image', 'music', 'video' or 'image-video'"
				}
			}
		},
		"playlist_base": {
			"required": [
				"name",
				"type"
			],
			"properties": {
				"name": {
					"type": "string",
					"description": "The name of the playlist"
				},
				"type": {
					"type": "string",
					"description": "The type of the playlist. Can be one of 'image', 'music', 'video' or 'image-video'"
				}
			}
		},
		"folder_request": {
			"required": [
				"name",
				"path",
				"override"
			],
			"properties": {
				"name": {
					"type": "string",
					"description": "Folder name to be created."
				},
				"path": {
					"type": "string",
					"description": "Path where the folder has to be created."
				},
				"override": {
					"type": "string",
					"description": "Specifies what happens if a folder of the same name exists at the target path. Set to 'overwrite' to overwrite the existing folder. Set to 'modify' to treat the new folder as a modification of the old folder. If the 'override' parameter is not set, the following algorithm is applied if the existing folder has a 'deleted' attribute set to 'true', the folder is overwritten; if the old folder's 'deleted' attribute is false or not set, the folder is modified."
				}
			}
		},
		"fops_copy_request": {
			"required": [
				"src",
				"target",
				"safe",
				"conflictsolve",
				"override"
			],
			"properties": {
				"src": {
					"type": "string",
					"description": "Full path of the file/folder for copy/move/rename operations."
				},
				"target": {
					"type": "string",
					"description": "Full path of the target file/folder for copy/move/rename operations. In case of files the full/changed name should be included in the target."
				},
				"safe": {
					"type": "boolean",
					"default": false,
					"description": "If 'true', ensures that name conflicts are resolved according to the value of the 'conflictsolve' parameter. Defaults to 'false', in which case the operation will overwrite an existing file/folder of the same name."
				},
				"conflictsolve": {
					"type": "string",
					"description": "Defines how name conflicts are resolved, if the 'safe' parameter is set to 'true'. If set to 'copy', a new file is written to the destination folder with a non-conflicting name. If not set, the operation is rolled back and operation returns '409 Conflict'."
				},
				"override": {
					"type": "string",
					"description": "Specifies what happens if a file of the same name exists at the target path and the 'safe' parameter is not set. Set to 'overwrite' to treat the copied file as completely new. Set to 'modify' to treat the new file as a modification of the old one. If the 'override' parameter is not set, the following algorithm is used: if the existing file has a 'deleted' attribute set to 'true', the file is overwritten; if the old file's 'deleted' attribute is false or not set, the file is modified."
				}
			}
		},
		"metadata_update_request": {
			"required": [
				"name",
				"value",
				"uri"
			],
			"properties": {
				"name": {
					"type": "string",
					"description": "The name of the system attribute to be updated"
				},
				"value": {
					"type": "string",
					"description": "The value of the system attribute"
				},
				"uri": {
					"type": "string",
					"description": "The URI to the file which needs to be updated"
				}
			}
		},
		"fops_change_request": {
			"required": [
				"src",
				"target",
				"safe",
				"conflictsolve"
			],
			"properties": {
				"src": {
					"type": "string",
					"description": "Full path of the file/folder for copy/move/rename operations."
				},
				"target": {
					"type": "string",
					"description": "Full path of the target file/folder for copy/move/rename operations. In case of files the full/changed name should be included in the target."
				},
				"safe": {
					"type": "boolean",
					"default": false,
					"description": "If 'true', ensures that name conflicts are resolved according to the value of the 'conflictsolve' parameter. Defaults to 'false', in which case the operation will overwrite an existing file/folder of the same name."
				},
				"conflictsolve": {
					"type": "string",
					"description": "Defines how name conflicts are resolved, if the 'safe' parameter is set to 'true'. If set to 'copy', a new file is written to the destination folder with a non-conflicting name. If not set, the operation is rolled back and operation returns '409 Conflict'."
				}
			}
		},
		"contacts": {
			"required": [
				"contactsResponse"
			],
			"properties": {
				"contactsResponse": {
					"$ref": "#/definitions/contacts_response"
				}
			}
		},
		"contacts_response": {
			"required": [
				"account"
			],
			"properties": {
				"account": {
					"$ref": "#/definitions/contacts_account"
				}
			}
		},
		"contacts_account": {
			"required": [
				"userid",
				"addrbook"
			],
			"properties": {
				"userid": {
					"type": "string",
					"description": "Unique identifier for the current user"
				},
				"addrbook": {
					"$ref": "#/definitions/contacts_addrbook"
				}
			}
		},
		"contacts_addrbook": {
			"required": [
				"updated",
				"contacts"
			],
			"properties": {
				"updated": {
					"type": "string",
					"description": "Timestamp of latest update"
				},
				"contacts": {
					"$ref": "#/definitions/contacts_contacts"
				}
			}
		},
		"contacts_contacts": {
			"required": [
				"itemcount",
				"contact"
			],
			"properties": {
				"itemcount": {
					"type": "integer",
					"description": "Number of contacts"
				},
				"contact": {
					"type": "array",
					"description": "Array of contacts",
					"items": {
						"$ref": "#/definitions/contact"
					}
				}
			}
		},
		"contact_request": {
			"required": [
				"version"
			],
			"properties": {
				"firstname": {
					"type": "string",
					"description": "Contact's given name"
				},
				"lastname": {
					"type": "string",
					"description": "Contact's surname"
				},
				"middlename": {
					"type": "string",
					"description": "Contact's middle name"
				},
				"nameprefix": {
					"type": "string",
					"description": "Contact's name prefix"
				},
				"namesuffix": {
					"type": "string",
					"description": "Contact's name suffix"
				},
				"nickname": {
					"type": "string",
					"description": "Contacts's nickname"
				},
				"birthday": {
					"type": "string",
					"description": "Contacts's birth date in the format YYYY-MM-DD"
				},
				"anniversary": {
					"type": "string",
					"description": "Contacts's anniversary date in the format YYYY-MM-DD"
				},
				"spouse": {
					"type": "string",
					"description": "Contacts's spouse name"
				},
				"children": {
					"type": "string",
					"description": "Contacts's children names"
				},
				"orgname": {
					"type": "string",
					"description": "Contacts's company name"
				},
				"orgunit": {
					"type": "string",
					"description": "Contacts's company department"
				},
				"jobtitle": {
					"type": "string",
					"description": "Contacts's job titile"
				},
				"profession": {
					"type": "string",
					"description": "Contacts's profession"
				},
				"assistant": {
					"type": "string",
					"description": "Contacts's assistant name"
				},
				"gender": {
					"type": "string",
					"description": "Contacts's gender. Can have a value as M(ale), F(emale) or U(ndefined)"
				},
				"relationship": {
					"type": "string",
					"description": "Contacts's relationship with the person"
				},
				"maritalstatus": {
					"type": "string",
					"description": "Contacts's marital status"
				},
				"source": {
					"type": "string",
					"description": "Origin of the contact"
				},
				"note": {
					"type": "string",
					"description": "Arbitrary text associated with this contact"
				},
				"incaseofemergency": {
					"type": "boolean",
					"description": "Marked true for emergency contacts. Maximum 3 contacts can be defined as incaseofemergency.",
					"default": false
				},
				"favorite": {
					"type": "boolean",
					"description": "Marked true for favorite contacts",
					"default": false
				},
				"tel": {
					"type": "array",
					"description": "List of contact's telephone numbers",
					"items": {
						"$ref": "#/definitions/contacts_tel"
					}
				},
				"email": {
					"type": "array",
					"description": "List of contact's email addresses",
					"items": {
						"$ref": "#/definitions/contacts_email"
					}
				},
				"address": {
					"type": "array",
					"description": "List of contact's addresses",
					"items": {
						"$ref": "#/definitions/contacts_address"
					}
				},
				"im": {
					"type": "array",
					"description": "List of contact's IM addresses",
					"items": {
						"$ref": "#/definitions/contacts_im"
					}
				},
				"version": {
					"type": "integer",
					"description": "The current version of the contact."
				}
			}
		},
		"contact_create_request": {
			"properties": {
				"firstname": {
					"type": "string",
					"description": "Contact's given name"
				},
				"lastname": {
					"type": "string",
					"description": "Contact's surname"
				},
				"middlename": {
					"type": "string",
					"description": "Contact's middle name"
				},
				"nameprefix": {
					"type": "string",
					"description": "Contact's name prefix"
				},
				"namesuffix": {
					"type": "string",
					"description": "Contact's name suffix"
				},
				"nickname": {
					"type": "string",
					"description": "Contacts's nickname"
				},
				"birthday": {
					"type": "string",
					"description": "Contacts's birth date in the format YYYY-MM-DD"
				},
				"anniversary": {
					"type": "string",
					"description": "Contacts's anniversary date in the format YYYY-MM-DD"
				},
				"spouse": {
					"type": "string",
					"description": "Contacts's spouse name"
				},
				"children": {
					"type": "string",
					"description": "Contacts's children names"
				},
				"orgname": {
					"type": "string",
					"description": "Contacts's company name"
				},
				"orgunit": {
					"type": "string",
					"description": "Contacts's company department"
				},
				"jobtitle": {
					"type": "string",
					"description": "Contacts's job titile"
				},
				"profession": {
					"type": "string",
					"description": "Contacts's profession"
				},
				"assistant": {
					"type": "string",
					"description": "Contacts's assistant name"
				},
				"gender": {
					"type": "string",
					"description": "Contacts's gender. Can have a value as M(ale), F(emale) or U(ndefined)"
				},
				"relationship": {
					"type": "string",
					"description": "Contacts's relationship with the person"
				},
				"maritalstatus": {
					"type": "string",
					"description": "Contacts's marital status"
				},
				"source": {
					"type": "string",
					"description": "Origin of the contact"
				},
				"note": {
					"type": "string",
					"description": "Arbitrary text associated with this contact"
				},
				"incaseofemergency": {
					"type": "boolean",
					"description": "Marked true for emergency contacts. Maximum 3 contacts can be defined as incaseofemergency.",
					"default": false
				},
				"favorite": {
					"type": "boolean",
					"description": "Marked true for favorite contacts",
					"default": false
				},
				"tel": {
					"type": "array",
					"description": "List of contact's telephone numbers",
					"items": {
						"$ref": "#/definitions/contacts_tel"
					}
				},
				"email": {
					"type": "array",
					"description": "List of contact's email addresses",
					"items": {
						"$ref": "#/definitions/contacts_email"
					}
				},
				"address": {
					"type": "array",
					"description": "List of contact's addresses",
					"items": {
						"$ref": "#/definitions/contacts_address"
					}
				},
				"im": {
					"type": "array",
					"description": "List of contact's IM addresses",
					"items": {
						"$ref": "#/definitions/contacts_im"
					}
				}
			}
		},
		"contact": {
			"properties": {
				"firstname": {
					"type": "string",
					"description": "Contact's given name"
				},
				"lastname": {
					"type": "string",
					"description": "Contact's surname"
				},
				"middlename": {
					"type": "string",
					"description": "Contact's middle name"
				},
				"nameprefix": {
					"type": "string",
					"description": "Contact's name prefix"
				},
				"namesuffix": {
					"type": "string",
					"description": "Contact's name suffix"
				},
				"nickname": {
					"type": "string",
					"description": "Contacts's nickname"
				},
				"birthday": {
					"type": "string",
					"description": "Contacts's birth date"
				},
				"anniversary": {
					"type": "string",
					"description": "Contacts's anniversary date"
				},
				"spouse": {
					"type": "string",
					"description": "Contacts's spouse name"
				},
				"children": {
					"type": "string",
					"description": "Contacts's children names"
				},
				"orgname": {
					"type": "string",
					"description": "Contacts's company name"
				},
				"orgunit": {
					"type": "string",
					"description": "Contacts's company department"
				},
				"jobtitle": {
					"type": "string",
					"description": "Contacts's job titile"
				},
				"profession": {
					"type": "string",
					"description": "Contacts's profession"
				},
				"assistant": {
					"type": "string",
					"description": "Contacts's assistant name"
				},
				"gender": {
					"type": "string",
					"description": "Contacts's gender. Can have a value as M(ale), F(emale) or U(ndefined)"
				},
				"relationship": {
					"type": "string",
					"description": "Contacts's relationship with the person"
				},
				"maritalstatus": {
					"type": "string",
					"description": "Contacts's marital status"
				},
				"source": {
					"type": "string",
					"description": "Origin of the contact"
				},
				"note": {
					"type": "string",
					"description": "Arbitrary text associated with this contact"
				},
				"created": {
					"type": "string",
					"description": "Timestamp the contact was created"
				},
				"modified": {
					"type": "string",
					"description": "Timestamp the contact was last updated"
				},
				"incaseofemergency": {
					"type": "boolean",
					"description": "Marked true for emergency contacts. Maximum 3 contacts can be defined as incaseofemergency.",
					"default": false
				},
				"favorite": {
					"type": "boolean",
					"description": "Marked true for favorite contacts",
					"default": false
				},
				"tel": {
					"type": "array",
					"description": "List of contact's telephone numbers",
					"items": {
						"$ref": "#/definitions/contacts_tel"
					}
				},
				"email": {
					"type": "array",
					"description": "List of contact's email addresses",
					"items": {
						"$ref": "#/definitions/contacts_email"
					}
				},
				"address": {
					"type": "array",
					"description": "List of contact's addresses",
					"items": {
						"$ref": "#/definitions/contacts_address"
					}
				},
				"im": {
					"type": "array",
					"description": "List of contact's IM addresses",
					"items": {
						"$ref": "#/definitions/contacts_im"
					}
				},
				"version": {
					"type": "integer",
					"description": "Contact version.  This number increases when the contact is updated"
				},
				"id": {
					"type": "string",
					"description": "Unique identifier for this contact"
				}
			}
		},
		"contacts_tel": {
			"required": [
				"type",
				"indx",
				"number",
				"preference"
			],
			"properties": {
				"type": {
					"type": "string",
					"description": "Type of telephone number, i.e., 'assistant', 'businessfax', 'business', 'callback', 'car', 'companymain', 'homefax', 'home', 'mobile', 'otherfax', 'pager', 'primaryfax', 'primary', 'radio', 'school', 'telex', 'ttydd', 'videophone', 'voipphone', 'other'"
				},
				"indx": {
					"type": "integer",
					"description": "When combined with 'type', provides a unique identifier for the entry"
				},
				"number": {
					"type": "string",
					"description": "Telephone number"
				},
				"preference": {
					"type": "integer",
					"description": "When sorting, lower numbers indicate a higher preference. The value must be less than 100."
				}
			}
		},
		"contacts_email": {
			"required": [
				"type",
				"indx",
				"address",
				"preference"
			],
			"properties": {
				"type": {
					"type": "string",
					"description": "Type of email address, i.e., 'business', 'personal', 'other'."
				},
				"indx": {
					"type": "integer",
					"description": "When combined with 'type', provides a unique identifier for the entry"
				},
				"address": {
					"type": "string",
					"description": "Email address"
				},
				"preference": {
					"type": "integer",
					"description": "For sorting. Lower numbers indicate a higher preference. The value must be less than 100."
				}
			}
		},
		"contacts_address": {
			"required": [
				"type",
				"indx",
				"preference"
			],
			"properties": {
				"type": {
					"type": "string",
					"description": "Type of address, i.e., 'home', 'business', 'personal', 'primary', 'other'"
				},
				"indx": {
					"type": "integer",
					"description": "When combined with 'type', provides a unique identifier for the entry"
				},
				"pobox": {
					"type": "string"
				},
				"street": {
					"type": "string"
				},
				"apartment": {
					"type": "string"
				},
				"city": {
					"type": "string"
				},
				"state": {
					"type": "string"
				},
				"zipcode": {
					"type": "string"
				},
				"country": {
					"type": "string"
				},
				"preference": {
					"type": "integer",
					"description": "For sorting. Lower numbers indicate a higher preference. The value must be less than 100."
				}
			}
		},
		"contacts_im": {
			"required": [
				"address",
				"preference",
				"type"
			],
			"properties": {
				"type": {
					"type": "string",
					"description": "Type of address, i.e., 'aim', 'icq', 'yahoo', 'google', 'skype', 'jabber', 'msn', 'other'"
				},
				"address": {
					"type": "string",
					"description": "IM contact string"
				},
				"preference": {
					"type": "integer",
					"description": "For sorting. Lower numbers indicate a higher preference. The value must be less than 100."
				}
			}
		},
		"createShare_request": {
			"required": [
				"resources"
			],
			"properties": {
				"name": {
					"type": "string",
					"description": "The name of the share."
				},
				"resources": {
					"type": "array",
					"items": {
						"$ref": "#/definitions/resource_request"
					},
					"description": "An array of resource request object."
				},
				"expiresIn": {
					"type": "integer",
					"description": "The time to live of the share in seconds. The value 0 signifies the share will never expire. Minimum value is 300. If not provided, defaults to 86400."
				}
			}
		},
		"share_response_list": {
			"properties": {
				"count": {
					"type": "integer",
					"description": "The total number of shares"
				},
				"links": {
					"type": "array",
					"items": {
						"$ref": "#/definitions/link_response"
					}
				},
				"share": {
					"type": "array",
					"items": {
						"$ref": "#/definitions/share_response"
					}
				}
			}
		},
		"link_response": {
			"required": [
				"rel",
				"link"
			],
			"properties": {
				"rel": {
					"type": "string",
					"description": "The link identifier."
				},
				"link": {
					"type": "string",
					"description": "The URI of the link."
				}
			}
		},
		"share_response": {
			"required": [
				"name"
			],
			"properties": {
				"links": {
					"type": "array",
					"items": {
						"required": [
							"rel",
							"link"
						],
						"properties": {
							"rel": {
								"type": "string",
								"description": "The link identifier."
							},
							"link": {
								"type": "string",
								"description": "The URI of the link."
							}
						}
					}
				},
				"uid": {
					"type": "string",
					"description": "The resource identifier."
				},
				"name": {
					"type": "string",
					"description": "The name of the share."
				},
				"owner": {
					"description": "The owner of the share"
				},
				"sharer": {
					"description": "The sharer of the share"
				},
				"totalResourceCount": {
					"type": "integer",
					"description": "The total count of shared resources."
				},
				"expiresIn": {
					"type": "integer",
					"description": "The time to live of the share in seconds."
				},
				"expirationDate": {
					"type": "string",
					"description": "Expiration date on the share."
				},
				"creationDate": {
					"type": "string",
					"description": "The date and time the share was created."
				},
				"lastModifiedDate": {
					"type": "string",
					"description": "The date and time the share was last modified from the perspective of the owner."
				},
				"inboundLastModifiedDate": {
					"type": "string",
					"description": "The date and time the share was last modified from the perspective of a member."
				},
				"publicInviteKey": {
					"type": "string",
					"description": "The invite key of a public share."
				},
				"resources": {
					"type": "array",
					"description": "Array of resources",
					"items": {
						"required": [
							"name",
							"type"
						],
						"properties": {
							"uid": {
								"type": "string",
								"description": "The resource identifier."
							},
							"name": {
								"type": "string",
								"description": "Name of the resource."
							},
							"type": {
								"type": "string",
								"description": "Type of the resource."
							},
							"subType": {
								"type": "string",
								"description": "SubType of the resource."
							},
							"location": {
								"type": "string",
								"description": "Location of the resource."
							},
							"url": {
								"type": "string",
								"description": "Direct download link for the resource. Applicable for file resources only."
							},
							"size": {
								"type": "integer",
								"description": "Size of the resource."
							},
							"resourceId": {
								"type": "string",
								"description": "Id of the resource."
							},
							"contentToken": {
								"type": "string",
								"description": "ContentToken of the resource."
							},
							"checksum": {
								"type": "string",
								"description": "Checksum of the resource."
							},
							"lastModifiedDate": {
								"type": "string",
								"description": "LastModifiedDate of the resource."
							}
						}
					}
				}
			}
		},
		"createShare_response": {
			"allOf": [
				{
					"$ref": "#/definitions/share_response"
				}
			]
		},
		"resource_request": {
			"required": [
				"name",
				"location"
			],
			"properties": {
				"name": {
					"type": "string",
					"description": "Name of the resource."
				},
				"type": {
					"type": "string",
					"description": "Type of the resource: file/folder/playlist"
				},
				"subType": {
					"type": "string",
					"description": "(Optional) subtype of the resource: image/video/audio.  Used to aid playback of the file when viewed in a browser"
				},
				"location": {
					"type": "string",
					"description": "Location of the resource. This is a URI value obtained from a fullview, metadata, or playlist response"
				},
				"size": {
					"type": "integer",
					"description": "Size of the resource. Mandatory in case of file share only."
				}
			}
		},
		"resource_response": {
			"required": [
				"name",
				"type"
			],
			"properties": {
				"uid": {
					"type": "string",
					"description": "The resource identifier."
				},
				"name": {
					"type": "string",
					"description": "Name of the resource."
				},
				"type": {
					"type": "string",
					"description": "Type of the resource."
				},
				"subType": {
					"type": "string",
					"description": "SubType of the resource."
				},
				"location": {
					"type": "string",
					"description": "Location of the resource."
				},
				"url": {
					"type": "string",
					"description": "Direct download link for the resource. Applicable for file resources only."
				},
				"size": {
					"type": "integer",
					"description": "Size of the resource."
				},
				"resourceId": {
					"type": "string",
					"description": "Id of the resource."
				},
				"contentToken": {
					"type": "string",
					"description": "ContentToken of the resource."
				},
				"checksum": {
					"type": "string",
					"description": "Checksum of the resource."
				},
				"lastModifiedDate": {
					"type": "string",
					"description": "LastModifiedDate of the resource."
				}
			}
		},
		"uploadurls": {
			"required": [
				"uploadurl"
			],
			"properties": {
				"uploadurl": {
					"type": "string",
					"description": "The upload url with the uploadid to upload the binary content of the file."
				},
				"commiturl": {
					"type": "string",
					"description": "The commit url to create the file after binary content is uploaded in chunks."
				}
			}
		},
		"error_response": {
			"required": [
				"error_code",
				"error_description"
			],
			"properties": {
				"error_code": {
					"type": "string",
					"description": "A unique code identifying the error"
				},
				"error_description": {
					"type": "string",
					"description": "A detailed description of the error"
				}
			}
		},
		"tags_response": {
			"required": [
				"Tags"
			],
			"properties": {
				"Tags": {
					"type": "string",
					"description": "A set of Tags"
				}
			}
		},
		"flashback_response": {
			"required": [
				"latest"
			],
			"properties": {
				"latest": {
					"description": "The latest captured image having image score",
					"$ref": "#/definitions/image_flashback_response"
				},
				"flashback": {
					"description": "A set of images for each time frame",
					"$ref": "#/definitions/flashback_list"
				}
			}
		},
		"flashback_list": {
			"properties": {
				"<year>": {
					"type": "array",
					"items": {
						"$ref": "#/definitions/image_flashback_response"
					}
				}
			}
		},
		"image_flashback_response": {
			"required": [
				"name",
				"parentPath",
				"systemAttributes"
			],
			"properties": {
				"name": {
					"type": "string",
					"description": "The name of the file"
				},
				"parentPath": {
					"type": "string",
					"description": "The folder where the file is located"
				},
				"systemAttributes": {
					"description": "A set of file attributes.  The attribute set will vary depending on file type"
				}
			}
		}
	},
	"securityDefinitions": {
		"files_auth": {
			"type": "oauth2",
			"flow": "accessCode",
			"authorizationUrl": "https://api.cloudapi.verizon.com/cloud/1/oauth2/authorize",
			"tokenUrl": "https://api.cloudapi.verizon.com/cloud/1/oauth2/token",
			"scopes": {
				"full_access": "I agree to allow this website to access my application account to try out the API."
			}
		}
	}
}
{
	"swagger": "2.0",
	"info": {
		"title": "Personal Cloud Storage APIs",
		"version": "1"
	},
	"host": "api.cloudapi.verizon.com",
	"schemes": [
		"https"
	],
	"basePath": "/cloud/1",
	"paths": {
		"/metadata/{path}": {
			"get": {
				"operationId": "get_metadata_path",
				"produces": [
					"application/json"
				],
				"consumes": [
					"application/json"
				],
				"summary": "Get metadata for a file or folder in a user's repository.",
				"description": "Fetch metadata for the file or folder under the specified path.",
				"parameters": [
					{
						"$ref": "#/parameters/path"
					},
					{
						"$ref": "#/parameters/include_deleted"
					},
					{
						"$ref": "#/parameters/sort_metadata"
					},
					{
						"$ref": "#/parameters/page"
					},
					{
						"$ref": "#/parameters/count"
					},
					{
						"$ref": "#/parameters/filter"
					}
				],
				"responses": {
					"200": {
						"description": "A metadata response object",
						"schema": {
							"$ref": "#/definitions/metadata_response"
						}
					},
					"400": {
						"description": "[Bad Request] Query parameters missing or invalid.",
						"schema": {
							"$ref": "#/definitions/error_response"
						}
					},
					"401": {
						"description": "[Unauthorized] Bearer token is missing, expired, or invalid.",
						"schema": {
							"$ref": "#/definitions/error_response"
						}
					},
					"404": {
						"description": "[Not Found] File was not found.",
						"schema": {
							"$ref": "#/definitions/error_response"
						}
					},
					"410": {
						"description": "[Gone] File was removed.",
						"schema": {
							"$ref": "#/definitions/error_response"
						}
					},
					"503": {
						"description": "[Service Unavailable] See response body for more detail.",
						"schema": {
							"$ref": "#/definitions/error_response"
						}
					}
				},
				"tags": [
					"Try it Out"
				],
				"security": [
					{
						"files_auth": []
					}
				]
			}
		}
	},
	"parameters": {
		"uploadid": {
			"name": "uploadid",
			"in": "path",
			"description": "Unique id to upload file binary content and to create the file. Uploadid is obtained via a call to the /fileupload/intent API (it is embedded in the URLs included in the response).",
			"required": true,
			"type": "string"
		},
		"filepath": {
			"name": "path",
			"in": "query",
			"description": "The path to the folder where file has to be uploaded.",
			"required": true,
			"type": "string"
		},
		"filename": {
			"name": "name",
			"in": "query",
			"description": "Name of the file to be uploaded.",
			"required": true,
			"type": "string"
		},
		"filesize": {
			"name": "size",
			"in": "query",
			"description": "Size of the file to be uploaded.",
			"required": true,
			"type": "integer"
		},
		"offset": {
			"name": "offset",
			"in": "query",
			"description": "Required when chunk parameter value is set to true. Represents sequence of the uploaded chunk data.",
			"required": false,
			"type": "integer"
		},
		"etag": {
			"name": "X-Header-ETag",
			"in": "header",
			"description": "Omit this header to request a full response.  To request only changes since a previous call to fullview, include this header as copied from your previous /fullview response.",
			"required": false,
			"type": "string"
		},
		"path": {
			"name": "path",
			"in": "path",
			"description": "The path to the file or folder.",
			"required": true,
			"type": "string"
		},
		"purge": {
			"name": "purge",
			"in": "query",
			"description": "If 'true', permanently deletes the file/folder.",
			"required": false,
			"type": "boolean",
			"default": false
		},
		"content-token": {
			"name": "content-token",
			"in": "path",
			"description": "The file's content token (obtained from a call to /metadata or /fullview).",
			"required": true,
			"type": "string"
		},
		"size": {
			"name": "size",
			"in": "query",
			"type": "string",
			"description": "Thumbnail size: 'xs' (24x24), 's' (64x64), 'm' (128x128) or 'l' (320x320). Either 'size' or 'th' and 'tw' are required."
		},
		"th": {
			"name": "th",
			"in": "query",
			"type": "integer",
			"description": "Thumbnail height (in pixels). Either 'size' or 'th' and 'tw' are required."
		},
		"tw": {
			"name": "tw",
			"in": "query",
			"type": "integer",
			"description": "Thumbnail width (in pixels). Either 'size' or 'th' and 'tw' are required."
		},
		"include_deleted": {
			"name": "include_deleted",
			"in": "query",
			"description": "if true, response will include deleted files and folders. Default is false.",
			"required": false,
			"type": "boolean",
			"default": false
		},
		"query": {
			"name": "query",
			"in": "query",
			"description": "Contains the text to be searched and supports a number of query fields that allow clients to restrict the search to particular parts of a file's or folder's metadata",
			"required": true,
			"type": "string"
		},
		"sort": {
			"name": "sort",
			"in": "query",
			"description": "Specify sort order for response. Syntax is :'{field}+{asc|desc}'.  Valid values for 'field' are: name, versionCreated, size, extension, album, artist, captureDate, compilation, contentType, creationDate, favorite, genre, height, modificationDate, priority, source, tags, title, timelineDate",
			"required": false,
			"type": "string"
		},
		"sort_metadata": {
			"name": "sort",
			"in": "query",
			"description": "Specify sort order for response. Syntax is :'{field}+{asc|desc}'.  Valid values for 'field' are: name, versionCreated, size, extension, album, artist, captureDate, contentType, creationDate, genre, priority, title, timelineDate",
			"required": false,
			"type": "string"
		},
		"query_contact": {
			"name": "query",
			"in": "query",
			"description": "Contains the text to be searched to particular parts of a contact. Supports following fields: id, name, email, im, address, tel, incaseofemergency (Example: incaseofemergency:true and incaseofemergency:false), field-tag.type (Example: address.home), address.type.subfield (Example: address.home.street), favorite (Example: favorite:true and favorite:false)",
			"required": false,
			"type": "string"
		},
		"sort_contact": {
			"name": "sort",
			"in": "query",
			"description": "Specify sort order for response. Syntax is :'{field}+{asc|desc}'.  Valid values for 'field' are: firstname, lastname, created, modified, id",
			"required": false,
			"type": "string"
		},
		"page": {
			"name": "page",
			"in": "query",
			"description": "Page number to return, for paginated responses. Defaulted to 1 if count is specified.",
			"required": false,
			"type": "integer"
		},
		"page_contact": {
			"name": "page",
			"in": "query",
			"description": "Page number to return, for paginated responses. Defaulted to 1.",
			"required": false,
			"type": "integer"
		},
		"count": {
			"name": "count",
			"in": "query",
			"description": "Maximum children to include in a paginated response.  Defaulted to 20 if page is specified.",
			"required": false,
			"type": "integer"
		},
		"count_contact": {
			"name": "count",
			"in": "query",
			"description": "Maximum children to include in a paginated response.  Defaulted to 200.",
			"required": false,
			"type": "integer"
		},
		"count_share": {
			"name": "count",
			"in": "query",
			"description": "Maximum items to include in a paginated response, for share requests.Value must be between 1 and 200. Default is 20",
			"required": false,
			"type": "integer"
		},
		"filter": {
			"name": "filter",
			"in": "query",
			"description": "Set to 'file' or 'folder', to include only those types of items in the response.",
			"required": false,
			"type": "string"
		},
		"type": {
			"name": "type",
			"in": "query",
			"description": "The type of the playlist. Can be one of 'image', 'music', 'video' or 'image-video'.",
			"required": false,
			"type": "string"
		},
		"playlistUid": {
			"name": "playlistUid",
			"in": "path",
			"description": "Unique id related to a specific playlist.",
			"required": true,
			"type": "string"
		},
		"location_download": {
			"name": "location",
			"in": "query",
			"description": "Location as returned in the POST /shares response under 'resources'.",
			"required": true,
			"type": "string"
		},
		"serv_download": {
			"name": "serv",
			"in": "query",
			"description": "serv as returned in the 'url' under 'resources'.",
			"required": true,
			"type": "string"
		},
		"inviteKey_download": {
			"name": "inviteKey",
			"in": "query",
			"description": "publicInviteKey as returned in the POST /shares response.",
			"required": true,
			"type": "string"
		},
		"contactID": {
			"name": "contactID",
			"in": "path",
			"description": "Unique id related to a specific contact.",
			"required": true,
			"type": "string"
		},
		"itemUid": {
			"name": "itemUid",
			"in": "path",
			"description": "Unique id related to a specific item in a playlist.",
			"required": true,
			"type": "string"
		},
		"deep": {
			"name": "deep",
			"in": "query",
			"description": "Specifies whether the search should stop at the topmost deleted item in the tree (deep=false), or navigate into it and list all the deleted contents    (deep=true).",
			"required": false,
			"type": "boolean",
			"default": false
		},
		"virtualfolder": {
			"name": "virtualfolder",
			"in": "query",
			"description": "Folder that represents various client types at the root level and contains their respective data.",
			"required": true,
			"type": "string"
		},
		"virtualfolderFullview": {
			"name": "virtualfolder",
			"in": "query",
			"description": "Folder that represents various client types at the root level and contains their respective data. Defaulted to VZMOBILE.",
			"required": false,
			"type": "string"
		},
		"virtualfolderSearch": {
			"name": "virtualfolder",
			"in": "query",
			"description": "Folder that represents various client types at the root level and contains their respective data. Defaulted to VZMOBILE. For search across all virtual folders, give value as '*'",
			"required": false,
			"type": "string"
		},
		"filter_share": {
			"name": "filter",
			"in": "query",
			"description": "Filters the returned shares. Currently the value can only be 'outbound' (shared by the user).",
			"required": false,
			"default": "outbound",
			"type": "string"
		},
		"since": {
			"name": "since",
			"in": "query",
			"description": "The date and time, expressed in the W3C date and time format, after which messages should be returned.",
			"required": false,
			"type": "string"
		},
		"until": {
			"name": "until",
			"in": "query",
			"description": "The date and time, expressed in the W3C date and time format, up to which messages should be returned.",
			"required": false,
			"type": "string"
		},
		"cursor": {
			"name": "cursor",
			"in": "query",
			"description": "A cursor used in paginating the response. Cursors are returned in 'next' and 'prev' links in the response body. When cursor parameter is present other parameter values are ignored",
			"required": false,
			"type": "string"
		},
		"shareUid": {
			"name": "shareUid",
			"in": "path",
			"description": "The unique ID of the share.",
			"required": true,
			"type": "string"
		},
		"type_favorite": {
			"name": "type",
			"in": "query",
			"description": "Allow clients to restrict the listing favorites to files, folders or both",
			"required": false,
			"type": "string",
			"enum": [
				"file",
				"folder",
				"filefolder"
			],
			"default": "filefolder"
		},
		"filetype_favorite": {
			"name": "filetype",
			"in": "query",
			"description": "Allow clients to restrict the listing favorites to file of a single type - 'image', 'music', 'video', 'documents' or ‘all’",
			"required": false,
			"type": "string",
			"enum": [
				"image",
				"music",
				"video",
				"documents",
				"all"
			],
			"default": "all"
		},
		"createVirtualFolderName": {
			"name": "name",
			"in": "path",
			"description": "Name of the virtual folder",
			"required": true,
			"type": "string"
		}
	},
	"definitions": {
		"base_file_metadata": {
			"required": [
				"name",
				"parentPath",
				"checksum",
				"contentAccessible",
				"contentToken",
				"deleted",
				"extension",
				"size",
				"systemAttributes",
				"version",
				"versionCreated",
				"viewUid",
				"uri",
				"ciComplete",
				"contentPermissions"
			],
			"properties": {
				"name": {
					"type": "string",
					"description": "The name of the file"
				},
				"parentPath": {
					"type": "string",
					"description": "The folder where the file is located"
				},
				"checksum": {
					"type": "string",
					"description": "The file content's SHA-256 checksum value"
				},
				"contentAccessible": {
					"type": "boolean",
					"description": "If false, the file content is protected by copywrite and is not accessible to the user"
				},
				"contentToken": {
					"type": "string",
					"description": "A unique string representing the file. Will change if file content is updated.  Required for certain APIs, such as /thumbnails"
				},
				"deleted": {
					"type": "boolean",
					"description": "If true, the file has been logically deleted"
				},
				"extension": {
					"type": "string",
					"description": "The file's extension, as extracted from the filename"
				},
				"size": {
					"type": "integer",
					"format": "int64",
					"description": "The size of the file, in bytes"
				},
				"systemAttributes": {
					"description": "A set of file attributes.  The attribute set will vary depending on file type"
				},
				"version": {
					"type": "integer",
					"description": "File version.  This number increases when the file is updated"
				},
				"versionCreated": {
					"type": "string",
					"description": "Creation timestamp for the file's current version, in ISO-8601 format"
				},
				"viewUid": {
					"type": "array",
					"description": "Array of viewUid",
					"items": {
						"$ref": "#/definitions/viewUid"
					}
				},
				"uri": {
					"type": "string",
					"description": "Unique identifier of the resource"
				},
				"ciComplete": {
					"type": "boolean",
					"description": "Whether the content ingestion step has been completed on the file"
				},
				"contentPermissions": {
					"type": "string",
					"description": "Determines a file's accessibility. It can take the following values: SHARE(file has no restrictions and is shareable), VIEW(file is not shareable. All other operations are permitted) & BLOCK(file is not accessible. Only delete operation permitted)"
				}
			}
		},
		"file_metadata": {
			"allOf": [
				{
					"$ref": "#/definitions/base_file_metadata"
				},
				{
					"properties": {
						"shareAssociation": {
							"type": "array",
							"description": "Array of shareAssociation",
							"items": {
								"$ref": "#/definitions/shareAssociation"
							}
						}
					}
				}
			]
		},
		"file_metadata_list": {
			"type": "array",
			"items": {
				"$ref": "#/definitions/file_metadata"
			}
		},
		"base_file_metadata_list": {
			"type": "array",
			"items": {
				"$ref": "#/definitions/base_file_metadata"
			}
		},
		"base_folder_metadata": {
			"required": [
				"name",
				"parentPath",
				"size",
				"version",
				"versionCreated",
				"count",
				"deleted",
				"viewUid",
				"uri"
			],
			"properties": {
				"name": {
					"type": "string",
					"description": "The name of the folder"
				},
				"parentPath": {
					"type": "string",
					"description": "The name of the folder's parent folder"
				},
				"size": {
					"type": "integer",
					"format": "int64",
					"description": "The size of the folder, in bytes"
				},
				"version": {
					"type": "integer",
					"description": "Folder version.  This number increases when the folder content changes"
				},
				"versionCreated": {
					"type": "string",
					"description": "Creation timestamp for the folder's current version, in ISO-8601 format"
				},
				"count": {
					"type": "integer",
					"description": "The number of items the folder contains"
				},
				"deleted": {
					"type": "boolean",
					"description": "If true, the folder has been logically deleted"
				},
				"viewUid": {
					"type": "array",
					"description": "Array of viewUid",
					"items": {
						"required": [
							"type",
							"viewType",
							"uid"
						],
						"properties": {
							"type": {
								"type": "string",
								"description": "Shared Type"
							},
							"viewType": {
								"type": "string",
								"description": "Type of view"
							},
							"uid": {
								"type": "string",
								"description": "Unique id of view"
							}
						}
					}
				},
				"uri": {
					"type": "string",
					"description": "Unique identifier of the resource"
				}
			}
		},
		"folder_metadata": {
			"allOf": [
				{
					"$ref": "#/definitions/base_folder_metadata"
				},
				{
					"properties": {
						"shareAssociation": {
							"type": "array",
							"description": "Array of shareAssociation",
							"items": {
								"required": [
									"uid",
									"visibility",
									"name",
									"type"
								],
								"properties": {
									"uid": {
										"type": "string",
										"description": "Unique id"
									},
									"visibility": {
										"type": "string",
										"description": "Visibility of share association"
									},
									"name": {
										"type": "string",
										"description": "Name"
									},
									"type": {
										"type": "string",
										"description": "Type of share association"
									}
								}
							}
						}
					}
				}
			]
		},
		"viewUid": {
			"required": [
				"type",
				"viewType",
				"uid"
			],
			"properties": {
				"type": {
					"type": "string",
					"description": "Shared Type"
				},
				"viewType": {
					"type": "string",
					"description": "Type of view"
				},
				"uid": {
					"type": "string",
					"description": "Unique id of view"
				}
			}
		},
		"shareAssociation": {
			"required": [
				"uid",
				"visibility",
				"name",
				"type"
			],
			"properties": {
				"uid": {
					"type": "string",
					"description": "Unique id"
				},
				"visibility": {
					"type": "string",
					"description": "Visibility of share association"
				},
				"name": {
					"type": "string",
					"description": "Name"
				},
				"type": {
					"type": "string",
					"description": "Type of share association"
				}
			}
		},
		"folder_metadata_list": {
			"type": "array",
			"items": {
				"$ref": "#/definitions/folder_metadata"
			}
		},
		"base_folder_metadata_list": {
			"type": "array",
			"items": {
				"$ref": "#/definitions/base_folder_metadata"
			}
		},
		"deleted_list": {
			"required": [
				"path"
			],
			"properties": {
				"path": {
					"type": "array",
					"items": {
						"type": "string"
					},
					"description": "An array of deleted file and folder paths."
				}
			}
		},
		"parent_folder_metadata": {
			"allOf": [
				{
					"$ref": "#/definitions/folder_metadata"
				},
				{
					"properties": {
						"file": {
							"$ref": "#/definitions/file_metadata_list"
						},
						"folder": {
							"$ref": "#/definitions/folder_metadata_list"
						}
					}
				}
			]
		},
		"metadata_response": {
			"properties": {
				"file": {
					"$ref": "#/definitions/file_metadata"
				},
				"folder": {
					"$ref": "#/definitions/parent_folder_metadata"
				}
			}
		},
		"fullview_response": {
			"required": [
				"data"
			],
			"properties": {
				"data": {
					"$ref": "#/definitions/fullview_data"
				}
			}
		},
		"virtualfolder_response": {
			"required": [
				"name",
				"parentPath",
				"size",
				"versionCreated",
				"immutable"
			],
			"properties": {
				"name": {
					"type": "string",
					"description": "The name of the virtual folder"
				},
				"parentPath": {
					"type": "string",
					"description": "The name of the parent folder"
				},
				"size": {
					"type": "integer",
					"format": "int64",
					"description": "The size of the virtual folder, in bytes"
				},
				"immutable": {
					"type": "boolean",
					"default": false,
					"description": "Whether virtual folder is immutable"
				},
				"versionCreated": {
					"type": "string",
					"description": "Creation timestamp for the virtual folder's current version, in ISO-8601 format"
				}
			}
		},
		"renameVirtualFolderRequest": {
			"required": [
				"src",
				"target"
			],
			"properties": {
				"src": {
					"type": "string",
					"description": "Name of the virtual folder."
				},
				"target": {
					"type": "string",
					"description": "Changed name of the virtual folder."
				}
			}
		},
		"fullview_data": {
			"properties": {
				"file": {
					"$ref": "#/definitions/base_file_metadata_list"
				},
				"folder": {
					"$ref": "#/definitions/base_folder_metadata_list"
				},
				"deleted": {
					"$ref": "#/definitions/deleted_list"
				}
			}
		},
		"trash_response": {
			"required": [
				"count",
				"data"
			],
			"properties": {
				"count": {
					"type": "integer",
					"format": "int64",
					"description": "Total number of search matches"
				},
				"data": {
					"$ref": "#/definitions/trash_data"
				}
			}
		},
		"trash_data": {
			"properties": {
				"file": {
					"$ref": "#/definitions/base_file_metadata_list"
				},
				"folder": {
					"$ref": "#/definitions/base_folder_metadata_list"
				}
			}
		},
		"searchresult_response": {
			"required": [
				"count"
			],
			"properties": {
				"count": {
					"type": "integer",
					"format": "int64",
					"description": "Total number of search matches"
				},
				"file": {
					"$ref": "#/definitions/file_metadata_list"
				},
				"folder": {
					"$ref": "#/definitions/folder_metadata_list"
				}
			}
		},
		"account_response": {
			"required": [
				"usage",
				"id"
			],
			"properties": {
				"id": {
					"type": "string",
					"description": "The user identifier."
				},
				"alias": {
					"type": "string",
					"description": "Username. Available only for MDN accounts."
				},
				"usage": {
					"required": [
						"quota",
						"quotaUsed"
					],
					"properties": {
						"quota": {
							"type": "integer",
							"format": "int64",
							"description": "Total quota space available to the user on the cloud in bytes"
						},
						"quotaUsed": {
							"type": "integer",
							"format": "int64",
							"description": "Total quota space used in bytes"
						}
					}
				}
			}
		},
		"playlist": {
			"required": [
				"uid",
				"name",
				"type",
				"mimeTypeRegex",
				"creationDate",
				"lastModifiedDate",
				"uri"
			],
			"properties": {
				"uid": {
					"type": "string",
					"description": "The uid of the playlist"
				},
				"name": {
					"type": "string",
					"description": "The name of the playlist"
				},
				"type": {
					"type": "string",
					"description": "The type of playlist"
				},
				"mimeTypeRegex": {
					"type": "string",
					"description": "Regex pattern for playlist"
				},
				"paths": {
					"type": "array",
					"items": {
						"type": "string"
					},
					"description": "Array of paths"
				},
				"creationDate": {
					"type": "string",
					"description": "Timestamp for creation date of playlist"
				},
				"lastModifiedDate": {
					"type": "string",
					"description": "Timestamp for last modified date of playlist"
				},
				"uri": {
					"type": "string",
					"description": "Unique identifier of the resource"
				},
				"shareAssociation": {
					"type": "array",
					"description": "Array of shareAssociation",
					"items": {
						"$ref": "#/definitions/shareAssociation"
					}
				}
			}
		},
		"playlist_item": {
			"required": [
				"filename",
				"path",
				"mimeType",
				"size",
				"versionCreated",
				"fileAttribute",
				"contentToken",
				"checksum",
				"contentAccessible",
				"extension",
				"tags",
				"uri"
			],
			"properties": {
				"filename": {
					"type": "string",
					"description": "Name of the file"
				},
				"path": {
					"type": "string",
					"description": "Path of the file"
				},
				"mimeType": {
					"type": "string",
					"description": "Type of content"
				},
				"size": {
					"type": "integer",
					"description": "Size of the item"
				},
				"versionCreated": {
					"type": "string",
					"description": "Timestamp of version created date"
				},
				"fileAttribute": {
					"$ref": "#/definitions/playlist_item"
				},
				"contentToken": {
					"type": "string",
					"description": "Unique token for content"
				},
				"checksum": {
					"type": "string",
					"description": "Checksum detail"
				},
				"contentAccessible": {
					"type": "boolean",
					"description": "Show accessibility of the content"
				},
				"extension": {
					"type": "string",
					"description": "File extension"
				},
				"tags": {
					"type": "object"
				},
				"uri": {
					"type": "string",
					"description": "Unique identifier of the resource"
				}
			}
		},
		"playlist_add_request": {
			"required": [
				"add"
			],
			"properties": {
				"add": {
					"type": "array",
					"items": {
						"type": "string"
					},
					"description": "An array of paths to items."
				}
			}
		},
		"restore_trash_request": {
			"required": [
				"path"
			],
			"properties": {
				"path": {
					"type": "array",
					"items": {
						"type": "string"
					},
					"description": "An array of paths of trashed items."
				}
			}
		},
		"updateTags_request": {
			"required": [
				"uri",
				"Tags"
			],
			"properties": {
				"uri": {
					"type": "string",
					"description": "URI of the resource. This is a URI value obtained from a fullview or metadata response"
				},
				"Tags": {
					"type": "string",
					"description": "A set of Tags"
				},
				"createVersion": {
					"type": "boolean",
					"description": "If 'true', creates a new version of the file or folder. Defaults to 'false'.",
					"default": false
				}
			}
		},
		"flashback_request": {
			"required": [
				"files"
			],
			"properties": {
				"files": {
					"type": "array",
					"items": {
						"$ref": "#/definitions/image_flashback_response"
					},
					"description": "An array of paths to items."
				}
			}
		},
		"updateFavorite_request": {
			"required": [
				"uri"
			],
			"properties": {
				"uri": {
					"type": "array",
					"items": {
						"type": "string"
					},
					"description": "URI of the resource. This is a URI value obtained from a fullview or metadata response"
				},
				"createVersion": {
					"type": "boolean",
					"description": "If 'true', creates a new version of the file or folder. Defaults to 'false'.",
					"default": false
				}
			}
		},
		"playlist_add_response": {
			"required": [
				"paths"
			],
			"properties": {
				"paths": {
					"type": "array",
					"items": {
						"type": "string"
					},
					"description": "List of paths"
				}
			}
		},
		"playlist_request": {
			"required": [
				"name",
				"type",
				"paths"
			],
			"properties": {
				"name": {
					"type": "string",
					"description": "Name of the playlist."
				},
				"paths": {
					"type": "array",
					"items": {
						"type": "string"
					},
					"description": "An array of paths to items."
				},
				"type": {
					"type": "string",
					"description": "The type of the playlist. Can be one of 'image', 'music', 'video' or 'image-video'"
				}
			}
		},
		"playlist_base": {
			"required": [
				"name",
				"type"
			],
			"properties": {
				"name": {
					"type": "string",
					"description": "The name of the playlist"
				},
				"type": {
					"type": "string",
					"description": "The type of the playlist. Can be one of 'image', 'music', 'video' or 'image-video'"
				}
			}
		},
		"folder_request": {
			"required": [
				"name",
				"path",
				"override"
			],
			"properties": {
				"name": {
					"type": "string",
					"description": "Folder name to be created."
				},
				"path": {
					"type": "string",
					"description": "Path where the folder has to be created."
				},
				"override": {
					"type": "string",
					"description": "Specifies what happens if a folder of the same name exists at the target path. Set to 'overwrite' to overwrite the existing folder. Set to 'modify' to treat the new folder as a modification of the old folder. If the 'override' parameter is not set, the following algorithm is applied if the existing folder has a 'deleted' attribute set to 'true', the folder is overwritten; if the old folder's 'deleted' attribute is false or not set, the folder is modified."
				}
			}
		},
		"fops_copy_request": {
			"required": [
				"src",
				"target",
				"safe",
				"conflictsolve",
				"override"
			],
			"properties": {
				"src": {
					"type": "string",
					"description": "Full path of the file/folder for copy/move/rename operations."
				},
				"target": {
					"type": "string",
					"description": "Full path of the target file/folder for copy/move/rename operations. In case of files the full/changed name should be included in the target."
				},
				"safe": {
					"type": "boolean",
					"default": false,
					"description": "If 'true', ensures that name conflicts are resolved according to the value of the 'conflictsolve' parameter. Defaults to 'false', in which case the operation will overwrite an existing file/folder of the same name."
				},
				"conflictsolve": {
					"type": "string",
					"description": "Defines how name conflicts are resolved, if the 'safe' parameter is set to 'true'. If set to 'copy', a new file is written to the destination folder with a non-conflicting name. If not set, the operation is rolled back and operation returns '409 Conflict'."
				},
				"override": {
					"type": "string",
					"description": "Specifies what happens if a file of the same name exists at the target path and the 'safe' parameter is not set. Set to 'overwrite' to treat the copied file as completely new. Set to 'modify' to treat the new file as a modification of the old one. If the 'override' parameter is not set, the following algorithm is used: if the existing file has a 'deleted' attribute set to 'true', the file is overwritten; if the old file's 'deleted' attribute is false or not set, the file is modified."
				}
			}
		},
		"metadata_update_request": {
			"required": [
				"name",
				"value",
				"uri"
			],
			"properties": {
				"name": {
					"type": "string",
					"description": "The name of the system attribute to be updated"
				},
				"value": {
					"type": "string",
					"description": "The value of the system attribute"
				},
				"uri": {
					"type": "string",
					"description": "The URI to the file which needs to be updated"
				}
			}
		},
		"fops_change_request": {
			"required": [
				"src",
				"target",
				"safe",
				"conflictsolve"
			],
			"properties": {
				"src": {
					"type": "string",
					"description": "Full path of the file/folder for copy/move/rename operations."
				},
				"target": {
					"type": "string",
					"description": "Full path of the target file/folder for copy/move/rename operations. In case of files the full/changed name should be included in the target."
				},
				"safe": {
					"type": "boolean",
					"default": false,
					"description": "If 'true', ensures that name conflicts are resolved according to the value of the 'conflictsolve' parameter. Defaults to 'false', in which case the operation will overwrite an existing file/folder of the same name."
				},
				"conflictsolve": {
					"type": "string",
					"description": "Defines how name conflicts are resolved, if the 'safe' parameter is set to 'true'. If set to 'copy', a new file is written to the destination folder with a non-conflicting name. If not set, the operation is rolled back and operation returns '409 Conflict'."
				}
			}
		},
		"contacts": {
			"required": [
				"contactsResponse"
			],
			"properties": {
				"contactsResponse": {
					"$ref": "#/definitions/contacts_response"
				}
			}
		},
		"contacts_response": {
			"required": [
				"account"
			],
			"properties": {
				"account": {
					"$ref": "#/definitions/contacts_account"
				}
			}
		},
		"contacts_account": {
			"required": [
				"userid",
				"addrbook"
			],
			"properties": {
				"userid": {
					"type": "string",
					"description": "Unique identifier for the current user"
				},
				"addrbook": {
					"$ref": "#/definitions/contacts_addrbook"
				}
			}
		},
		"contacts_addrbook": {
			"required": [
				"updated",
				"contacts"
			],
			"properties": {
				"updated": {
					"type": "string",
					"description": "Timestamp of latest update"
				},
				"contacts": {
					"$ref": "#/definitions/contacts_contacts"
				}
			}
		},
		"contacts_contacts": {
			"required": [
				"itemcount",
				"contact"
			],
			"properties": {
				"itemcount": {
					"type": "integer",
					"description": "Number of contacts"
				},
				"contact": {
					"type": "array",
					"description": "Array of contacts",
					"items": {
						"$ref": "#/definitions/contact"
					}
				}
			}
		},
		"contact_request": {
			"required": [
				"version"
			],
			"properties": {
				"firstname": {
					"type": "string",
					"description": "Contact's given name"
				},
				"lastname": {
					"type": "string",
					"description": "Contact's surname"
				},
				"middlename": {
					"type": "string",
					"description": "Contact's middle name"
				},
				"nameprefix": {
					"type": "string",
					"description": "Contact's name prefix"
				},
				"namesuffix": {
					"type": "string",
					"description": "Contact's name suffix"
				},
				"nickname": {
					"type": "string",
					"description": "Contacts's nickname"
				},
				"birthday": {
					"type": "string",
					"description": "Contacts's birth date in the format YYYY-MM-DD"
				},
				"anniversary": {
					"type": "string",
					"description": "Contacts's anniversary date in the format YYYY-MM-DD"
				},
				"spouse": {
					"type": "string",
					"description": "Contacts's spouse name"
				},
				"children": {
					"type": "string",
					"description": "Contacts's children names"
				},
				"orgname": {
					"type": "string",
					"description": "Contacts's company name"
				},
				"orgunit": {
					"type": "string",
					"description": "Contacts's company department"
				},
				"jobtitle": {
					"type": "string",
					"description": "Contacts's job titile"
				},
				"profession": {
					"type": "string",
					"description": "Contacts's profession"
				},
				"assistant": {
					"type": "string",
					"description": "Contacts's assistant name"
				},
				"gender": {
					"type": "string",
					"description": "Contacts's gender. Can have a value as M(ale), F(emale) or U(ndefined)"
				},
				"relationship": {
					"type": "string",
					"description": "Contacts's relationship with the person"
				},
				"maritalstatus": {
					"type": "string",
					"description": "Contacts's marital status"
				},
				"source": {
					"type": "string",
					"description": "Origin of the contact"
				},
				"note": {
					"type": "string",
					"description": "Arbitrary text associated with this contact"
				},
				"incaseofemergency": {
					"type": "boolean",
					"description": "Marked true for emergency contacts. Maximum 3 contacts can be defined as incaseofemergency.",
					"default": false
				},
				"favorite": {
					"type": "boolean",
					"description": "Marked true for favorite contacts",
					"default": false
				},
				"tel": {
					"type": "array",
					"description": "List of contact's telephone numbers",
					"items": {
						"$ref": "#/definitions/contacts_tel"
					}
				},
				"email": {
					"type": "array",
					"description": "List of contact's email addresses",
					"items": {
						"$ref": "#/definitions/contacts_email"
					}
				},
				"address": {
					"type": "array",
					"description": "List of contact's addresses",
					"items": {
						"$ref": "#/definitions/contacts_address"
					}
				},
				"im": {
					"type": "array",
					"description": "List of contact's IM addresses",
					"items": {
						"$ref": "#/definitions/contacts_im"
					}
				},
				"version": {
					"type": "integer",
					"description": "The current version of the contact."
				}
			}
		},
		"contact_create_request": {
			"properties": {
				"firstname": {
					"type": "string",
					"description": "Contact's given name"
				},
				"lastname": {
					"type": "string",
					"description": "Contact's surname"
				},
				"middlename": {
					"type": "string",
					"description": "Contact's middle name"
				},
				"nameprefix": {
					"type": "string",
					"description": "Contact's name prefix"
				},
				"namesuffix": {
					"type": "string",
					"description": "Contact's name suffix"
				},
				"nickname": {
					"type": "string",
					"description": "Contacts's nickname"
				},
				"birthday": {
					"type": "string",
					"description": "Contacts's birth date in the format YYYY-MM-DD"
				},
				"anniversary": {
					"type": "string",
					"description": "Contacts's anniversary date in the format YYYY-MM-DD"
				},
				"spouse": {
					"type": "string",
					"description": "Contacts's spouse name"
				},
				"children": {
					"type": "string",
					"description": "Contacts's children names"
				},
				"orgname": {
					"type": "string",
					"description": "Contacts's company name"
				},
				"orgunit": {
					"type": "string",
					"description": "Contacts's company department"
				},
				"jobtitle": {
					"type": "string",
					"description": "Contacts's job titile"
				},
				"profession": {
					"type": "string",
					"description": "Contacts's profession"
				},
				"assistant": {
					"type": "string",
					"description": "Contacts's assistant name"
				},
				"gender": {
					"type": "string",
					"description": "Contacts's gender. Can have a value as M(ale), F(emale) or U(ndefined)"
				},
				"relationship": {
					"type": "string",
					"description": "Contacts's relationship with the person"
				},
				"maritalstatus": {
					"type": "string",
					"description": "Contacts's marital status"
				},
				"source": {
					"type": "string",
					"description": "Origin of the contact"
				},
				"note": {
					"type": "string",
					"description": "Arbitrary text associated with this contact"
				},
				"incaseofemergency": {
					"type": "boolean",
					"description": "Marked true for emergency contacts. Maximum 3 contacts can be defined as incaseofemergency.",
					"default": false
				},
				"favorite": {
					"type": "boolean",
					"description": "Marked true for favorite contacts",
					"default": false
				},
				"tel": {
					"type": "array",
					"description": "List of contact's telephone numbers",
					"items": {
						"$ref": "#/definitions/contacts_tel"
					}
				},
				"email": {
					"type": "array",
					"description": "List of contact's email addresses",
					"items": {
						"$ref": "#/definitions/contacts_email"
					}
				},
				"address": {
					"type": "array",
					"description": "List of contact's addresses",
					"items": {
						"$ref": "#/definitions/contacts_address"
					}
				},
				"im": {
					"type": "array",
					"description": "List of contact's IM addresses",
					"items": {
						"$ref": "#/definitions/contacts_im"
					}
				}
			}
		},
		"contact": {
			"properties": {
				"firstname": {
					"type": "string",
					"description": "Contact's given name"
				},
				"lastname": {
					"type": "string",
					"description": "Contact's surname"
				},
				"middlename": {
					"type": "string",
					"description": "Contact's middle name"
				},
				"nameprefix": {
					"type": "string",
					"description": "Contact's name prefix"
				},
				"namesuffix": {
					"type": "string",
					"description": "Contact's name suffix"
				},
				"nickname": {
					"type": "string",
					"description": "Contacts's nickname"
				},
				"birthday": {
					"type": "string",
					"description": "Contacts's birth date"
				},
				"anniversary": {
					"type": "string",
					"description": "Contacts's anniversary date"
				},
				"spouse": {
					"type": "string",
					"description": "Contacts's spouse name"
				},
				"children": {
					"type": "string",
					"description": "Contacts's children names"
				},
				"orgname": {
					"type": "string",
					"description": "Contacts's company name"
				},
				"orgunit": {
					"type": "string",
					"description": "Contacts's company department"
				},
				"jobtitle": {
					"type": "string",
					"description": "Contacts's job titile"
				},
				"profession": {
					"type": "string",
					"description": "Contacts's profession"
				},
				"assistant": {
					"type": "string",
					"description": "Contacts's assistant name"
				},
				"gender": {
					"type": "string",
					"description": "Contacts's gender. Can have a value as M(ale), F(emale) or U(ndefined)"
				},
				"relationship": {
					"type": "string",
					"description": "Contacts's relationship with the person"
				},
				"maritalstatus": {
					"type": "string",
					"description": "Contacts's marital status"
				},
				"source": {
					"type": "string",
					"description": "Origin of the contact"
				},
				"note": {
					"type": "string",
					"description": "Arbitrary text associated with this contact"
				},
				"created": {
					"type": "string",
					"description": "Timestamp the contact was created"
				},
				"modified": {
					"type": "string",
					"description": "Timestamp the contact was last updated"
				},
				"incaseofemergency": {
					"type": "boolean",
					"description": "Marked true for emergency contacts. Maximum 3 contacts can be defined as incaseofemergency.",
					"default": false
				},
				"favorite": {
					"type": "boolean",
					"description": "Marked true for favorite contacts",
					"default": false
				},
				"tel": {
					"type": "array",
					"description": "List of contact's telephone numbers",
					"items": {
						"$ref": "#/definitions/contacts_tel"
					}
				},
				"email": {
					"type": "array",
					"description": "List of contact's email addresses",
					"items": {
						"$ref": "#/definitions/contacts_email"
					}
				},
				"address": {
					"type": "array",
					"description": "List of contact's addresses",
					"items": {
						"$ref": "#/definitions/contacts_address"
					}
				},
				"im": {
					"type": "array",
					"description": "List of contact's IM addresses",
					"items": {
						"$ref": "#/definitions/contacts_im"
					}
				},
				"version": {
					"type": "integer",
					"description": "Contact version.  This number increases when the contact is updated"
				},
				"id": {
					"type": "string",
					"description": "Unique identifier for this contact"
				}
			}
		},
		"contacts_tel": {
			"required": [
				"type",
				"indx",
				"number",
				"preference"
			],
			"properties": {
				"type": {
					"type": "string",
					"description": "Type of telephone number, i.e., 'assistant', 'businessfax', 'business', 'callback', 'car', 'companymain', 'homefax', 'home', 'mobile', 'otherfax', 'pager', 'primaryfax', 'primary', 'radio', 'school', 'telex', 'ttydd', 'videophone', 'voipphone', 'other'"
				},
				"indx": {
					"type": "integer",
					"description": "When combined with 'type', provides a unique identifier for the entry"
				},
				"number": {
					"type": "string",
					"description": "Telephone number"
				},
				"preference": {
					"type": "integer",
					"description": "When sorting, lower numbers indicate a higher preference. The value must be less than 100."
				}
			}
		},
		"contacts_email": {
			"required": [
				"type",
				"indx",
				"address",
				"preference"
			],
			"properties": {
				"type": {
					"type": "string",
					"description": "Type of email address, i.e., 'business', 'personal', 'other'."
				},
				"indx": {
					"type": "integer",
					"description": "When combined with 'type', provides a unique identifier for the entry"
				},
				"address": {
					"type": "string",
					"description": "Email address"
				},
				"preference": {
					"type": "integer",
					"description": "For sorting. Lower numbers indicate a higher preference. The value must be less than 100."
				}
			}
		},
		"contacts_address": {
			"required": [
				"type",
				"indx",
				"preference"
			],
			"properties": {
				"type": {
					"type": "string",
					"description": "Type of address, i.e., 'home', 'business', 'personal', 'primary', 'other'"
				},
				"indx": {
					"type": "integer",
					"description": "When combined with 'type', provides a unique identifier for the entry"
				},
				"pobox": {
					"type": "string"
				},
				"street": {
					"type": "string"
				},
				"apartment": {
					"type": "string"
				},
				"city": {
					"type": "string"
				},
				"state": {
					"type": "string"
				},
				"zipcode": {
					"type": "string"
				},
				"country": {
					"type": "string"
				},
				"preference": {
					"type": "integer",
					"description": "For sorting. Lower numbers indicate a higher preference. The value must be less than 100."
				}
			}
		},
		"contacts_im": {
			"required": [
				"address",
				"preference",
				"type"
			],
			"properties": {
				"type": {
					"type": "string",
					"description": "Type of address, i.e., 'aim', 'icq', 'yahoo', 'google', 'skype', 'jabber', 'msn', 'other'"
				},
				"address": {
					"type": "string",
					"description": "IM contact string"
				},
				"preference": {
					"type": "integer",
					"description": "For sorting. Lower numbers indicate a higher preference. The value must be less than 100."
				}
			}
		},
		"createShare_request": {
			"required": [
				"resources"
			],
			"properties": {
				"name": {
					"type": "string",
					"description": "The name of the share."
				},
				"resources": {
					"type": "array",
					"items": {
						"$ref": "#/definitions/resource_request"
					},
					"description": "An array of resource request object."
				},
				"expiresIn": {
					"type": "integer",
					"description": "The time to live of the share in seconds. The value 0 signifies the share will never expire. Minimum value is 300. If not provided, defaults to 86400."
				}
			}
		},
		"share_response_list": {
			"properties": {
				"count": {
					"type": "integer",
					"description": "The total number of shares"
				},
				"links": {
					"type": "array",
					"items": {
						"$ref": "#/definitions/link_response"
					}
				},
				"share": {
					"type": "array",
					"items": {
						"$ref": "#/definitions/share_response"
					}
				}
			}
		},
		"link_response": {
			"required": [
				"rel",
				"link"
			],
			"properties": {
				"rel": {
					"type": "string",
					"description": "The link identifier."
				},
				"link": {
					"type": "string",
					"description": "The URI of the link."
				}
			}
		},
		"share_response": {
			"required": [
				"name"
			],
			"properties": {
				"links": {
					"type": "array",
					"items": {
						"required": [
							"rel",
							"link"
						],
						"properties": {
							"rel": {
								"type": "string",
								"description": "The link identifier."
							},
							"link": {
								"type": "string",
								"description": "The URI of the link."
							}
						}
					}
				},
				"uid": {
					"type": "string",
					"description": "The resource identifier."
				},
				"name": {
					"type": "string",
					"description": "The name of the share."
				},
				"owner": {
					"description": "The owner of the share"
				},
				"sharer": {
					"description": "The sharer of the share"
				},
				"totalResourceCount": {
					"type": "integer",
					"description": "The total count of shared resources."
				},
				"expiresIn": {
					"type": "integer",
					"description": "The time to live of the share in seconds."
				},
				"expirationDate": {
					"type": "string",
					"description": "Expiration date on the share."
				},
				"creationDate": {
					"type": "string",
					"description": "The date and time the share was created."
				},
				"lastModifiedDate": {
					"type": "string",
					"description": "The date and time the share was last modified from the perspective of the owner."
				},
				"inboundLastModifiedDate": {
					"type": "string",
					"description": "The date and time the share was last modified from the perspective of a member."
				},
				"publicInviteKey": {
					"type": "string",
					"description": "The invite key of a public share."
				},
				"resources": {
					"type": "array",
					"description": "Array of resources",
					"items": {
						"required": [
							"name",
							"type"
						],
						"properties": {
							"uid": {
								"type": "string",
								"description": "The resource identifier."
							},
							"name": {
								"type": "string",
								"description": "Name of the resource."
							},
							"type": {
								"type": "string",
								"description": "Type of the resource."
							},
							"subType": {
								"type": "string",
								"description": "SubType of the resource."
							},
							"location": {
								"type": "string",
								"description": "Location of the resource."
							},
							"url": {
								"type": "string",
								"description": "Direct download link for the resource. Applicable for file resources only."
							},
							"size": {
								"type": "integer",
								"description": "Size of the resource."
							},
							"resourceId": {
								"type": "string",
								"description": "Id of the resource."
							},
							"contentToken": {
								"type": "string",
								"description": "ContentToken of the resource."
							},
							"checksum": {
								"type": "string",
								"description": "Checksum of the resource."
							},
							"lastModifiedDate": {
								"type": "string",
								"description": "LastModifiedDate of the resource."
							}
						}
					}
				}
			}
		},
		"createShare_response": {
			"allOf": [
				{
					"$ref": "#/definitions/share_response"
				}
			]
		},
		"resource_request": {
			"required": [
				"name",
				"location"
			],
			"properties": {
				"name": {
					"type": "string",
					"description": "Name of the resource."
				},
				"type": {
					"type": "string",
					"description": "Type of the resource: file/folder/playlist"
				},
				"subType": {
					"type": "string",
					"description": "(Optional) subtype of the resource: image/video/audio.  Used to aid playback of the file when viewed in a browser"
				},
				"location": {
					"type": "string",
					"description": "Location of the resource. This is a URI value obtained from a fullview, metadata, or playlist response"
				},
				"size": {
					"type": "integer",
					"description": "Size of the resource. Mandatory in case of file share only."
				}
			}
		},
		"resource_response": {
			"required": [
				"name",
				"type"
			],
			"properties": {
				"uid": {
					"type": "string",
					"description": "The resource identifier."
				},
				"name": {
					"type": "string",
					"description": "Name of the resource."
				},
				"type": {
					"type": "string",
					"description": "Type of the resource."
				},
				"subType": {
					"type": "string",
					"description": "SubType of the resource."
				},
				"location": {
					"type": "string",
					"description": "Location of the resource."
				},
				"url": {
					"type": "string",
					"description": "Direct download link for the resource. Applicable for file resources only."
				},
				"size": {
					"type": "integer",
					"description": "Size of the resource."
				},
				"resourceId": {
					"type": "string",
					"description": "Id of the resource."
				},
				"contentToken": {
					"type": "string",
					"description": "ContentToken of the resource."
				},
				"checksum": {
					"type": "string",
					"description": "Checksum of the resource."
				},
				"lastModifiedDate": {
					"type": "string",
					"description": "LastModifiedDate of the resource."
				}
			}
		},
		"uploadurls": {
			"required": [
				"uploadurl"
			],
			"properties": {
				"uploadurl": {
					"type": "string",
					"description": "The upload url with the uploadid to upload the binary content of the file."
				},
				"commiturl": {
					"type": "string",
					"description": "The commit url to create the file after binary content is uploaded in chunks."
				}
			}
		},
		"error_response": {
			"required": [
				"error_code",
				"error_description"
			],
			"properties": {
				"error_code": {
					"type": "string",
					"description": "A unique code identifying the error"
				},
				"error_description": {
					"type": "string",
					"description": "A detailed description of the error"
				}
			}
		},
		"tags_response": {
			"required": [
				"Tags"
			],
			"properties": {
				"Tags": {
					"type": "string",
					"description": "A set of Tags"
				}
			}
		},
		"flashback_response": {
			"required": [
				"latest"
			],
			"properties": {
				"latest": {
					"description": "The latest captured image having image score",
					"$ref": "#/definitions/image_flashback_response"
				},
				"flashback": {
					"description": "A set of images for each time frame",
					"$ref": "#/definitions/flashback_list"
				}
			}
		},
		"flashback_list": {
			"properties": {
				"<year>": {
					"type": "array",
					"items": {
						"$ref": "#/definitions/image_flashback_response"
					}
				}
			}
		},
		"image_flashback_response": {
			"required": [
				"name",
				"parentPath",
				"systemAttributes"
			],
			"properties": {
				"name": {
					"type": "string",
					"description": "The name of the file"
				},
				"parentPath": {
					"type": "string",
					"description": "The folder where the file is located"
				},
				"systemAttributes": {
					"description": "A set of file attributes.  The attribute set will vary depending on file type"
				}
			}
		}
	},
	"securityDefinitions": {
		"files_auth": {
			"type": "oauth2",
			"flow": "accessCode",
			"authorizationUrl": "https://api.cloudapi.verizon.com/cloud/1/oauth2/authorize",
			"tokenUrl": "https://api.cloudapi.verizon.com/cloud/1/oauth2/token",
			"scopes": {
				"full_access": "I agree to allow this website to access my application account to try out the API."
			}
		}
	}
}

Copyright © 2015-2017, Verizon and/or its Licensors. All rights reserved.