openapi: 3.0.1
info:
title: Fotoware API
description: |
This reference documents the available endpoints for Fotoware's API.
Click the Authorize button at the top of the page to try the API with your own Fotoware as a Service tenant.
To enable authorization and testing of the API on an on-premises server, please follow the instructions in our software documentation
version: 1.0.0
externalDocs:
description: Go into more details in our API Documentation
url: https://learn.fotoware.com/en_US/integrations-and-apis
servers:
- url: ''
security:
- FotowareAccessToken: []
paths:
/fotoweb/:
get:
tags:
- API Entry Points
security: [] # No security
summary: Public entry point
description: The Public entry point is for unauthenticated, read-only guest access. It is only available if Guest access
is enabled and licensed on the FotoWeb server.
responses:
'200':
description: OK. Call successfuly completed
content:
application/json:
schema:
$ref: '#/components/schemas/APIDescriptor'
application/vnd.fotoware.api-descriptor+json:
schema:
$ref: '#/components/schemas/APIDescriptor'
/fotoweb/me/:
get:
tags:
- API Entry Points
summary: Private entry point
description: The Private entry point allows authenticated access to the server to view and modify data. It requires
authentication, either as administrator (server-to-server authentication) or as a specific user.
responses:
'200':
description: OK. Call successfuly completed
content:
application/json:
schema:
$ref: '#/components/schemas/FullAPIDescriptor'
application/vnd.fotoware.full-api-descriptor+json:
schema:
$ref: '#/components/schemas/FullAPIDescriptor'
'401':
description: Unauthorized. Access is denied due to invalid credentials
/fotoweb/albums/:
get:
tags:
- Albums
summary: |
Lists the public albums in the DAM. The list contains albums which are shared in Fotoware.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CollectionList'
application/vnd.fotoware.collectionlist+json:
schema:
$ref: '#/components/schemas/CollectionList'
/fotoweb/me/albums/:
get:
tags:
- Albums
summary: |
Lists the albums accessible by the current user/access token. This list contains all albums that the user can access. Use the q parameter to search in multiple albums/collections (search in name, description and tags elements).
parameters:
- name: q
in: query
description: Query for asset(s). See Collection Queries for more information on querying.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CollectionList'
application/vnd.fotoware.collectionlist+json:
schema:
$ref: '#/components/schemas/CollectionList'
/fotoweb/me/albums/mine/:
get:
tags:
- Albums
summary: Lists the albums owned by the current user/access token.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CollectionList'
application/vnd.fotoware.collectionlist+json:
schema:
$ref: '#/components/schemas/CollectionList'
/fotoweb/me/albums/shared-with-me/:
get:
tags:
- Albums
summary: List the albums shared with the current user/access token.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CollectionList'
application/vnd.fotoware.collectionlist+json:
schema:
$ref: '#/components/schemas/CollectionList'
/fotoweb/me/albums/archived/:
get:
tags:
- Albums
summary: List the archived albums owned by the current user/access token.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CollectionList'
application/vnd.fotoware.collectionlist+json:
schema:
$ref: '#/components/schemas/CollectionList'
/fotoweb/me/albums/deleted/:
get:
tags:
- Albums
summary: List the deleted albums owned by the current user/access token.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CollectionList'
application/vnd.fotoware.collectionlist+json:
schema:
$ref: '#/components/schemas/CollectionList'
/fotoweb/me/albums/contribute/:
get:
tags:
- Albums
summary: List the albums contributed to by the current user/access token.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CollectionList'
application/vnd.fotoware.collectionlist+json:
schema:
$ref: '#/components/schemas/CollectionList'
/fotoweb/me/people/:
get:
tags:
- Albums sharing
summary: Search among the users and groups you have permission to share albums with
parameters:
- name: q
in: query
description: |
Query for user(s) and group(s), e.g. q=consumer
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PeopleList'
application/vnd.fotoware.people-list+json:
schema:
$ref: '#/components/schemas/PeopleList'
'400':
description: 400 Bad request
'401':
description: 401 Unauthorized
/fotoweb/users/{userid}/albums/{albumid}/:
get:
tags:
- Albums sharing
summary: Get all information for an album for a specfic user; including properties, assets in the album etc.
parameters:
- name: userid
in: path
description: Unique ID of the user
required: true
schema:
type: string
- name: albumid
in: path
description: Unique ID of the album
required: true
schema:
type: string
responses:
'200':
description: 200 OK
content:
application/json:
schema:
$ref: '#/components/schemas/CollectionInfo'
application/vnd.fotoware.collectioninfo+json:
schema:
$ref: '#/components/schemas/CollectionInfo'
/fotoweb/users/{userid}/albums/{albumid}/.shares/:
get:
tags:
- Albums sharing
summary: Gets sharing details for an album for a specfic user; including any shares, public link and user/groups shares
parameters:
- name: userid
in: path
description: Unique ID of the user
required: true
schema:
type: string
- name: albumid
in: path
description: Unique ID of the album
required: true
schema:
type: string
responses:
'200':
description: 200 OK
content:
application/json:
schema:
$ref: '#/components/schemas/Sharing'
application/vnd.fotoware.sharing+json:
schema:
$ref: '#/components/schemas/Sharing'
patch:
tags:
- Albums sharing
summary: Make updates to album sharing for an album.
description: |
This is mainly used for enabling/disabling Download permissions on public sharing link
parameters:
- name: userid
in: path
description: Unique ID of the user
required: true
schema:
type: string
- name: albumid
in: path
description: Unique ID of the album
required: true
schema:
type: string
requestBody:
content:
application/vnd.fotoware.sharing-update+json:
schema:
$ref: '#/components/schemas/SharingUpdate'
responses:
'200':
description: 200 OK
content:
application/json:
schema:
$ref: '#/components/schemas/SharingLinkList'
application/vnd.fotoware.sharing-link-list+json:
schema:
$ref: '#/components/schemas/SharingLinkList'
/fotoweb/archives/{archiveid}/{folderpath}/{asset}.annotations/:
parameters:
- name: archiveid
in: path
description: The id of the archive.
required: true
schema:
type: string
- name: folderpath
in: path
description: The folder path to where the asset is found.
required: true
schema:
type: string
- name: asset
in: path
description: Asset reference. Note that the reference is without the .info postfix.
required: true
schema:
type: string
get:
tags:
- Annotations
summary: Get all the annotations for an asset
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/AnnotationList'
application/vnd.fotoware.annotation-list+json:
schema:
$ref: '#/components/schemas/AnnotationList'
application/vnd.fotoware.count+json:
schema:
$ref: '#/components/schemas/Count'
post:
tags:
- Annotations
summary: Add a new annotation for an asset
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Annotation'
application/vnd.fotoware.annotation+json:
schema:
$ref: '#/components/schemas/Annotation'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Annotation'
application/vnd.fotoware.annotation+json:
schema:
$ref: '#/components/schemas/Annotation'
/fotoweb/archives/{archiveid}/{folderpath}/{asset}.annotations/{annotationid}:
parameters:
- name: archiveid
in: path
description: The id of the archive.
required: true
schema:
type: string
- name: folderpath
in: path
description: The folder path to where the asset is found.
required: true
schema:
type: string
- name: asset
in: path
description: Asset reference. Note that the reference is without the .info postfix.
required: true
schema:
type: string
- name: annotationid
in: path
description: The unique id of the annotation.
required: true
schema:
type: string
get:
tags:
- Annotations
summary: Get the annotation for an asset based on the annotation id
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Annotation'
application/vnd.fotoware.annotation+json:
schema:
$ref: '#/components/schemas/Annotation'
patch:
tags:
- Annotations
summary: Edit an annotation on an asset
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Annotation'
application/vnd.fotoware.annotation+json:
schema:
$ref: '#/components/schemas/Annotation'
responses:
'204':
description: OK
delete:
tags:
- Annotations
summary: Delete an annotation from an asset
responses:
'204':
description: OK
'404':
description: Annotation not found
/fotoweb/archives/:
get:
tags:
- Archives
security: [] # No security
summary: |
Get all publically available archives in the Fotoware DAM instance. To search, add the q parameter.
externalDocs:
description: Archives
url: https://learn.fotoware.com/en_US/fotoware-api-overview/archives-1
parameters:
- name: q
in: query
description: Query for asset(s). See Collection Queries for more information on querying.
required: false
schema:
type: string
responses:
200:
description: OK. Call successfuly completed
content:
application/json:
schema:
$ref: '#/components/schemas/CollectionList'
application/vnd.fotoware.collectionlist+json:
schema:
$ref: '#/components/schemas/CollectionList'
/fotoweb/me/archives/:
get:
tags:
- Archives
summary: Lists the archives accessible by the current user/access token.
externalDocs:
description: Archives
url: https://learn.fotoware.com/en_US/fotoware-api-overview/archives-1
operationId: GetPrivateArchiveList
responses:
200:
description: OK. Call successfuly completed
content:
application/json:
schema:
$ref: '#/components/schemas/CollectionList'
application/vnd.fotoware.collectionlist+json:
schema:
$ref: '#/components/schemas/CollectionList'
401:
description: Unauthorized. Access is denied due to invalid credentials
/fotoweb/archives/{id}/:
get:
tags:
- Archives
summary: Get all information about an archive
operationId: GetArchive
parameters:
- name: id
in: path
description: Unique ID of the archive
required: true
schema:
type: integer
responses:
'200':
description: OK. Call successfuly completed
content:
application/json:
schema:
$ref: '#/components/schemas/Collection'
application/vnd.fotoware.collection+json:
schema:
$ref: '#/components/schemas/Collection'
application/vnd.fotoware.collectioninfo+json:
schema:
$ref: '#/components/schemas/CollectionInfo'
application/vnd.fotoware.collectionlist+json:
schema:
$ref: '#/components/schemas/CollectionList'
application/vnd.fotoware.assetlist+json:
schema:
$ref: '#/components/schemas/AssetList'
'401':
description: Unauthorized. Access is denied due to invalid credentials
/fotoweb/editors/{viewid}:
get:
tags:
- Assets and Metadata
summary: Get a metadata view representation
description: Pass in the metadata view id to get the full representation of the view
externalDocs:
description: Metadata Views
url: https://learn.fotoware.com/en_US/fotoware-api-overview/metadata-views
parameters:
- name: viewid
in: path
description: Unique ID of the metadata view
required: true
schema:
type: string
responses:
'200':
description: OK. Call successfuly completed
content:
application/json:
schema:
$ref: '#/components/schemas/MetadataView'
application/vnd.fotoware.metadata-set+json:
schema:
$ref: '#/components/schemas/MetadataView'
'401':
description: Unauthorized. Access is denied due to invalid credentials
'403':
description: Forbidden. The authenticated user do not have access to get the metadata view representation
/fotoweb/archives/{archiveid}/{folderid}/{asset}:
parameters:
- name: archiveid
in: path
description: Unique ID of the archive
required: true
schema:
type: string
- name: folderid
in: path
description: Unique ID of the folder
required: true
schema:
type: string
- name: asset
in: path
description: Unique asset
required: true
schema:
type: string
get:
tags:
- Assets and Metadata
summary: Get the json representation of an asset
description: |
All asset resources have this representation. This includes assets in all kinds of collections, such as archives, albums and search results.
Information returned about an asset may vary depending on the user that is making the request. In particular, the permissions and previews fields may contain different values for different users. They reflect the permissions that the requesting user has on the asset and the types of previews (size, watermarked or not watermarked, etc.) that are available to that user.
The doctype field determines what subsections are present in the attributes section. For example, if the doctype is "image", then attributes.imageattributes is always present. However, it is recommended to explicitly check for presence of these subsections instead whenever they are used
operationId: GetAssetDetails
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Asset'
application/vnd.fotoware.asset+json:
schema:
$ref: '#/components/schemas/Asset'
patch:
tags:
- Assets and Metadata
summary: Update metadata on an asset
description: Use patch on an asset to update the metadata. The metadata to update is defined in the request body. Required
permissions - Edit Metadata on the archive containing the asset.
externalDocs:
description: Updating metadata on an asset
url: https://learn.fotoware.com/en_US/fotoware-api-overview/updating-metadata-on-an-asset
operationId: PatchMetadata
requestBody:
content:
application/vnd.fotoware.assetupdate+json:
schema:
$ref: '#/components/schemas/AssetUpdate'
responses:
'200':
description: OK. Call successfuly completed
content:
application/json:
schema:
$ref: '#/components/schemas/Asset'
application/vnd.fotoware.asset+json:
schema:
$ref: '#/components/schemas/Asset'
"400":
description: Bad Request. For instance if the metadata object is formatted wrong
/fotoweb/me/cart:
get:
tags:
- Orders
summary: Get the count of items in the users cart
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Count'
application/vnd.fotoware.count+json:
schema:
$ref: '#/components/schemas/Count'
application/vnd.fotoware.order+json:
schema:
$ref: '#/components/schemas/Order'
'401':
description: Unauthorized
post:
tags:
- Orders
summary: Add item(s) to users personal cart
description: Add one or more items to the users shopping cart by using the assets url.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AssetLinkList'
application/vnd.fotoware.assetlinklist+json:
schema:
$ref: '#/components/schemas/AssetLinkList'
responses:
'204':
description: OK
'403':
description: Forbidden. No access to add items to the users cart.
'400':
description: Bad request. For instance malformed url to asset.
put:
tags:
- Orders
summary: Edit the content of a cart
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CartUpdate'
application/vnd.fotoware.cart-update+json:
schema:
$ref: '#/components/schemas/CartUpdate'
responses:
'204':
description: OK
'403':
description: Forbidden
'400':
description: Bad request
/fotoweb/me/orders/:
get:
tags:
- Orders
summary: Users personal order list
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/OrderList'
application/vnd.fotoware.orderlist+json:
schema:
$ref: '#/components/schemas/OrderList'
post:
tags:
- Orders
summary: Submit the shopping cart to an order
requestBody:
content:
application/vnd.fotoware.cart-update+json:
schema:
$ref: "#/components/schemas/CartUpdate"
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: "#/components/schemas/OrderSubmissionInfo"
application/vnd.fotoware.order-submission-info+json:
schema:
$ref: "#/components/schemas/OrderSubmissionInfo"
'403':
description: Forbidden. The user does not have "Order" permission in the archives of any of the assets in the request
'400':
description: Bad request
/fotoweb/orders/:
get:
tags:
- Orders
summary: Site's global order history
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Count'
application/vnd.fotoware.count+json:
schema:
$ref: '#/components/schemas/Count'
application/vnd.fotoware.orderlist+json:
schema:
$ref: '#/components/schemas/OrderList'
/fotoweb/orders/pending/:
get:
tags:
- Orders
summary: Site's global list of pending orders
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Count'
application/vnd.fotoware.count+json:
schema:
$ref: '#/components/schemas/Count'
application/vnd.fotoware.orderlist+json:
schema:
$ref: '#/components/schemas/OrderList'
/fotoweb/orders/approved/:
get:
tags:
- Orders
summary: Site's global list of approved orders
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Count'
application/vnd.fotoware.count+json:
schema:
$ref: '#/components/schemas/Count'
application/vnd.fotoware.orderlist+json:
schema:
$ref: '#/components/schemas/OrderList'
/fotoweb/orders/rejected/:
get:
tags:
- Orders
summary: Site's global list of rejected orders
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Count'
application/vnd.fotoware.count+json:
schema:
$ref: '#/components/schemas/Count'
application/vnd.fotoware.orderlist+json:
schema:
$ref: '#/components/schemas/OrderList'
'401':
description: 401 Unauthorized
/fotoweb/orders/{orderhref}:
patch:
tags:
- Orders
summary: This request can be used to modify an existing order that is in pending or created state
parameters:
- name: orderhref
in: path
description: Unique ID of the order
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OrderUpdate'
application/vnd.fotoware.orderupdate+json:
schema:
$ref: '#/components/schemas/OrderUpdate'
responses:
'200':
description: OK
content:
application/vnd.fotoware.order+json:
schema:
$ref: '#/components/schemas/Order'
/fotoweb/services/renditions:
post:
tags:
- Renditions
summary: Get the rendition download url
description: |
The representation of an asset gives you a list with predefined renditions available for the asset. This request uses the url
to one of those renditions to generate a download url for the asset rendition.
externalDocs:
description: Downloading asset renditions
url: https://learn.fotoware.com/en_US/fotoware-api-overview/downloading-asset-renditions-using-the-restful-api
requestBody:
content:
application/vnd.fotoware.rendition-request+json:
schema:
$ref: '#/components/schemas/RenditionRequest'
responses:
'200':
description: OK
content:
application/vnd.fotoware.rendition-response+json:
schema:
$ref: '#/components/schemas/RenditionResponse'
'401':
description: Unauthorized. Access is denied due to invalid credentials
'403':
description: Forbidden. The user does not have permission to download the rendition.
/fotoweb/me/background-tasks/{id}:
get:
tags:
- Background tasks
summary: Polls the status of a tasks
description: Gives you the status and info of a submitted background task
parameters:
- name: id
in: path
description: Unique id of the background tasks
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UploadStatus'
application/vnd.fotoware.task-status+json:
schema:
$ref: '#/components/schemas/TaskStatus'
application/vnd.fotoware.upload-status+json:
schema:
$ref: '#/components/schemas/UploadStatus'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
/fotoweb/me/background-tasks/:
post:
tags:
- Background tasks
summary: Triggers a background task that runs an operation on an asset
description: |
FotoWeb uses a system of background tasks for some user-triggered operations. These operations cannot be run in a normal request handler as they would take too long time to finish. These operations include: Download | Metadata updates | Actions and marker actions | General File operations (move, copy, rotate etc) | Upload
requestBody:
content:
application/vnd.fotoware.metadata-edit-request+json:
schema:
$ref: '#/components/schemas/MetadataEditRequest'
application/vnd.fotoware.action-request+json:
schema:
$ref: "#/components/schemas/ActionRequest"
application/vnd.fotoware.marker-request+json:
schema:
$ref: "#/components/schemas/MarkerRequest"
application/vnd.fotoware.duplicate-request+json:
schema:
$ref: "#/components/schemas/DuplicateRequest"
application/vnd.fotoware.delete-request+json:
schema:
$ref: "#/components/schemas/DeleteRequest"
application/vnd.fotoware.rename-request+json:
schema:
$ref: "#/components/schemas/RenameRequest"
application/vnd.fotoware.move-request+json:
schema:
$ref: "#/components/schemas/MoveRequest"
application/vnd.fotoware.copy-request+json:
schema:
$ref: "#/components/schemas/CopyRequest"
application/vnd.fotoware.rotate-request+json:
schema:
$ref: "#/components/schemas/RotateRequest"
responses:
"201":
description: Background task created, returns reference to polling url
content:
application/vnd.fotoware.metadata-edit-response+json:
schema:
$ref: "#/components/schemas/MetadataEditResponse"
application/vnd.fotoware.action-response+json:
schema:
$ref: "#/components/schemas/ActionResponse"
application/vnd.fotoware.marker-response+json:
schema:
$ref: "#/components/schemas/MarkerResponse"
application/vnd.fotoware.duplicate-response+json:
schema:
$ref: "#/components/schemas/DuplicateResponse"
application/vnd.fotoware.delete-response+json:
schema:
$ref: "#/components/schemas/DeleteResponse"
application/vnd.fotoware.rename-response+json:
schema:
$ref: "#/components/schemas/RenameResponse"
application/vnd.fotoware.move-response+json:
schema:
$ref: "#/components/schemas/MoveResponse"
application/vnd.fotoware.copy-response+json:
schema:
$ref: "#/components/schemas/CopyResponse"
application/vnd.fotoware.rotate-response+json:
schema:
$ref: "#/components/schemas/RotateResponse"
/fotoweb/api/taxonomies/:
get:
tags:
- Taxonomies
summary: List all fields with taxonomy enabled
description: |
A paged list of taxononmies is returned. The list has one item for each metadata field with taxonomy enabled. The page URLs of this paged list can be obtained from the paging information in the result.
responses:
"200":
description: Taxonomy list
content:
application/json:
schema:
$ref: '#/components/schemas/TaxonomyList'
application/vnd.fotoware.taxonomy-list+json:
schema:
$ref: '#/components/schemas/TaxonomyList'
"406":
description: Invalid type requested and paging header specified
post:
tags:
- Taxonomies
summary: Create a new taxonomy
description: |
Creates a new taxonomy and enables the taxonomy for a field. The url to the new taxonomy is returned in the Location header in the response.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TaxonomyCreationInfo'
application/vnd.fotoware.taxonomy-creation-info+json:
schema:
$ref: '#/components/schemas/TaxonomyCreationInfo'
responses:
"201":
description: Taxonomy created
headers:
Location:
description: URL of the new taxonomy
style: simple
explode: false
schema:
type: string
"401":
description: Unauthorized
"403":
description: User is not allowed to create taxonomy
/fotoweb/api/taxonomies/;p={p}:
get:
tags:
- Taxonomies
summary: List all fields with taxonomy enabled
description: |
This request returns a paged list of taxonomies with one item for each metadata field for which taxonomy is enabled.
The page URLs of this paged list can also be obtained from the paging information of each page.
parameters:
- name: p
in: path
description: Page Number
required: true
style: simple
explode: false
schema:
type: integer
responses:
"200":
description: Taxonomy list
content:
application/json:
schema:
$ref: '#/components/schemas/TaxonomyList'
application/vnd.fotoware.taxonomy-list+json:
schema:
$ref: '#/components/schemas/TaxonomyList'
"406":
description: Invalid type requested and paging header specified
/fotoweb/api/taxonomies/{fieldId}/:
get:
tags:
- Taxonomies
summary: Get taxonomy of a metadata field, list root items
description: |
Returns the description of the taxonomy and/or a paged list of top level items in the taxonomy.
The page URLs of this paged list can also be obtained from the paging information of each page.
If a paging parameter is specified, then this request always returns a taxonomy item list, and other content types are not acceptable.
parameters:
- name: fieldId
in: path
description: Numeric ID of the metadata field
required: true
style: simple
explode: false
schema:
type: integer
- name: q
in: query
description: Query string
required: false
style: form
explode: true
schema:
type: string
responses:
"200":
description: Taxonomy
content:
application/json:
schema:
$ref: '#/components/schemas/Taxonomy'
application/vnd.fotoware.taxonomy+json:
schema:
$ref: '#/components/schemas/Taxonomy'
application/vnd.fotoware.taxonomy-info+json:
schema:
$ref: '#/components/schemas/TaxonomyInfo'
application/vnd.fotoware.taxonomy-item-list+json:
schema:
$ref: '#/components/schemas/TaxonomyItemList'
"404":
description: Metadata field is not valid, or taxonomy not enabled
"406":
description: Invalid type requested and paging header specified
put:
tags:
- Taxonomies
summary: Update a taxonomy field
parameters:
- name: fieldId
in: path
description: Numeric ID of the metadata field
required: true
style: simple
explode: false
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TaxonomyUpdate'
application/vnd.fotoware.taxonomy-update+json:
schema:
$ref: '#/components/schemas/TaxonomyUpdate'
responses:
"204":
description: Taxonomy has been updated
"401":
description: Unauthorized
"403":
description: User is not allowed to update taxonomy
post:
tags:
- Taxonomies
summary: Create a new taxonomy item at the root of the taxonomy
parameters:
- name: fieldId
in: path
description: Numeric ID of the metadata field
required: true
style: simple
explode: false
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TaxonomyItemCreationInfo'
application/vnd.fotoware.taxonomy-item-creation-info+json:
schema:
$ref: '#/components/schemas/TaxonomyItemCreationInfo'
responses:
"201":
description: Taxonomy item has been created
headers:
Location:
description: URL of the new taxonomy item
style: simple
explode: false
schema:
type: string
"401":
description: Unauthorized
"403":
description: User is not allowed to create taxonomy item
"404":
description: Metadata field not valid, or taxonomy not enabled
delete:
tags:
- Taxonomies
summary: Delete a taxonomy
parameters:
- name: fieldId
in: path
description: Numeric ID of the metadata field
required: true
style: simple
explode: false
schema:
type: integer
responses:
"204":
description: Taxonomy has been deleted or was not enabled
"401":
description: Unauthorized
"403":
description: User is not allowed to delete taxonomy
"404":
description: Metadata field not valid
/fotoweb/api/taxonomies/{fieldId}/;p={p}:
get:
tags:
- Taxonomies
summary: Get taxonomy of a metadata field, list root items
description: |
Returns the description of the taxonomy and/or a paged list of top level items in the taxonomy.
The page URLs of this paged list can also be obtained from the paging information of each page.
If a paging parameter is specified,then this request always returns a taxonomy item list, and other content types are not acceptable.
parameters:
- name: fieldId
in: path
description: Numeric ID of the metadata field
required: true
style: simple
explode: false
schema:
type: integer
- name: p
in: path
description: Page Number
required: true
style: simple
explode: false
schema:
type: integer
- name: q
in: query
description: Query string
required: false
style: form
explode: true
schema:
type: string
responses:
"200":
description: Taxonomy
content:
application/json:
schema:
$ref: '#/components/schemas/Taxonomy'
application/vnd.fotoware.taxonomy+json:
schema:
$ref: '#/components/schemas/Taxonomy'
application/vnd.fotoware.taxonomy-info+json:
schema:
$ref: '#/components/schemas/TaxonomyInfo'
application/vnd.fotoware.taxonomy-item-list+json:
schema:
$ref: '#/components/schemas/TaxonomyItemList'
"404":
description: Metadata field is not valid, or taxonomy not enabled
"406":
description: Invalid type requested and paging header specified
/fotoweb/api/taxonomies/{fieldId}/{itemId}:
get:
tags:
- Taxonomies
summary: Get taxonomy item and list children
description: |
Returns the description of the taxonomy item and a paged list of child items.
parameters:
- name: fieldId
in: path
description: Numeric ID of the metadata field
required: true
style: simple
explode: false
schema:
type: integer
- name: itemId
in: path
description: Unique ID of the taxonomy item
required: true
style: simple
explode: false
schema:
type: string
responses:
"200":
description: Taxonomy
content:
application/json:
schema:
$ref: '#/components/schemas/TaxonomyItem'
application/vnd.fotoware.taxonomy-item+json:
schema:
$ref: '#/components/schemas/TaxonomyItem'
application/vnd.fotoware.taxonomy-item-info+json:
schema:
$ref: '#/components/schemas/TaxonomyItemInfo'
application/vnd.fotoware.taxonomy-item-list+json:
schema:
$ref: '#/components/schemas/TaxonomyItemList'
"404":
description: Taxonomy item not found
"406":
description: Invalid type requested and paging header specified
put:
tags:
- Taxonomies
summary: Update the description of a taxonomy item
parameters:
- name: fieldId
in: path
description: Numeric ID of the metadata field
required: true
style: simple
explode: false
schema:
type: integer
- name: itemId
in: path
description: Unique ID of the taxonomy item
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TaxonomyItemUpdate'
application/vnd.fotoware.taxonomy-item-update+json:
schema:
$ref: '#/components/schemas/TaxonomyItemUpdate'
responses:
"204":
description: Taxonomy item has been updated
"401":
description: Unauthorized
"403":
description: User is not allowed to update taxonomy item
"404":
description: Taxonomy item not found
post:
tags:
- Taxonomies
summary: Create a new taxonomy item under an existing item
parameters:
- name: fieldId
in: path
description: Numeric ID of the metadata field
required: true
style: simple
explode: false
schema:
type: integer
- name: itemId
in: path
description: Unique ID of the taxonomy item
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TaxonomyItemCreationInfo'
application/vnd.fotoware.taxonomy-item-creation-info+json:
schema:
$ref: '#/components/schemas/TaxonomyItemCreationInfo'
responses:
"201":
description: Taxonomy item has been created
headers:
Location:
description: URL of the new taxonomy item
style: simple
explode: false
schema:
type: string
"401":
description: Unauthorized
"403":
description: User is not allowed to create taxonomy items
"404":
description: Metadata field not valid, or taxonomy not enabled
delete:
tags:
- Taxonomies
summary: Delete a taxonomy item
parameters:
- name: fieldId
in: path
description: Numeric ID of the metadata field
required: true
style: simple
explode: false
schema:
type: integer
- name: itemId
in: path
description: Unique ID of the taxonomy item
required: true
style: simple
explode: false
schema:
type: string
responses:
"204":
description: Taxonomy item has been deleted or did not exist
"401":
description: Unauthorized
"403":
description: User is not allowed to update taxonomy items
/fotoweb/api/taxonomies/{fieldId}/{itemId}/;p={p}:
get:
tags:
- Taxonomies
summary: Get a taxonomy item and list its children
description: |
Returns the description of the taxonomy item and a paged list of its child items. The URLs of this paged list can also be obtained from the paging information in the result.
parameters:
- name: fieldId
in: path
description: Numeric ID of the metadata field
required: true
style: simple
explode: false
schema:
type: integer
- name: itemId
in: path
description: Unique ID of the taxonomy item
required: true
style: simple
explode: false
schema:
type: string
- name: p
in: path
description: Page Number
required: true
style: simple
explode: false
schema:
type: integer
responses:
"200":
description: Taxonomy
content:
application/json:
schema:
$ref: '#/components/schemas/TaxonomyItem'
application/vnd.fotoware.taxonomy-item+json:
schema:
$ref: '#/components/schemas/TaxonomyItem'
application/vnd.fotoware.taxonomy-item-info+json:
schema:
$ref: '#/components/schemas/TaxonomyItemInfo'
application/vnd.fotoware.taxonomy-item-list+json:
schema:
$ref: '#/components/schemas/TaxonomyItemList'
"404":
description: Taxonomy item not found
/fotoweb/api/taxonomies/archives/{archiveID}:
get:
tags:
- Taxonomies
summary: Get all the taxonomies for an archive
description: |
Returns a list of taxonomy fields with root items for the archive id that is passed as a parameter.
parameters:
- name: archiveID
in: path
description: Numeric ID of the archive
required: true
style: simple
explode: false
schema:
type: integer
responses:
'200':
description: Taxonomy field list with root items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Taxonomy'
'404':
description: Archive not found
/fotoweb/api/taxonomies/info:
post:
tags:
- Taxonomies
summary: Get a taxonomy item list by passing in an item id list
requestBody:
content:
application/json:
schema:
type: array
items:
type: string
description: Taxonomy item ID.
responses:
'200':
description: Taxonomy item list
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TaxonomyItem'
/fotoweb/me/upload-to/:
get:
tags:
- Upload
summary: List of collections that are available to be uploaded to
externalDocs:
description: Detailed info on ingestion
url: https://learn.fotoware.com/en_US/fotoware-api-overview/ingestion
responses:
'200':
description: Collection List
content:
application/json:
schema:
$ref: '#/components/schemas/CollectionList'
application/vnd.fotoware.collectionlist+json:
schema:
$ref: '#/components/schemas/CollectionList'
/fotoweb/archives/{archiveHREF}/:
post:
tags:
- Upload
summary: |
Assets are uploaded by making a POST request to the URL of the archive. Each request can contain one or more assets. Upload uses HTTP Multipart requests, as defined in RFC1341.
It is also possible to create a new folder (or a hierarchy of nested folders) and upload assets to the new folder.
description: |
Note:
* The upload location URL (upload_location_url) must be the URL found in the href attribute of the archive representation. Please do not hard-code upload location URLs.
* To get the upload request URL of an already known archive (with a known API URL), first request the archive representation of the archive, then use the value of the href-attribute for the upload request
* If the archive has a custom input folder, then assets can only be uploaded to the root URL of the archive. It is not possible to upload to a specific sub folder or to create a new sub folder during upload.
externalDocs:
description: Upload assets using the API
url: https://learn.fotoware.com/en_US/fotoware-api-overview/uploading-assets-using-the-api
parameters:
- name: archiveHREF
in: path
description: The url to the archive
required: true
schema:
type: string
- name: Content-Type
in: header
description: |
Ignored by FotoWeb. Should match the MIME type of the file, but can safely be set to application/octet-stream regardless of file type.
required: false
schema:
type: string
responses:
'202':
description: |
202 Accepted.
Once the file transfer has finished, the API returns a response with status code 202 Accepted. At this time, the upload is not finished. The server has to do further processing, such as applying metadata, doing consistency and security checks, copying the file to its storage location, and generating renditions. It is not guaranteed that all of these operations will complete successfully. Clients should not attempt to make any API requests that rely on the existence of the uploaded assets before the upload has finished successfully. The response includes a URL which can be used for polling the status of the upload. Use the background-tasks endpoint.
content:
application/vnd.fotoware.upload-response+json:
schema:
$ref: '#/components/schemas/UploadResponse'
/fotoweb/api/uploads:
post:
tags:
- Upload
summary: |
Create a new upload task
description: |
This initial upload request begins the process for uploading a single asset by setting up an upload task with a unique Upload ID which is used in all following API requests.
externalDocs:
description: Send initial upload request
url: https://learn.fotoware.com/en_US/fotoware-api-overview/upload-api#send-initial-upload-request-6
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BatchUploadCreate'
responses:
'200':
description: |
OK. Call successfuly completed
content:
application/json:
schema:
$ref: '#/components/schemas/BatchUploadInfo'
'400':
description: |
Bad Request. For instance if a parameter is invalid or the destination url is invalid
'403':
description: |
Forbidden. If the user does not have permission to upload, or the checkoutId exists but does not belong to the user
/fotoweb/api/uploads/{uploadId}/status:
get:
tags:
- Upload
summary: |
Get the upload task status
description: |
This request is made to poll the status of an upload task.
externalDocs:
description: Poll status for completion
url: https://learn.fotoware.com/en_US/fotoware-api-overview/upload-api#poll-status-for-completion-33
parameters:
- name: uploadId
in: path
description: Unique ID of the upload task
required: true
schema:
type: string
responses:
'200':
description: |
OK. Call successfuly completed
content:
application/json:
schema:
$ref: '#/components/schemas/BatchUploadStatus'
'403':
description: |
Forbidden. The does not exist OR belongs to a different user
/fotoweb/api/uploads/{uploadId}/chunks/{chunkIndex}:
post:
tags:
- Upload
summary: |
Upload a chunk to an upload task
description: |
This request uploads a chunk of the file being uploaded. The chunk size and number of chunks to upload is returned in the response
to the create upload task call.
externalDocs:
description: Send file data
url: https://learn.fotoware.com/en_US/fotoware-api-overview/upload-api#send-file-data-20
parameters:
- name: uploadId
in: path
description: Unique ID of the upload task
required: true
schema:
type: string
- name: chunkIndex
in: path
description: Numeric index of the uploaded chunk
required: true
schema:
type: integer
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
fileName:
type: string
format: binary
responses:
'204':
description: |
No Content. Call successfuly completed
'400':
description: |
Bad Request. For instance if the chunk index is invalid or the chunk size is wrong
'404':
description: |
Not Found. There is no upload task with ID that belongs to the requesting user
'409':
description: |
Conflict. A chunk with the same index has already been received successfully or the same chunk is already being uploaded by another process
'415':
description: |
Unsupported Media Type. The request body is not multipart/form-data
/fotoweb/api/uploads/{uploadId}/xmp:
post:
tags:
- Upload
summary: |
Upload the XMP file to an upload task
description: |
This is an optional request to upload an XMP sidecar file that contains the metadata of the asset file. XMP sidecars are assumed to be
small, so they can be uploaded in one request. If a file has an XMP sidecar, then the initial upload request must declare it.
externalDocs:
description: Send XMP sidecar file (if required)
url: https://learn.fotoware.com/en_US/fotoware-api-overview/upload-api#send-xmp-sidecar-file-optional-27
parameters:
- name: uploadId
in: path
description: Unique ID of the upload task
required: true
schema:
type: string
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
fileName:
type: string
format: binary
responses:
'204':
description: |
No Content. Call successfuly completed
'400':
description: |
Bad Request. For instance if metadata is invalid or metadata was not expected for the upload
'404':
description: |
Not Found. There is no upload task with ID that belongs to the requesting user
'409':
description: |
Conflict. There was a conflict, either XMP was already uploaded or the upload already finished
'415':
description: |
Unsupported Media Type. The request body is not multipart/form-data
/fotoweb/api/groups/{id}:
get:
tags:
- Group Management (Beta)
summary: Get group by ID
operationId: Group_GetGroupById
parameters:
- name: id
in: path
description: ID of the group
required: true
schema:
type: integer
format: int32
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
put:
tags:
- Group Management (Beta)
summary: Update a group
operationId: Group_UpdateGroup
parameters:
- name: id
in: path
description: ID of the group
required: true
schema:
type: integer
format: int32
requestBody:
description: New group properties
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
required: true
responses:
204:
description: No Content
content: {}
x-codegen-request-body-name: properties
delete:
tags:
- Group Management (Beta)
summary: Delete a group
operationId: Group_DeleteGroup
parameters:
- name: id
in: path
description: ID of the group
required: true
schema:
type: integer
format: int32
responses:
204:
description: No Content
content: {}
/fotoweb/api/groups:
get:
tags:
- Group Management (Beta)
summary: Get all groups on the site
operationId: Group_GetAllGroups
responses:
200:
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Group'
post:
tags:
- Group Management (Beta)
summary: Create a new group
operationId: Group_CreateNewGroup
requestBody:
description: Group properties
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
required: true
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
x-codegen-request-body-name: group
/fotoweb/api/groups/count:
get:
tags:
- Group Management (Beta)
summary: Count all groups on the site
operationId: Group_CountAllGroups
parameters:
- name: isSso
in: query
description: Count only SSO groups
schema:
type: boolean
- name: ssoProvider
in: query
description: Count only groups from the given SSO provider
schema:
type: string
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ValueModelInteger'
/fotoweb/api/groups/{id}/external-ids:
get:
tags:
- Group Management (Beta)
summary: Get all external IDs of a group
operationId: Group_GetGroupExternalIds
parameters:
- name: id
in: path
description: ID of the group
required: true
schema:
type: integer
format: int32
responses:
200:
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ExternalId'
delete:
tags:
- Group Management (Beta)
summary: Delete all external IDs of a group
operationId: Group_DeleteGroupExternalIds
parameters:
- name: id
in: path
description: ID of the group
required: true
schema:
type: integer
format: int32
responses:
204:
description: No Content
content: {}
/fotoweb/api/groups/{id}/external-ids/{provider}:
delete:
tags:
- Group Management (Beta)
summary: Delete the external ID of a group from a provider
operationId: Group_DeleteGroupExternalIdsFromProvider
parameters:
- name: id
in: path
description: ID of the group
required: true
schema:
type: integer
format: int32
- name: provider
in: path
description: ID of the SSO provider
required: true
schema:
type: string
format: uuid
responses:
204:
description: No Content
content: {}
/fotoweb/api/groups/{id}/properties:
get:
tags:
- Group Management (Beta)
summary: Get all custom properties of a group
operationId: Group_GetGroupPropertyBag
parameters:
- name: id
in: path
description: ID of the group
required: true
schema:
type: integer
format: int32
responses:
200:
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MemberProperty'
delete:
tags:
- Group Management (Beta)
summary: Delete all custom properties of a group
operationId: Group_DeleteAllGroupProperties
parameters:
- name: id
in: path
description: ID of the group
required: true
schema:
type: integer
format: int32
responses:
204:
description: No Content
content: {}
/fotoweb/api/groups/{id}/properties/{key}:
delete:
tags:
- Group Management (Beta)
summary: Delete a custom property of a group
operationId: Group_DeleteGroupProperties
parameters:
- name: id
in: path
description: ID of the group
required: true
schema:
type: integer
format: int32
- name: key
in: path
description: Property key
required: true
schema:
type: string
responses:
204:
description: No Content
content: {}
/fotoweb/api/groups/{id}/member-of:
get:
tags:
- Group Management (Beta)
summary: Get all groups that the group is a direct member of
operationId: Group_GetDirectGroupMemberships
parameters:
- name: id
in: path
description: ID of the group
required: true
schema:
type: integer
format: int32
responses:
200:
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Group'
put:
tags:
- Group Management (Beta)
summary: Set the groups that the group is a direct member of
description: The group is removed from all other groups
operationId: Group_SetGroupMemberships
parameters:
- name: id
in: path
description: ID of group
required: true
schema:
type: integer
format: int32
requestBody:
description: IDs of groups
content:
application/json:
schema:
$ref: '#/components/schemas/MembershipIdListModel'
required: true
responses:
204:
description: No Content
content: {}
x-codegen-request-body-name: groups
post:
tags:
- Group Management (Beta)
summary: Add the group to one or more groups
operationId: Group_AddGroupMemberships
parameters:
- name: id
in: path
description: ID of group
required: true
schema:
type: integer
format: int32
requestBody:
description: IDs of groups
content:
application/json:
schema:
$ref: '#/components/schemas/MembershipIdListModel'
required: true
responses:
204:
description: No Content
content: {}
x-codegen-request-body-name: groups
delete:
tags:
- Group Management (Beta)
summary: Remove the group from all groups
operationId: Group_DeleteAllGroupMemberships
parameters:
- name: id
in: path
description: ID of group
required: true
schema:
type: integer
format: int32
responses:
204:
description: No Content
content: {}
/fotoweb/api/groups/{id}/member-of/count:
get:
tags:
- Group Management (Beta)
summary: Count all groups that the group is a direct member of
operationId: Group_CountDirectGroupMemberships
parameters:
- name: id
in: path
description: ID of the user
required: true
schema:
type: integer
format: int32
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ValueModelInteger'
/fotoweb/api/groups/{id}/member-of/{group}:
delete:
tags:
- Group Management (Beta)
summary: Remove the group from a single group
operationId: Group_DeleteGroupMembership
parameters:
- name: id
in: path
description: ID of group
required: true
schema:
type: integer
format: int32
- name: group
in: path
description: ID of group
required: true
schema:
type: integer
format: int32
responses:
204:
description: No Content
content: {}
/fotoweb/api/groups/{id}/member-of-recursive:
get:
tags:
- Group Management (Beta)
summary: Get all distinct groups that the group is a direct or indirect member
of
operationId: Group_GetRecursiveGroupMemberships
parameters:
- name: id
in: path
description: ID of the group
required: true
schema:
type: integer
format: int32
responses:
200:
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Group'
/fotoweb/api/groups/{id}/member-of-recursive/count:
get:
tags:
- Group Management (Beta)
summary: Count all distinct groups that the group is a direct or indirect member
of
operationId: Group_CountRecursiveUserMemberships
parameters:
- name: id
in: path
description: ID of the group
required: true
schema:
type: integer
format: int32
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ValueModelInteger'
/fotoweb/api/groups/{id}/users:
get:
tags:
- Group Management (Beta)
summary: Get all users that are direct members of the given group
operationId: Group_GetGroupDirectUserMembers
parameters:
- name: id
in: path
description: ID of the group
required: true
schema:
type: integer
format: int32
responses:
200:
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/User'
put:
tags:
- Group Management (Beta)
summary: Replace all users that are direct members of a group
operationId: Group_SetGroupUserMembers
parameters:
- name: id
in: path
description: ID of the group
required: true
schema:
type: integer
format: int32
requestBody:
description: IDs of new members
content:
application/json:
schema:
$ref: '#/components/schemas/MemberIdListModel'
required: true
responses:
204:
description: No Content
content: {}
x-codegen-request-body-name: members
post:
tags:
- Group Management (Beta)
summary: Add users to the given group
operationId: Group_AddGroupUserMembers
parameters:
- name: id
in: path
description: ID of the group
required: true
schema:
type: integer
format: int32
requestBody:
description: IDs of members
content:
application/json:
schema:
$ref: '#/components/schemas/MemberIdListModel'
required: true
responses:
204:
description: No Content
content: {}
x-codegen-request-body-name: members
delete:
tags:
- Group Management (Beta)
summary: Remove all users from the given group
operationId: Group_DeleteAllGroupUserMembers
parameters:
- name: id
in: path
description: ID of group
required: true
schema:
type: integer
format: int32
responses:
204:
description: No Content
content: {}
/fotoweb/api/groups/{id}/users/count:
get:
tags:
- Group Management (Beta)
summary: Count all users that are direct members of the given group
operationId: Group_CountGroupDirectUserMembers
parameters:
- name: id
in: path
description: ID of the group
required: true
schema:
type: integer
format: int32
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ValueModelInteger'
/fotoweb/api/groups/{id}/users-recursive:
get:
tags:
- Group Management (Beta)
summary: Get all users that are direct or indirect members of the given group
operationId: Group_GetGroupRecursiveUserMembers
parameters:
- name: id
in: path
description: ID of the group
required: true
schema:
type: integer
format: int32
responses:
200:
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/User'
/fotoweb/api/groups/{id}/users-recursive/count:
get:
tags:
- Group Management (Beta)
summary: Count all users that are direct or indirect members of the given group
operationId: Group_CountGroupRecursiveUserMembers
parameters:
- name: id
in: path
description: ID of the group
required: true
schema:
type: integer
format: int32
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ValueModelInteger'
/fotoweb/api/groups/{id}/groups:
get:
tags:
- Group Management (Beta)
summary: Get all groups that are direct members of the given group
operationId: Group_GetGroupDirectGroupMembers
parameters:
- name: id
in: path
description: ID of the group
required: true
schema:
type: integer
format: int32
responses:
200:
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Group'
put:
tags:
- Group Management (Beta)
summary: Replace all groups that are direct members of a group
operationId: Group_SetGroupGroupMembers
parameters:
- name: id
in: path
description: ID of the group
required: true
schema:
type: integer
format: int32
requestBody:
description: IDs of new members
content:
application/json:
schema:
$ref: '#/components/schemas/MemberIdListModel'
required: true
responses:
204:
description: No Content
content: {}
x-codegen-request-body-name: members
post:
tags:
- Group Management (Beta)
summary: Add groups to the given group
operationId: Group_AddGroupGroupMembers
parameters:
- name: id
in: path
description: ID of the group
required: true
schema:
type: integer
format: int32
requestBody:
description: IDs of members
content:
application/json:
schema:
$ref: '#/components/schemas/MemberIdListModel'
required: true
responses:
204:
description: No Content
content: {}
x-codegen-request-body-name: members
delete:
tags:
- Group Management (Beta)
summary: Remove all groups from the given group
operationId: Group_DeleteAllGroupGroupMembers
parameters:
- name: id
in: path
description: ID of group
required: true
schema:
type: integer
format: int32
responses:
204:
description: No Content
content: {}
/fotoweb/api/groups/{id}/groups/count:
get:
tags:
- Group Management (Beta)
summary: Count all groups that are direct members of the given group
operationId: Group_CountGroupDirectGroupMembers
parameters:
- name: id
in: path
description: ID of the group
required: true
schema:
type: integer
format: int32
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ValueModelInteger'
/fotoweb/api/groups/{id}/groups-recursive:
get:
tags:
- Group Management (Beta)
summary: Get all groups that are direct or indirect members of the given group
operationId: Group_GetGroupRecursiveGroupembers
parameters:
- name: id
in: path
description: ID of the group
required: true
schema:
type: integer
format: int32
responses:
200:
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Group'
/fotoweb/api/groups/{id}/groups-recursive/count:
get:
tags:
- Group Management (Beta)
summary: Count all groups that are direct or indirect members of the given group
operationId: Group_CountGroupRecursiveGroupMembers
parameters:
- name: id
in: path
description: ID of the group
required: true
schema:
type: integer
format: int32
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ValueModelInteger'
/fotoweb/api/groups/{id}/members:
put:
tags:
- Group Management (Beta)
summary: Replace all direct members of a group
operationId: Group_SetGroupMembers
parameters:
- name: id
in: path
description: ID of the group
required: true
schema:
type: integer
format: int32
requestBody:
description: IDs of new members
content:
application/json:
schema:
$ref: '#/components/schemas/MemberIdListModel'
required: true
responses:
204:
description: No Content
content: {}
x-codegen-request-body-name: members
post:
tags:
- Group Management (Beta)
summary: Add users to the given group
operationId: Group_AddGroupMembers
parameters:
- name: id
in: path
description: ID of the group
required: true
schema:
type: integer
format: int32
requestBody:
description: IDs of members
content:
application/json:
schema:
$ref: '#/components/schemas/MemberIdListModel'
required: true
responses:
204:
description: No Content
content: {}
x-codegen-request-body-name: members
delete:
tags:
- Group Management (Beta)
summary: Remove all members from the given group
operationId: Group_DeleteAllGroupMembers
parameters:
- name: id
in: path
description: ID of group
required: true
schema:
type: integer
format: int32
responses:
204:
description: No Content
content: {}
/fotoweb/api/groups/{id}/users/{member}:
delete:
tags:
- Group Management (Beta)
summary: Remove a user from the given group
operationId: Group_DeleteGroupUserMember
parameters:
- name: id
in: path
description: ID of group to remove from
required: true
schema:
type: integer
format: int32
- name: member
in: path
description: ID of member to remove
required: true
schema:
type: integer
format: int32
responses:
204:
description: No Content
content: {}
/fotoweb/api/groups/{id}/groups/{member}:
delete:
tags:
- Group Management (Beta)
summary: Remove a group from the given group
operationId: Group_DeleteGroupGroupMember
parameters:
- name: id
in: path
description: ID of group to remove from
required: true
schema:
type: integer
format: int32
- name: member
in: path
description: ID of member to remove
required: true
schema:
type: integer
format: int32
responses:
204:
description: No Content
content: {}
/fotoweb/api/users/{id}:
get:
tags:
- User Management (Beta)
summary: Get user by ID
operationId: User_GetUserById
parameters:
- name: id
in: path
description: ID of the user
required: true
schema:
type: integer
format: int32
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/User'
put:
tags:
- User Management (Beta)
summary: Update a user
operationId: User_UpdateUser
parameters:
- name: id
in: path
description: ID of the user
required: true
schema:
type: integer
format: int32
requestBody:
description: New user properties
content:
application/json:
schema:
$ref: '#/components/schemas/User'
required: true
responses:
204:
description: No Content
content: {}
x-codegen-request-body-name: properties
delete:
tags:
- User Management (Beta)
summary: Delete a user
operationId: User_DeleteUser
parameters:
- name: id
in: path
description: ID of the user
required: true
schema:
type: integer
format: int32
responses:
204:
description: No Content
content: {}
/fotoweb/api/users:
get:
tags:
- User Management (Beta)
summary: Get all users on the site
operationId: User_GetAllUsers
responses:
200:
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/User'
post:
tags:
- User Management (Beta)
summary: Create a new user
operationId: User_CreateNewUser
requestBody:
description: User properties
content:
application/json:
schema:
$ref: '#/components/schemas/User'
required: true
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/User'
x-codegen-request-body-name: user
/fotoweb/api/users/count:
get:
tags:
- User Management (Beta)
summary: Count all users on the site
operationId: User_CountAllUsers
parameters:
- name: licenseLevel
in: query
description: Count only users with the given license level
schema:
type: string
enum:
- none
- portal
- consumer
- contributor
- standard
- plus
- main
- editor
- pro
- name: licenseMode
in: query
description: Count only users with the given license concurrency mode
schema:
type: string
enum:
- named
- concurrent
- name: isSso
in: query
description: Count only SSO users
schema:
type: boolean
- name: ssoProvider
in: query
description: Count only users from the given SSO provider
schema:
type: string
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ValueModelInteger'
/fotoweb/api/users/{id}/password:
delete:
tags:
- User Management (Beta)
summary: Delete the password of a user
description: |
If a user has neither a password nor any SSO external IDs, they cannot log in. To deny access to a user, set `account.isEnabled` to `false` instead. This endpoint can be used, for example, to remove passwords after a batch migration to an SSO provider.
operationId: User_DeleteUserPassword
parameters:
- name: id
in: path
description: ID of user
required: true
schema:
type: integer
format: int32
responses:
204:
description: The operation completed successfully
content: { }
/fotoweb/api/users/{id}/external-ids:
get:
tags:
- User Management (Beta)
summary: Get all external IDs of a user
operationId: User_GetUserExternalIds
parameters:
- name: id
in: path
description: ID of the user
required: true
schema:
type: integer
format: int32
responses:
200:
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ExternalId'
delete:
tags:
- User Management (Beta)
summary: Delete all external IDs of a user
operationId: User_DeleteUserExternalIds
parameters:
- name: id
in: path
description: ID of the user
required: true
schema:
type: integer
format: int32
responses:
204:
description: No Content
content: {}
/fotoweb/api/users/{id}/external-ids/{provider}:
delete:
tags:
- User Management (Beta)
summary: Delete the external ID of a user from a provider
operationId: User_DeleteUserExternalIdsFromProvider
parameters:
- name: id
in: path
description: ID of the user
required: true
schema:
type: integer
format: int32
- name: provider
in: path
description: ID of the SSO provider
required: true
schema:
type: string
format: uuid
responses:
204:
description: No Content
content: {}
/fotoweb/api/users/{id}/properties:
get:
tags:
- User Management (Beta)
summary: Get all custom properties of a user
operationId: User_GetUserPropertyBag
parameters:
- name: id
in: path
description: ID of the user
required: true
schema:
type: integer
format: int32
responses:
200:
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MemberProperty'
delete:
tags:
- User Management (Beta)
summary: Delete all custom properties of a user
operationId: User_DeleteAllUserProperties
parameters:
- name: id
in: path
description: ID of the user
required: true
schema:
type: integer
format: int32
responses:
204:
description: No Content
content: {}
/fotoweb/api/users/{id}/properties/{key}:
delete:
tags:
- User Management (Beta)
summary: Delete a custom property of a user
operationId: User_DeleteUserProperties
parameters:
- name: id
in: path
description: ID of the user
required: true
schema:
type: integer
format: int32
- name: key
in: path
description: Property key
required: true
schema:
type: string
responses:
204:
description: No Content
content: {}
/fotoweb/api/users/{id}/member-of:
get:
tags:
- User Management (Beta)
summary: Get all groups that the user is a direct member of
operationId: User_GetUserDirectMemberships
parameters:
- name: id
in: path
description: ID of the user
required: true
schema:
type: integer
format: int32
responses:
200:
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Group'
put:
tags:
- User Management (Beta)
summary: Set the groups that the user is a direct member of
description: The user is removed from all other groups
operationId: User_SetUserMemberships
parameters:
- name: id
in: path
description: ID of user
required: true
schema:
type: integer
format: int32
requestBody:
description: IDs of groups
content:
application/json:
schema:
$ref: '#/components/schemas/MembershipIdListModel'
required: true
responses:
204:
description: No Content
content: {}
x-codegen-request-body-name: groups
post:
tags:
- User Management (Beta)
summary: Add the user to one or more groups
operationId: User_AddUserMemberships
parameters:
- name: id
in: path
description: ID of user
required: true
schema:
type: integer
format: int32
requestBody:
description: IDs of groups
content:
application/json:
schema:
$ref: '#/components/schemas/MembershipIdListModel'
required: true
responses:
204:
description: No Content
content: {}
x-codegen-request-body-name: groups
delete:
tags:
- User Management (Beta)
summary: Remove the user from all groups
operationId: User_DeleteAllUserMemberships
parameters:
- name: id
in: path
description: ID of user
required: true
schema:
type: integer
format: int32
responses:
204:
description: No Content
content: {}
/fotoweb/api/users/{id}/member-of/count:
get:
tags:
- User Management (Beta)
summary: Count all groups that the user is a direct member of
operationId: User_CountUserDirectMemberships
parameters:
- name: id
in: path
description: ID of the user
required: true
schema:
type: integer
format: int32
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ValueModelInteger'
/fotoweb/api/users/{id}/member-of/{group}:
delete:
tags:
- User Management (Beta)
summary: Remove the user from a single group
operationId: User_DeleteUserMembership
parameters:
- name: id
in: path
description: ID of user
required: true
schema:
type: integer
format: int32
- name: group
in: path
description: ID of group
required: true
schema:
type: integer
format: int32
responses:
204:
description: No Content
content: {}
/fotoweb/api/users/{id}/member-of-recursive:
get:
tags:
- User Management (Beta)
summary: Get all distinct groups that the user is a direct or indirect member
of
operationId: User_GetRecursiveUserMemberships
parameters:
- name: id
in: path
description: ID of the user
required: true
schema:
type: integer
format: int32
responses:
200:
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Group'
/fotoweb/api/users/{id}/member-of-recursive/count:
get:
tags:
- User Management (Beta)
summary: Count all distinct groups that the user is a direct or indirect member
of
operationId: User_CountRecursiveUserMemberships
parameters:
- name: id
in: path
description: ID of the user
required: true
schema:
type: integer
format: int32
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ValueModelInteger'
/fotoweb/api/users/{id}/enabled:
put:
tags:
- User Management (Beta)
summary: Enable or disable user
operationId: User_SetUserEnabled
parameters:
- name: id
in: path
description: User ID
required: true
schema:
type: integer
format: int32
requestBody:
description: true to enable, false to disable user
content:
application/json:
schema:
$ref: '#/components/schemas/ValueModelBoolean'
required: true
responses:
204:
description: No Content
content: {}
x-codegen-request-body-name: value
components:
schemas:
# Albums
Sharing:
type: object
properties:
message:
type: object
properties:
title:
type: string
body:
type: string
shares:
type: array
items:
type: object
properties:
type:
type: string
href:
type: string
name:
type: string
acl:
type: array
items: {}
example:
- view
- preview
sharedHREF:
type: string
showcase:
type: object
properties:
from:
type: string
to:
type: string
acl:
type: array
items: {}
example:
- view
- preview
- download
sharedHREF:
type: string
type:
type: string
href:
type: string
originalHref:
type: string
SharingLinkList:
type: object
properties:
addedShares:
type: array
items:
type: object
properties:
type:
type: string
acl:
type: array
items: {}
example:
- view
- preview
- download
sharedHREF:
type: string
SharingUpdate:
type: object
properties:
addShares:
type: array
description: Used to add shares, or update existing ones
items:
type: object
properties:
type:
type: string
description: everyone, user or group
href:
type: string
description: user or group to share with
acl:
type: array
items: {}
example:
- view
- preview
- download
removeShares:
type: array
description: Used to remove shares
items:
type: object
properties:
type:
type: string
description: everyone, user or group
href:
type: string
description: When removing user/group permissions/shares we need the unique reference
message:
type: object
description: Optional, add a message to the added shares
properties:
body:
type: string
description: Body of the message
title:
type: string
description: Title of the message
# Annotations
Annotation:
type: object
properties:
height:
type: integer
href:
type: string
width:
type: integer
allowUpdate:
type: boolean
created:
type: string
owner:
type: object
properties:
name:
type: string
avatarHref:
type: string
text:
type: string
props:
type: object
properties:
comments:
type: object
properties:
count:
type: integer
href:
type: string
enabled:
type: boolean
modified:
type: string
fragmentHref:
type: string
allowDelete:
type: boolean
type:
type: string
left:
type: integer
color:
type: string
top:
type: integer
AnnotationList:
type: object
description: AnnotationList
properties:
data:
type: array
items:
type: object
properties:
allowUpdate:
type: boolean
owner:
type: object
properties:
name:
type: string
avatarHref:
type: string
color:
type: string
modified:
type: string
props:
type: object
properties:
comments:
type: object
properties:
count:
type: integer
href:
type: string
enabled:
type: boolean
type:
type: string
text:
type: string
top:
type: integer
allowDelete:
type: boolean
href:
type: string
width:
type: integer
left:
type: integer
created:
type: string
height:
type: integer
fragmentHref:
type: string
# API Entry Points
APIDescriptor:
type: object
properties:
server:
type: string
screens:
type: string
utc_offset:
type: integer
archives:
type: string
albums:
type: string
taxonomies:
type: string
services:
type: object
properties:
login:
type: string
search:
type: string
rendition_request:
type: string
href:
type: string
background_tasks:
type: string
searchURL:
type: string
FullAPIDescriptor:
type: object
properties:
actionCropPresets:
type: string
actions:
type: string
alerts:
type: string
albums:
type: string
description: URL of the list of albums accessible by current user. This list contains all albums that the user can access.
albums_archived:
type: string
albums_contribute:
type: string
albums_deleted:
type: string
description: URL of the list of deleted albums owned by the current user.
albums_own:
type: string
description: URL of the list of albums owned by the current user.
albums_shared:
type: string
description: URL of the list of albums shared with the current user.
appearance:
type: object
properties:
loginLogo:
type: string
mainLogo:
type: string
mobileLogo:
type: string
customCss:
type: string
homepageImage:
type: string
favicon:
type: string
archives:
type: string
description: |
URL of the list of archives that the current user can access. If server-to-server authentication is used, then this list contains all archives on the site.
background_tasks:
type: string
bookmarks:
type: string
copy_to:
type: string
description: URL of list of collections which to which assets can be copied.
cropDownloadPresets:
type: string
destinations:
type: string
groups:
type: string
groups_search:
type: string
href:
type: string
markers:
type: string
move_to:
type: string
description: URL of list of collections which to which assets can be moved.
order:
type: object
properties:
views:
type: object
properties:
cart:
type: string
history:
type: string
config:
type: string
cart:
type: string
history:
type: string
admin:
type: object
properties:
history:
type: string
pending:
type: string
approved:
type: string
rejected:
type: string
views:
type: object
properties:
pending:
type: string
people_search:
type: string
permissions:
type: object
properties:
delegateDownload:
type: boolean
description: User has permission to share an album with download permissions
moderateComments:
type: boolean
canTogglePositionedMarkers:
type: boolean
canManageExports:
type: boolean
hasAdvancedVideoControls:
type: boolean
hasManageArchivesPermission:
type: boolean
hasManageServicesPermission:
type: boolean
hasManageSettingsPermission:
type: boolean
allowRetranscode:
type: boolean
showAdvancedBreadcrumb:
type: boolean
shareCropAndDownloadPresets:
type: boolean
print:
type: boolean
hasAuditPermission:
type: boolean
albums:
type: object
properties:
create:
type: boolean
comment:
type: boolean
shareWithGuests:
type: boolean
showOnHomepage:
type: boolean
addAssets:
type: boolean
canLinkInAdobeCC:
type: boolean
allowTaxonomyEditing:
type: boolean
description: User has permission to modify taxonomies
allowShareBookmark:
type: boolean
hasManageWorkflowsPermission:
type: boolean
pins:
type: string
searchURL:
type: string
description: |
URL template for global searches in all collections on the site.
By replacing the placeholders in the template with search parameters, a client can search in all collections.
security:
type: object
properties:
allowFileSystemDestinations:
type: boolean
server:
type: string
services:
type: object
properties:
navigate_prev:
type: string
retranscode:
type: string
rendition_request:
type: string
keepalive:
type: object
properties:
href:
type: string
interval:
type: integer
logout:
type: string
search:
type: string
navigate_next:
type: string
signups:
type: string
siteConfigurationHref:
type: string
taxonomies:
type: string
tokens:
type: string
upload:
type: object
properties:
preserveMetadata:
type: boolean
upload_to:
type: string
description: URL of list of collections which to which assets can be uploaded.
upload_tokens:
type: string
user:
type: object
properties:
fullName:
type: string
description: Full name of the user that the client is authenticated as
email:
type: string
isGuest:
type: boolean
href:
type: string
description: URL of the user that the client is authenticated as
userName:
type: string
description: User name of the user that the client is authenticated as
firstName:
type: string
description: First name of the user that the client is authenticated as
lastName:
type: string
description: Last name of the user that the client is authenticated as
userId:
type: integer
description: ID of the user that the client is authenticated as
userAvatarHref:
type: string
userManagement:
type: object
properties:
userList:
type: string
groupList:
type: string
guestUser:
type: string
adminUser:
type: string
everyoneGroup:
type: string
registeredUsersGroup:
type: string
siteOwner:
type: string
user_preferences:
type: string
users_search:
type: string
users:
type: string
utc_offset:
type: integer
widgets:
type: object
properties:
selection:
type: string
description: URL of the selection widget for CMS integration
fwdt:
type: object
properties:
views:
type: object
properties:
install:
type: string
services:
type: object
properties:
open:
type: string
edit:
type: string
crop:
type: string
win:
type: object
properties:
installer:
type: object
properties:
version:
type: string
href:
type: string
minVersion:
type: string
osx:
type: object
properties:
minVersion:
type: string
installer:
type: object
properties:
version:
type: string
href:
type: string
views:
type: object
properties:
manageInvitations:
type: string
changePassword:
type: string
manageSubscription:
type: string
pro:
type: string
manage_exports:
type: string
admin_webhooks:
type: string
edit_taxonomy_item:
type: string
createInvitations:
type: string
subscription:
type: object
properties:
siteCreatedDate:
type: string
state:
type: string
origin:
type: string
loggedOut:
type: string
upload:
type: string
selection:
type: string
signUpAdmin:
type: string
manageConsentForms:
type: string
apiFeatureLevels:
type: object
properties:
consentFormsApiFeatureLevel:
type: integer
# Assets
Asset:
type: object
properties:
archiveHREF:
type: string
description: |
Links to Archive. URL of the archive which contains the asset. Each asset is contained in only one archive.
If the asset was discovered in a different kind of collection (such as an album, a search result or a folder), then this attribute can be used for finding the root URL of the original archive.
ancestors:
type: array
items:
type: object
properties:
name:
type: string
href:
type: string
data:
type: string
attributes:
type: object
properties:
imageattributes:
type: object
description: If present, contains information specific to image assets, such as resolution and color space.
properties:
pixelheight:
type: integer
resolution:
type: integer
flipmirror:
type: integer
rotation:
type: integer
colorspace:
type: string
pixelwidth:
type: integer
builtinFields:
type: array
items:
type: object
properties:
required:
type: boolean
value:
type: string
field:
type: string
capabilities:
type: object
properties:
printWithAnnotations:
type: boolean
crop:
type: boolean
print:
type: boolean
created:
type: string
description: The date and time on which the asset was created
createdBy:
type: string
doctype:
type: string
description: |
Type of this asset. For possible values, please see document types. This attribute determines which sub sections of the attributes section are present.
downloadcount:
type: integer
dropHREF:
type: string
filesize:
type: integer
description: Size of the file in bytes
filename:
type: string
description: Name of the file without path
href:
type: string
description: |
Links to asset. Original URL of the asset within the originating archive. This URL is used for most workflow operations.
linkstance:
type: string
description: |
Links to asset. The asset is then said to have multiple instances, one instance per distinct collection.
For archives and folders, linkstance is always identical to href, which is called the original instance of the asset.
Use linkstance to follow links from asset lists to individual assets
consentStatus:
$ref: '#/components/schemas/ConsentStatus'
physicalFileId:
type: string
description: |
A physical file is a distinct representation of an asset in a single storage location with its own state (metadata, file properties, etc.).
A physical file ID is a string of the form where
is the pool ID as returned by the /fotoweb/api/config/pools API today. A hash-based pseudo ID is used on-premises.
is the canonical path to the file within the pool starting with /, same as in its FWP URL.
metadata:
type: object
description: |
Contains values of metadata fields of this asset which are exposed by the API. Usually, the metadata set associated with the archive to which the asset belongs controls which fields are available.
metadataeditcount:
type: integer
metadataEditor:
type: object
properties:
name:
type: string
description: Display name of the available metadata editor for this asset
href:
type: string
description: |
Links to metadata editor. URL of the metadata editor that is available for this asset.
The metadata editor is usually defined by the metadata set associated with the archive to which the asset belongs.
By sending a request to this URL, a client application can determine what fields are available for editing and other information for editing and validation of metadata input.
modified:
type: string
description: The date and time on which the asset was last modified
modifiedBy:
type: string
permissions:
type: array
description: List of permissions that the requesting user has on this asset. For possible values, please see permissions.
items: {}
example:
- View
- Preview
- CropAndDownload
pincount:
type: integer
previewcount:
type: integer
previews:
type: array
description: List of available thumbnail and preview images of this asset. For details, please see preview lists
items:
type: object
properties:
size:
type: integer
width:
type: integer
height:
type: integer
href:
type: string
square:
type: boolean
previewToken:
type: string
props:
type: object
description: Common properties of this resource
properties:
shares:
type: object
properties:
enabled:
type: boolean
comments:
type: object
properties:
enabled:
type: boolean
annotations:
type: object
properties:
enabled:
type: boolean
quickRenditions:
type: array
items:
type: object
properties:
size:
type: integer
width:
type: integer
height:
type: integer
href:
type: string
square:
type: boolean
name:
type: string
renditions:
type: array
description: List of available renditions of this asset. Renditions are used for downloading assets, either original or processed.
items:
type: object
properties:
href:
type: string
description: Rendition URL
format: url
profile:
type: string
width:
type: integer
description: Width of the rendition in pixels (if applicable).
description:
type: string
description: Human-readable detailed description of the rendition.
height:
type: integer
description: Height of the rendition in pixels (if applicable).
default:
type: boolean
description: If true, this rendition is the default rendition that should be offered to users in a selection interface.
original:
type: boolean
description: If true, this rendition is the original asset file without any processing applied.
sizeFixed:
type: boolean
display_name:
type: string
description: Human readable display name of the rendition.
revisioncount:
type: integer
thumbnailFields:
type: object
properties:
label:
type: object
properties:
value:
type: string
firstLine:
type: object
properties:
value:
type: string
secondLine:
type: object
properties:
value:
type: string
uniqueid:
type: string
description: Unique ID of the asset. This ID is globally unique and created by IndexManager upon indexing
workflowcount:
type: integer
AssetList:
required:
- data
- paging
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Asset'
paging:
$ref: '#/components/schemas/PagingInfo'
description: Paged list of assets
AssetRepresentionApiModel:
type: object
description: API model to describe a for archive represention of an asset
properties:
archiveHref:
type: string
description: URL of the archive
archiveId:
type: integer
description: Unique ID of the archive
archiveName:
type: string
description: The name of the archive
assetHref:
type: string
description: URL of the asset representation in the archive
AssetUpdate:
type: object
description: |
The AssetUpdate request contains a body describing which metadata fields that needs to update and what their values should be updated to.
externalDocs:
description: Metadata in asset update
url: https://learn.fotoware.com/en_US/fotoware-api-overview/updating-metadata-on-an-asset
Previews:
type: array
items:
type: object
properties:
square:
type: boolean
description: Specifies whether the preview image retains its original proportions (false) or is cropped to a square (true).
size:
type: integer
description: |
Size of the preview image (maximum of width and height).
Can be used for selecting the appropriate preview image based on factors such as screen resolution or the size of the context where the preview image should be rendered.
width:
type: integer
description: Display width of the preview image in pixels
height:
type: integer
description: Display height of the preview image in pixels
href:
type: string
description: URL for requesting the preview image.
# Background tasks
ActionRequest:
type: object
properties:
assets:
type: array
items:
type: object
properties:
href:
type: string
action-href:
type: string
ActionResponse:
type: object
properties:
status:
type: string
max-interval:
type: integer
maxInterval:
type: integer
location:
type: string
CopyRequest:
type: object
description: Get a list of available destinations by using the copy-to reference from APIDescriptor
properties:
assets:
type: array
items:
type: object
properties:
href:
type: string
job-destination:
type: string
CopyResponse:
type: object
properties:
location:
type: string
status:
type: string
max-interval:
type: integer
maxInterval:
type: integer
DeleteRequest:
type: object
properties:
assets:
type: array
items:
type: object
properties:
href:
type: string
DeleteResponse:
type: object
properties:
location:
type: string
status:
type: string
max-interval:
type: integer
maxInterval:
type: integer
DuplicateRequest:
type: object
properties:
assets:
type: array
items:
type: object
properties:
href:
type: string
DuplicateResponse:
type: object
properties:
location:
type: string
status:
type: string
max-interval:
type: integer
maxInterval:
type: integer
MarkerRequest:
type: object
properties:
assets:
type: array
items:
type: object
properties:
href:
type: string
marker-href:
type: string
MarkerResponse:
type: object
properties:
status:
type: string
max-interval:
type: integer
maxInterval:
type: integer
location:
type: string
MetadataEditRequest:
type: object
properties:
assets:
type: array
items:
type: object
properties:
href:
type: string
job-metadata:
type: array
items:
type: object
properties:
field:
type: integer
value:
type: string
MetadataEditResponse:
type: object
properties:
max-interval:
type: integer
maxInterval:
type: integer
location:
type: string
status:
type: string
MoveRequest:
type: object
description: Receive a list of available destinations using the move-to endpoint from the API descriptor
properties:
assets:
type: array
items:
type: object
properties:
href:
type: string
job-destination:
type: string
MoveResponse:
type: object
properties:
status:
type: string
max-interval:
type: integer
maxInterval:
type: integer
location:
type: string
RenameRequest:
type: object
properties:
assets:
type: array
items:
type: object
properties:
href:
type: string
job-filename:
type: string
RenameResponse:
type: object
properties:
status:
type: string
max-interval:
type: integer
maxInterval:
type: integer
location:
type: string
RotateRequest:
type: object
properties:
direction:
type: string
assets:
type: array
items:
type: object
properties:
href:
type: string
RotateResponse:
type: object
properties:
status:
type: string
max-interval:
type: integer
maxInterval:
type: integer
location:
type: string
TaskStatus:
description: Status for a pending or done job
type: object
properties:
job:
type: object
properties:
status:
description: Tells you if the job is 'pending' or 'done'
type: string
result:
type: array
items:
type: object
properties:
changed-builtinFields:
type: array
items:
type: object
properties:
field:
type: string
value:
type: string
changed-fields:
type: array
items:
type: object
properties:
field:
type: integer
value:
type: string
href:
type: string
done:
type: boolean
changed-thumbnailFields:
type: array
items:
type: object
properties:
field:
type: string
value:
type: string
task:
type: object
properties:
status:
type: string
created:
type: string
modified:
type: string
href:
type: string
user:
type: integer
type:
type: string
id:
type: string
# Collections
Collection:
type: object
properties:
alt_orders:
type: array
items:
type: object
properties:
name:
type: string
key:
type: string
asc:
type: object
properties:
data:
type: string
urlComponents:
type: array
items:
type: object
properties:
value:
type: string
key:
type: string
href:
type: string
desc:
type: object
properties:
href:
type: string
data:
type: string
default:
type: boolean
urlComponents:
type: array
items:
type: object
properties:
key:
type: string
value:
type: string
alertHref:
description: alertHref
archived:
type: string
description: |
If not null, then the collection has been archived, and this is the date and time on which the collection was archived.
Unless stated otherwise, a collection list never contains archived collections, so API clients can ignore this field.
assets:
type: object
description: List of assets in the collection
assetCount:
type: integer
description: Number of assets in the collection
canBeArchived:
type: boolean
description: true if it is possible to archive the collection, false otherwise.
canBeDeleted:
type: boolean
description: true if it is possible to delete the collection, false otherwise.
canCopyTo:
type: boolean
description: true if it is possible to copy assets to this collection, false otherwise.
canCreateFolders:
type: boolean
description: true if it is possible to create new folders when copying, moving or uploading assets to this collection, false otherwise.
canHaveChildren:
type: boolean
description: true if this collection may have sub collection, false otherwise
canIngestToChildren:
type: boolean
description: true if there may be sub collections where at least one of canCopyTo, canMoveTo or canUploadTo is true, false otherwise.
canMoveTo:
type: boolean
description: true if it is possible to move assets to this collection, false otherwise.
canSelect:
type: boolean
description: true if it is possible to select assets in user interfaces for this collection, false otherwise
canUploadTo:
type: boolean
description: true if it is possible to upload assets to this collection, false otherwise.
children:
type: object
description: List of sub collections in the collection
childCount:
type: integer
description: Number of sub collections in the collection
clearSearch:
type: object
description: clearSearch
properties:
href:
type: string
description: href
data:
type: string
description: data
create:
type: array
description: create
items:
type: object
properties:
href:
type: string
type:
type: string
created:
type: string
description: Date and time on which the collection was created
data:
type: string
description: |
User-specific data URL of the collection. Usually, this is the URL that the collection was requested from.
In collection lists, this is the URL that should be followed in order to get assets and sub collections of the collection.
dataTemplate:
type: string
description: dataTemplate
deleted:
type: string
description: |
If not null, then the collection has been deleted, and this is the date and time on which the collection was deleted.
Unless stated otherwise, a collection list never contains deleted collections, so API clients can ignore this field.
description:
type: string
description: Long description of the collection
edit:
type: boolean
description: edit
hasChildren:
type: boolean
description: true if the collection can have sub collections, false otherwise
href:
type: string
description: Links to a Collection. Canonical public URL of the collection.
isFolderNavigationEnabled:
type: boolean
description: true if folder navigation is enabled in user interfaces for this collection, false otherwise
isLinkCollection:
type: boolean
description: true if this collection is a link collection (e.g., an album), false otherwise.
isSearchable:
type: boolean
description: true if the collection supports search, false otherwise
isSelectable:
type: boolean
description: true if assets in the collection can be selected in the selection widget, false otherwise
isSmartFolderNavigationEnabled:
type: boolean
description: isSmartFolderNavigationEnabled
matchingHref:
type: string
description: matchingHref
metadataEditor:
type: object
description: metadataEditor
properties:
name:
type: string
description: Display name of the available metadata editor for assets in the collection
href:
type: string
description: |
URL of the metadata editor that is available for assets in the collection.
The metadata editor is usually defined by the metadata view associated with the archive to which the collection belongs. By sending a request to this URL, a client application can determine what fields are available for editing and other information for editing and validation of metadata input.
modified:
type: string
description: Date and time on which the collection last modified. If the collection was never modified, then this is equal to created.
name:
type: string
description: Displayable title of the collection
orderRootHref:
type: string
description: orderRootHref
originalURL:
type: string
description: |
If the collection is a search result, then this is the URL of the collection the search was performed in (without any search parameters).
permissions:
type: array
description: List of permissions that the requesting user has on this asset
items:
$ref: '#/components/schemas/Permission'
pin:
description: pin
posterAsset:
type: string
description: URL of the asset which is currently used as poster image for this collection. May be null.
posterImages:
type: array
description: posterImages
items:
type: object
properties:
size:
type: integer
width:
type: integer
height:
type: integer
href:
type: string
square:
type: boolean
propertyValidations:
type: array
items:
type: object
properties:
min:
type: integer
max:
type: integer
regex:
type: string
name:
type: string
props:
type: object
description: Common properties of this resource.
properties:
annotations:
type: object
properties:
enabled:
type: boolean
shares:
type: object
properties:
enabled:
type: boolean
comments:
type: object
properties:
enabled:
type: boolean
reorder:
description: reorder
searchQuery:
type: string
description: searchQuery
searchString:
type: string
description: searchString
searchURL:
type: string
description: |
URL template for collection queries (searches) in the collection.
By replacing the placeholders in the template with search parameters, a client can search in the collection. If this attribute is null, then the collection does not support searching.
smartFolderHeader:
type: string
description: smartFolderHeader
type:
type: string
description: Type of the collection
taxonomies:
type: array
description: |
Contains top-level taxonomy nodes for all metadata fields which are enabled in the API for this collection and which have taxonomy enabled.
items:
$ref: '#/components/schemas/Taxonomy'
uploadHref:
type: string
description: URL to use in upload requests
CollectionInfo:
type: object
properties:
ancestors:
type: array
description: |
Lists the collection to which the asset belongs, is parent collection and the remaining ancestors in the collection hierarchy.
Can be used for rendering a breadcrumb, implementing an "up" button or finding the collection to which this instance of the asset belongs.
items:
type: object
properties:
name:
type: string
href:
type: string
data:
type: string
alertHref:
description: alertHref
alt_orders:
type: array
items:
type: object
properties:
name:
type: string
key:
type: string
asc:
type: object
properties:
data:
type: string
urlComponents:
type: array
items:
type: object
properties:
value:
type: string
key:
type: string
href:
type: string
desc:
type: object
properties:
href:
type: string
data:
type: string
default:
type: boolean
urlComponents:
type: array
items:
type: object
properties:
key:
type: string
value:
type: string
archived:
type: string
description: |
If not null, then the collection has been archived, and this is the date and time on which the collection was archived.
Unless stated otherwise, a collection list never contains archived collections, so API clients can ignore this field.
canBeArchived:
type: boolean
description: true if it is possible to archive the collection, false otherwise.
canBeDeleted:
type: boolean
description: true if it is possible to delete the collection, false otherwise.
canCopyTo:
type: boolean
description: true if it is possible to copy assets to this collection, false otherwise.
canCreateFolders:
type: boolean
description: |
true if it is possible to create new folders when copying, moving or uploading assets to this collection, false otherwise.
canHaveChildren:
type: boolean
description: true if this collection may have sub collection, false otherwise
canIngestToChildren:
type: boolean
description: true if there may be sub collections where at least one of canCopyTo, canMoveTo or canUploadTo is true, false otherwise.
canMoveTo:
type: boolean
description: true if it is possible to move assets to this collection, false otherwise.
canSelect:
type: boolean
description: true if it is possible to select assets in user interfaces for this collection, false otherwise
canUploadTo:
type: boolean
description: true if it is possible to upload assets to this collection, false otherwise.
clearSearch:
type: object
properties:
href:
type: string
data:
type: string
create:
type: array
description: create
items:
type: object
properties:
href:
type: string
type:
type: string
created:
type: string
description: Date and time on which the collection was created
data:
type: string
description: |
User-specific data URL of the collection. Usually, this is the URL that the collection was requested from.
In collection lists, this is the URL that should be followed in order to get assets and sub collections of the collection.
dataTemplate:
type: string
deleted:
type: string
description: |
If not null, then the collection has been deleted, and this is the date and time on which the collection was deleted.
Unless stated otherwise, a collection list never contains deleted collections, so API clients can ignore this field.
description:
type: string
description: Long description of the collection
edit:
type: boolean
description: edit
hasChildren:
type: boolean
description: true if the collection can have sub collections, false otherwise
href:
type: string
description: Canonical public URL of the collection.
isFolderNavigationEnabled:
type: boolean
description: true if folder navigation is enabled in user interfaces for this collection, false otherwise
isLinkCollection:
type: boolean
description: true if this collection is a link collection (e.g., an album), false otherwise.
isSearchable:
type: boolean
description: true if the collection supports search, false otherwise
isSelectable:
type: boolean
description: true if assets in the collection can be selected in the selection widget, false otherwise
isSmartFolderNavigationEnabled:
type: boolean
matchingHref:
type: string
metadataEditor:
type: object
properties:
name:
type: string
description: Display name of the available metadata editor for assets in the collection
href:
type: string
description: |
URL of the metadata editor that is available for assets in the collection.
The metadata editor is usually defined by the metadata view associated with the archive to which the collection belongs. By sending a request to this URL, a client application can determine what fields are available for editing and other information for editing and validation of metadata input.
modified:
type: string
description: Date and time on which the collection last modified. If the collection was never modified, then this is equal to created.
name:
type: string
description: Displayable title of the collection
orderRootHref:
type: string
originalURL:
type: string
description: |
If the collection is a search result, then this is the URL of the collection the search was performed in (without any search parameters).
permissions:
type: array
description: List of permissions that the requesting user has on this asset
items:
$ref: '#/components/schemas/Permission'
pin:
description: pin
posterAsset:
type: string
description: URL of the asset which is currently used as poster image for this collection. May be null.
posterImages:
type: array
description: posterImages
items:
type: object
properties:
size:
type: integer
width:
type: integer
height:
type: integer
href:
type: string
square:
type: boolean
propertyValidations:
type: array
items:
type: object
properties:
min:
type: integer
max:
type: integer
regex:
type: string
name:
type: string
props:
type: object
description: Common properties of this resource.
properties:
annotations:
type: object
properties:
enabled:
type: boolean
shares:
type: object
properties:
enabled:
type: boolean
comments:
type: object
properties:
enabled:
type: boolean
reorder:
description: reorder
searchQuery:
type: string
searchString:
type: string
searchURL:
type: string
description: |
URL template for collection queries (searches) in the collection.
By replacing the placeholders in the template with search parameters, a client can search in the collection. If this attribute is null, then the collection does not support searching.
smartFolderHeader:
type: string
taxonomies:
type: array
description: |
Contains top-level taxonomy nodes for all metadata fields which are enabled in the API for this collection and which have taxonomy enabled.
items:
$ref: '#/components/schemas/Taxonomy'
type:
type: string
description: Type of the collection
uploadHref:
type: string
description: URL to use in upload requests
CollectionList:
type: object
properties:
searchURL:
type: string
description: |
URL template for multi-collection searches in all collections in the collection list.
By replacing the placeholders in the template with search parameters, a client can search in all collections in the collection list
data:
type: array
description: List of elements in this part of the list. Each element is of the collection format.
items:
$ref: '#/components/schemas/Collection'
paging:
type: object
$ref: '#/components/schemas/Paging'
# Metadata
MetadataValue:
description: Represents a complete value of a metadata field
type: object
properties:
s:
description: String representation of the raw value of the metadata field. It is always present, except for bag fields.
type: string
nullable: true
n:
description: Numeric representation of the value. It is only present if the field is a number field.
type: integer
nullable: true
dt:
description: Date/time representation of the value. It is only present if the field is a date/time field.
type: string
nullable: true
MetadataView:
type: object
properties:
builtinFields:
type: object
description: Describes metadata fields with special semantic roles, such as the title or description of an asset.
properties:
notes:
type: object
properties:
taxonomy-only:
type: boolean
isWritable:
type: boolean
required:
type: boolean
field:
type: object
properties:
multi-instance:
type: boolean
description: true if field has zero or more values (bag field). false if field has exactly one value
max-size:
type: integer
description: Maximum length of a field of type text.
multiline:
type: boolean
description: For fields of type text, indicates that input masks should allow multi-line text input
data-type:
type: string
description: Type of allowed values of the field.
validation:
type: object
id:
type: integer
label:
type: string
description: Localized human-readable display name of the metadata field
tags:
type: object
description: Description of the built-in tags field
properties:
field:
type: object
properties:
id:
type: integer
taxonomyHref:
type: string
description: |
If not null, URL of the taxonomy root associated with this field. If null, then taxonomy is not enabled for this field.
label:
type: string
multi-instance:
type: boolean
max-size:
type: integer
multiline:
type: boolean
data-type:
type: string
validation:
type: object
taxonomy-only:
type: boolean
description: |
true if input masks should only allow users to select values from a taxonomy associated with the field. false if users should be allowed to enter arbitrary values that conform with the remaining specifications
isWritable:
type: boolean
description: true if the field may be edited in metadata update and upload requests. false if the field is read-only
required:
type: boolean
description: |
true if the field must have a non-empty value (or at least one value if multi-instance is true). false if the field may be empty
status:
type: object
description: Description of the built-in status field
properties:
taxonomy-only:
type: boolean
isWritable:
type: boolean
required:
type: boolean
field:
type: object
properties:
multiline:
type: boolean
data-type:
type: string
validation:
type: object
id:
type: integer
label:
type: string
multi-instance:
type: boolean
max-size:
type: integer
rating:
type: object
description: Description of the built-in rating field
properties:
taxonomy-only:
type: boolean
isWritable:
type: boolean
required:
type: boolean
field:
type: object
properties:
max-size:
type: integer
multiline:
type: boolean
data-type:
type: string
validation:
type: object
id:
type: integer
label:
type: string
multi-instance:
type: boolean
description:
type: object
description: Description of the built-in description field
properties:
taxonomy-only:
type: boolean
isWritable:
type: boolean
required:
type: boolean
field:
type: object
properties:
data-type:
type: string
validation:
type: object
id:
type: integer
label:
type: string
multi-instance:
type: boolean
max-size:
type: integer
multiline:
type: boolean
title:
type: object
description: Description of the built-in title field
properties:
taxonomy-only:
type: boolean
isWritable:
type: boolean
required:
type: boolean
field:
type: object
properties:
id:
type: integer
label:
type: string
multi-instance:
type: boolean
max-size:
type: integer
multiline:
type: boolean
data-type:
type: string
validation:
type: object
name:
type: string
description: Human-readable display name
detailRegions:
type: array
description: Contains descriptions of all metadata fields
items:
type: object
properties:
fields:
type: array
items:
type: object
properties:
field:
type: object
properties:
data-type:
type: string
validation:
type: object
id:
type: integer
taxonomyHref:
type: string
label:
type: string
multi-instance:
type: boolean
max-size:
type: integer
multiline:
type: boolean
taxonomy-only:
type: boolean
isWritable:
type: boolean
required:
type: boolean
name:
type: string
thumbnailFields:
type: object
description: Describes metadata fields that are shown in thumbnails
properties:
secondLine:
type: object
description: Description of the metadata field that provides the second line of the long description of a thumbnail
properties:
field:
type: object
properties:
multiline:
type: boolean
data-type:
type: string
validation:
type: object
id:
type: integer
label:
type: string
multi-instance:
type: boolean
max-size:
type: integer
valueStore:
type: string
taxonomy-only:
type: boolean
isWritable:
type: boolean
required:
type: boolean
firstLine:
type: object
description: Description of the metadata field that provides the first line of the long description of a thumbnail
properties:
required:
type: boolean
field:
type: object
properties:
multiline:
type: boolean
data-type:
type: string
validation:
type: object
id:
type: integer
taxonomyHref:
type: string
label:
type: string
multi-instance:
type: boolean
max-size:
type: integer
valueStore:
type: string
taxonomy-only:
type: boolean
isWritable:
type: boolean
label:
type: object
description: Description of the metadata field that provides the short description of a thumbnail
properties:
valueStore:
type: string
taxonomy-only:
type: boolean
isWritable:
type: boolean
required:
type: boolean
preserveModificationTime:
type: boolean
href:
type: string
description: URL
id:
type: string
description: Unique ID
# Orders
AssetLinkList:
type: object
properties:
data:
type: array
description: An array of assets to add to the cart
items:
type: object
properties:
href:
type: string
description: the URL of the asset to add to the cart
CartUpdate:
type: object
description: |
Used to edit the content of the cart, e.g. add or remove ordered items, change renditions for ordered assets, add custom order data or add a customer's comment to the order.
properties:
orderItems:
type: array
description: Complete list of ordered items. This replaces the existing list.
items:
type: object
properties:
rendition:
type: string
description: Rendition URL of rendition to order. This also identifies the asset. The rendition URL can be obtained from an Asset representation.
userComment:
type: string
description: Comment by the customer on the order.
Order:
type: object
properties:
modified:
type: string
href:
type: string
userComment:
type: string
orderItems:
type: array
items:
type: object
properties:
expired:
type: boolean
adminComment:
type: string
asset:
type: string
rendition:
type: object
properties:
href:
type: string
name:
type: string
owner:
type: object
properties:
username:
type: string
address:
type: object
properties:
businessType:
type: string
firstName:
type: string
lastName:
type: string
organization:
type: string
initial:
type: string
profession:
type: string
phone:
type: string
email:
type: string
title:
type: string
country:
type: string
fax:
type: string
zipCode:
type: string
city:
type: string
state:
type: string
homepage:
type: string
created:
type: string
adminComment:
type: string
state:
type: string
OrderList:
type: object
description: Orderlist
properties:
paging:
type: object
properties:
first:
type: string
last:
type: string
data:
type: array
items:
type: object
properties:
orderItems:
type: array
description: Ordered items. Contains the renditions ordered by the customer, but may also be modified by an administrator.
items:
type: object
properties:
expires:
type: string
description: Time when item expires, null if it never expires.
adminComment:
type: string
description: Comment on this item by the administrator.
asset:
type: string
description: Asset whose rendition is ordered
rendition:
type: object
description: Rendition that is ordered.
properties:
download:
type: string
description: |
Download URL of the ordered rendition or null.
If not null, then this rendition can be downloaded (usually in approved orders only). This is not a direct download URL. The URL does not accept any requests.
href:
type: string
description: |
Original URL of the ordered rendition.
This is the same as the rendition attribute in a cart update or order update request. Can be used to match against renditions.href in an Asset representation.
name:
type: string
description: Human-readable display name of the rendition.
expired:
type: boolean
description: true if item has expired, false otherwise
adminComment:
type: string
description: Comment on this order by the administrator.
href:
type: string
description: URL of the order
userComment:
type: string
description: |
Comment on this order by the customer. A customer may add a comment when submitting an order or modifying the shopping cart.
owner:
type: object
description: |
User representation of the customer that placed the order. Contains information such as the user's email address and user name.
properties:
username:
type: string
address:
type: object
properties:
homepage:
type: string
businessType:
type: string
firstName:
type: string
country:
type: string
zipCode:
type: string
phone:
type: string
state:
type: string
lastName:
type: string
organization:
type: string
city:
type: string
initial:
type: string
profession:
type: string
streetAddress:
type: array
items: {}
example:
- Address line 1
title:
type: string
fax:
type: string
email:
type: string
created:
type: string
description: Time when order was created
orderReference:
type: string
description: |
A human-readable string that uniquely identifies the order on the site.
May be shown in notifications and used for communication with users.
modified:
type: string
description: Time when order was last modified
expires:
type: string
description: |
Time when order expires, null if it never expires.
An administrator or API client may set an expiry time when approving an order.
state:
type: string
description: Current state of the order. Changes when an order is submitted, approved or rejected.
example:
- pending - The order is waiting for administrator approval.
- approved - The order has been approved.
- rejected - The order has been rejected.
- expired - The order has expired.
- created - The order has been created but not submitted yet.
- cart - the order is a customer's personal shopping cart.
OrderSubmissionInfo:
type: object
description: Info on submitted Order
properties:
orderLocation:
type: string
description: URL of the order. Links to an Order representation.
orderReference:
type: string
description: |
A human-readable string that uniquely identifies the order on the site.
May be shown in notifications and used for communication with users. Same as the orderReference attribute in the Order representation.
checkoutPageLocation:
type: string
description: |
URL of the checkout page to show to the user.
This page SHOULD be shown to the customer in a browser window in order to proceed with the ordering process. Depending on the site settings, this may be the standard FotoWeb checkout page or a custom page (which may include payment options). A native application may provide its own native checkout user interface and ignore this parameter. This is equal to the checkoutPageLocation attribute of the Order representation.
OrderUpdate:
type: object
description: Updating an order
properties:
orderItems:
type: array
description: Complete list of ordered items. This replaces the existing list. (Set to [] to empty the order.)
items:
type: object
properties:
adminComment:
type: string
description: Comment by the administrator on the order item
rendition:
type: string
description: |
Rendition URL of rendition to order. This also identifies the asset.
The rendition URL can be obtained from an Asset representation.
expires:
type: string
description: |
Time when order item expires, null if it never expires.
After the expiration time, the customer cannot download this rendition any more.
expires:
type: string
description: |
Time when this order expires, null if if never expires.
After the expiration time, the customer cannot download any renditions from this order any more.
adminComment:
type: string
description: Comment by the administrator on the order.
orderData:
type: array
description: Custom order data for the order. Completely replaces existing custom order data.
items:
type: object
$ref: '#/components/schemas/Order'
# Taxonomies
Taxonomy:
description: A taxonomy (including properties and root items)
required:
- field
- href
- pluralName
type: object
properties:
name:
type: string
description: Display name
example: Bug
pluralName:
type: string
description: Plural Name
example: Bugs
description:
type: string
description: Description
hasChildren:
type: boolean
description: To know if the item has children
example: true
field:
type: integer
description: Numeric ID of metadata field
example: 25
href:
type: string
description: URL of this taxonomy item
taxonomyHref:
type: string
description: URL of the root of this taxonomy
items:
type: object
$ref: '#/components/schemas/TaxonomyItemList'
TaxonomyAncestors:
description: Taxonomy parent of a Taxonomy Item
required:
- name
type: object
properties:
name:
type: string
description: Display name
example: Bug
href:
type: string
description: URL of this taxonomy item
TaxonomyCreationInfo:
description: Properties to create a taxonomy field
required:
- field
- pluralName
type: object
properties:
field:
type: integer
description: Numeric ID of metadata field
example: 25
name:
type: string
description: Taxonomy Name
example: A Taxonomy Name
pluralName:
type: string
description: Display name
example: A Plural Taxonomy Name
description:
type: string
description: Description
TaxonomyInfo:
description: Properties of a taxonomy field
required:
- field
- href
- pluralName
type: object
properties:
name:
type: string
description: Display name
example: Bug
pluralName:
type: string
description: Plural Name
example: Bugs
description:
type: string
description: Description
hasChildren:
type: boolean
description: To know if the item has children
example: true
field:
type: integer
description: Numeric ID of metadata field
example: 25
href:
type: string
description: URL of this taxonomy item
taxonomyHref:
type: string
description: URL of the root of this taxonomy
TaxonomyItem:
description: A taxonomy item (including child items and ancestors)
type: object
properties:
name:
type: string
description: Display name
example: Bug
description:
type: string
description: Description
hasChildren:
type: boolean
description: To know if the item has children
example: true
field:
type: integer
description: Numeric ID of metadata field
example: 25
href:
type: string
description: URL of this taxonomy item
taxonomyHref:
type: string
description: URL of the root of this taxonomy
acl:
type: array
items:
type: string
description: |
Capabilities / access list:
* `Set` - The value of this item can be assigned to a field
* `Query` - This item can be used in search queries
* `Navigate` - Users can browse children of this item
* `Hint` - (currently unused)
example: [ Set, Query, Navigate ]
value:
type: string
description: Metadata value (for search)
customSearch:
type: string
description: Custom search expression
children:
$ref: '#/components/schemas/TaxonomyItemList'
ancestors:
type: array
items:
$ref: '#/components/schemas/TaxonomyAncestors'
TaxonomyItemCreationInfo:
description: Properties to create a taxonomy item
required:
- name
type: object
properties:
name:
type: string
description: Display name
example: A taxonomy name
description:
type: string
description: Description
acl:
type: array
items:
type: string
description: |
Capabilities / access list:
* `Set` - The value of this item can be assigned to a field
* `Query` - This item can be used in search queries
* `Navigate` - Users can browse children of this item
* `Hint` - (currently unused)
example: [ Set, Query, Navigate ]
value:
type: string
description: Metadata value (for search)
customSearch:
type: string
description: Custom search expression
TaxonomyItemInfo:
description: Properties of a taxonomy item
required:
- name
type: object
properties:
name:
type: string
description: Display name
example: Bug
description:
type: string
description: Description
hasChildren:
type: boolean
description: To know if the item has children
example: true
field:
type: integer
description: Numeric ID of metadata field
example: 25
href:
type: string
description: URL of this taxonomy item
taxonomyHref:
type: string
description: URL of the root of this taxonomy
acl:
type: array
items:
type: string
description: |
Capabilities / access list:
* `Set` - The value of this item can be assigned to a field
* `Query` - This item can be used in search queries
* `Navigate` - Users can browse children of this item
* `Hint` - (currently unused)
example: [ Set, Query, Navigate ]
value:
type: string
description: Metadata value (for search)
customSearch:
type: string
description: Custom search expression
TaxonomyItemList:
description: Paged list of taxonomy items
required:
- data
- paging
type: object
properties:
paging:
$ref: '#/components/schemas/PagingInfo'
data:
type: array
items:
$ref: '#/components/schemas/TaxonomyItemInfo'
TaxonomyItemUpdate:
description: Properties to update a taxonomy item
type: object
required:
- name
- description
- acl
- value
properties:
name:
type: string
description: Display name
example: Bug
description:
type: string
description: Description
acl:
type: array
items:
type: string
description: |
Capabilities / access list:
* `Set` - The value of this item can be assigned to a field
* `Query` - This item can be used in search queries
* `Navigate` - Users can browse children of this item
* `Hint` - (currently unused)
example: [ Set, Query, Navigate ]
value:
type: string
description: Metadata value (for search)
customSearch:
type: string
description: Custom search expression
TaxonomyList:
description: Paged list of taxonomy fields
required:
- data
- paging
type: object
properties:
paging:
$ref: '#/components/schemas/PagingInfo'
data:
type: array
items:
$ref: '#/components/schemas/TaxonomyInfo'
TaxonomySearchItem:
description: Paged list of taxonomy items with Ancestorrs
required:
- name
type: object
properties:
name:
type: string
description: Display name
example: Bug
description:
type: string
description: Description
hasChildren:
type: boolean
description: To know if the item has children
example: true
field:
type: integer
description: Numeric ID of metadata field
example: 25
href:
type: string
description: URL of this taxonomy item
taxonomyHref:
type: string
description: URL of the root of this taxonomy
acl:
type: array
items:
type: string
description: |
Capabilities / access list:
* `Set` - The value of this item can be assigned to a field
* `Query` - This item can be used in search queries
* `Navigate` - Users can browse children of this item
* `Hint` - (currently unused)
example: [ Set, Query, Navigate ]
value:
type: string
description: Metadata value (for search)
customSearch:
type: string
description: Custom search expression
ancestors:
type: array
description: Taxonomy parents of the taxonomy item
items:
$ref: '#/components/schemas/TaxonomyAncestors'
TaxonomySearchItemList:
description: Paged list of taxonomy items
required:
- data
- paging
type: object
properties:
paging:
$ref: '#/components/schemas/PagingInfo'
data:
type: array
items:
$ref: '#/components/schemas/TaxonomySearchItem'
TaxonomyUpdate:
description: Properties to update a taxonomy field
required:
- pluralName
type: object
properties:
name:
type: string
description: Taxonomy Name
example: A Taxonomy Name
pluralName:
type: string
description: Display name
example: A Plural Taxonomy Name
description:
type: string
description: Description
# Upload
BatchUploadCreate:
type: object
description: API model to create a new batch upload task used to upload a file
required:
- destination
- fileSize
properties:
destination:
type: string
description: |
* URL of the collection (e.g. archive or folder) to upload to OR
* URL of the asset to upload a new revision
folder:
type: string
description: |
A folder path relative to the destination (when it is a collection URL).
The folder may or may not exist, and it is created if it does not exist.
filename:
type: string
description: |
Filename of the file being uploaded. It must be given when uploading to a folder.
hasXmp:
type: boolean
description: |
* true: An XMP sidecar file with metadata is uploaded along with the master file
* false: No XMP sidecar file is uploaded
fileSize:
type: integer
description: |
The exact size of the file (in bytes)
checkoutId:
type: string
description: |
This parameter must be set to null. It is used by internal Fotoware plug-ins to upload a new version of a checked-out file.
metadata:
$ref: '#/components/schemas/BatchUploadMetadata'
comment:
type: string
description: |
Comment to add to the revision. Set comment to null when not required. When uploading a new revision of a file that already exists, this becomes the comment of the new revision.
BatchUploadMetadata:
type: object
description: API model to describe the metadata applied to an asset on upload.
properties:
fields:
type: array
items:
$ref: '#/components/schemas/BatchUploadMetadataFields'
attributes:
type: array
items:
$ref: '#/components/schemas/BatchUploadMetadataAttributes'
BatchUploadMetadataFields:
type: object
description: API model to describe the metadata fields updated in the upload
properties:
id:
type: integer
description: Numeric ID of the destination metadata field
action:
type: string
enum:
- 'add'
- 'append'
- 'prepend'
- 'erase'
default: 'add'
description: Metadata action to perform
value:
type: object
description: |
Metadata value(s) to set or add.
This parameter is optional or required, depending on the action.
Depending on the action and field type, this can be a single value (given as a string) or zero or multiple values (given as an array of strings).
BatchUploadMetadataAttributes:
type: object
description: API model to describe the attributes used to set file attributes in the upload
properties:
key:
type: string
description: Specifies which attribute to set.
value:
type: string
description: Specifies the value of the attribute.
BatchUploadInfo:
type: object
description: API model for the response from creating a batch upload task.
properties:
id:
type: string
description: |
Random 128-bit GUID encoded as BASE64URL.
chunkSize:
type: integer
description: |
The upload chunk size in bytes.
numChunks:
type: integer
description: |
Total number of chunks to upload.
hasXmp:
type: boolean
description: |
Specifies if an XMP sidecar file with metadata is to be uploaded along with the master file.
BatchUploadStatus:
type: object
description: API model to describe the batch upload status.
properties:
status:
type: string
description: |
* awaitingData - Some chunks or the XMP file have not been received yet
* pending - The upload is finalized and has been queued for processing
* inProgress - The upload is finalized and is being processed
* done - The upload has completed successfully, and result contains more information
* failed - The upload has failed, and error contains more information
result:
$ref: '#/components/schemas/BatchUploadStatusResult'
description: The result of the upload task
error:
$ref: '#/components/schemas/BatchUploadStatusError'
description: Any errors reported by the upload task
BatchUploadStatusError:
type: object
description: Information about the failed upload
properties:
value:
type: string
description: Symbolic name of the type of error that has occurred when uploading this asset
message:
type: string
description: Human-readable description of error that has occurred
BatchUploadStatusResult:
type: object
description: Information about the successful upload
properties:
assetUrl:
type: string
description: The API URL of the uploaded asset
assetDetails:
type: string
description: The asset representation of the asset
UploadResponse:
type: object
properties:
href:
type: string
UploadStatus:
type: object
properties:
job:
type: object
description: Job info
properties:
status:
type: string
description: |
* pending - The task is queued for processing
* inProgress - Processing is still in progress
* done - Processing has finished, and a result is available
* failed - Processing has failed, and a result is available
result:
type: array
items:
type: string
description: |
Result of the background task. List of uploaded files, their status, and their location in FotoWeb.
task:
type: object
description: Task info
properties:
created:
type: string
description: Time when task was created. Date/time (ISO 8601 string)
modified:
type: string
description: Time when task was modified. Date/time (ISO 8601 string)
type:
type: string
description: For upload status this will always be upload
# User Management
PeopleList:
type: object
properties:
data:
type: array
items:
type: object
properties:
type:
type: string
display_name:
type: string
unique_name:
type: string
href:
type: string
paging:
type: object
properties:
first:
type: string
Permission:
type: string
enum:
- View
- Preview
- Download
- EditText
- CropRotate
- Delete
- Comping
- TrdParty1
- TrdParty2
- TrdParty3
- TrdParty4
- Alert
- CopyTo
- MoveTo
- CopyFrom
- MoveFrom
- Rename
- OpenFile
- EditFile
- CropFile
- UploadFile
- FwdtPlace
- Export
- Comment
- Remove
- Reorder
- SetPosterAsset
- Add
description: >
* View - User has permission to access the information about and the contents of a collection. The API only exposes collections to which the request user has access, so this permission is always present
* Preview - Quick renditions are available in asset data.
* Download - Renditions are available in asset data.
* EditText - User has permission to update metadata on assets.
* CropRotate - User has permission to crop and rotate assets directly in FotoWeb.
* Delete - User has permission to delete assets.
* Comping - User has permission to request zoomed previews of assets.
* TrdParty1 - Custom permission. Can be used to define custom behavior for assets in third-party applications using the API and the access list.
* TrdParty2 - Custom permission. Can be used to define custom behavior for assets in third-party applications using the API and the access list.
* TrdParty3 - Custom permission. Can be used to define custom behavior for assets in third-party applications using the API and the access list.
* TrdParty4 - Custom permission. Can be used to define custom behavior for assets in third-party applications using the API and the access list.
* Alert - User has permission to create alerts in a collection.
* CopyTo - User has permission to copy assets to a collection.
* MoveTo - User has permission to move assets to a collection.
* CopyFrom - User has permission to copy assets to other collections.
* MoveFrom - User has permissions to move assets to other collections.
* Rename - User has permission to rename assets.
* OpenFile - User has permission to open assets in FotoWeb Desktop.
* EditFile - User has permission to edit assets in FotoWeb Desktop.
* CropFile - User has permission to crop assets in FotoWeb Desktop.
* UploadFile - User has permission to upload new assets to a collection.
* FwdtPlace - User has permission to place assets in documents using FotoWeb Desktop extensions.
* Export - User has permission to export assets to external systems.
* Comment - User has permission to comment on assets, collections or other resources.
* Remove - User has permission to remove assets from a link collection.
* Reorder - User has permission to change the order of assets in a link collection.
* SetPosterAsset - User has permission to change the poster asset of a collection.
* Add - User has permission to add assets to a link collection.
# Workflows
QuickRenditions:
type: array
description: This is a list of available quick renditions
items:
type: object
properties:
href:
type: string
description: URL of the rendition image
square:
type: boolean
description: true if the image has equal width and height, false otherwise.
name:
type: string
description: Name of the quick rendition, as set in the configuration
size:
type: integer
description: Size of the image. This is the maximum of its width and its height in pixels.
width:
type: integer
description: Width of the image in pixels
height:
type: integer
description: Height of the image in pixels
RenditionRequest:
description: Rendition request
type: object
properties:
href:
type: string
description: Rendition url
RenditionResponse:
description: Rendition response
type: object
properties:
href:
type: string
description: download url
# Consent Management
ConsentStatus:
type: object
description: Consent status of an asset
properties:
assetConsentState:
$ref: '#/components/schemas/ConsentFormAssetConsentState'
approvedConsents:
description: An intersection of valid and approved consent categories from the linked consent forms
type: array
items:
$ref: '#/components/schemas/AssetConsentCategoryApiModel'
declinedConsents:
description: An sum of declined consent categories from the linked consent forms
type: array
items:
$ref: '#/components/schemas/AssetConsentCategoryApiModel'
ConsentFlags:
description: A collection of consent flags for the asset
type: array
minItems: 1
uniqueItems: true
items:
$ref: '#/components/schemas/AssetConsentFlag'
consentFormCount:
type: integer
description: The number of consent forms linked to the asset
countByConsentFormState:
description: A collection of information about the count of consent form per state
type: array
items:
$ref: '#/components/schemas/ConsentFormStateCount'
readOnly: true
ConsentFormAssetConsentState:
type: string
enum:
- NoConsentInfo
- NoConsentNeeded
- Pending
- NoConsent
- PartialConsent
- FullConsent
- MoreConsentNeeded
description: The overall consent status for the asset
AssetConsentCategoryApiModel:
description: API model for representing a consent category on level of assets
type: object
properties:
key:
description: 'Unique key on handy short string format (e.f. "C1", "C2", "C3") used to uniqly identify the consent category within the template'
type: string
example: C1
title:
description: Display title
type: string
example: Photos can be used in social media
AssetConsentFlag:
type: string
enum:
- NoConsentNeeded
- MoreConsentNeeded
description: The different consent flags that can be applies to an asset
ConsentFormStateCount:
description: API model containing information about the usage of a single consent form state
type: object
properties:
consentFormState:
description: A state of a consent form
$ref: '#/components/schemas/ConsentFormState'
consentFormCount:
format: int32
description: Number of consent form
type: integer
ConsentFormState:
type: string
enum:
- Pending
- Signed
- PartiallySigned
- Declined
- Revoked
description: The state of the consent form
# Groups
Group:
required:
- name
- license
- permissions
- properties
- externalIds
type: object
description: Group properties
properties:
isEveryone:
type: boolean
readOnly: true
description: Group is the built-in group of everyone (including guest)
isRegisteredUsers:
type: boolean
readOnly: true
description: Group is the built-in group of all registered users (not including guest)
isBuiltIn:
type: boolean
readOnly: true
description: Group is built-in
id:
format: int32
type: integer
readOnly: true
description: Group ID
created:
format: date-time
type: string
readOnly: true
description: Timestamp when the group was created
modified:
format: date-time
type: string
readOnly: true
description: Timestamp when the group was modified the last time
revision:
format: int32
type: integer
readOnly: true
description: Revision
name:
type: string
description: Group name
description:
type: string
description: Group description
license:
$ref: '#/components/schemas/UserLicenseSettings'
permissions:
$ref: '#/components/schemas/GroupPermissions'
properties:
description: Custom properties
type: array
items:
$ref: '#/components/schemas/MemberProperty'
externalIds:
description: External IDs for SSO
type: array
items:
$ref: '#/components/schemas/ExternalId'
deleted:
description: Deletion time (if group is marked as deleted in database)
format: date-time
type: string
GroupPermissions:
type: object
description: Available permissions for groups
properties:
albums:
$ref: '#/components/schemas/AlbumPermissions'
uploadToUploadArea:
type: boolean
description: Upload to upload area
manageTaxonomies:
type: boolean
description: Manage taxonomies
changeSiteAppearance:
type: boolean
description: Change site appearance
approvePendingSignups:
type: boolean
description: Approve pending signups
manageWebhooks:
type: boolean
description: Manage webhooks
shareBookmarks:
type: boolean
description: Share bookmarks
moderateComments:
type: boolean
description: Moderate comments
manageAlbums:
type: boolean
description: Manage albums
manageExports:
type: boolean
description: Manage exports
manageSettings:
type: boolean
description: Manage settings
inviteUsers:
type: boolean
description: Invite users
approveOrders:
type: boolean
description: Approve orders
shareCropAndDownloadPresets:
type: boolean
description: Share crop and download presets
isInDesignEditor:
type: boolean
description: Is in design editor
manageUsers:
type: boolean
description: Manage users
manageAnnotations:
type: boolean
description: Manage annotations
manageArchives:
type: boolean
description: Manage archives
manageWorkflows:
type: boolean
description: Manage workflows
manageServices:
type: boolean
description: Manage services
audit:
type: boolean
description: Audit
configureConsentForms:
type: boolean
description: Configure consent forms
api:
type: boolean
description: API
manageActivityExports:
type: boolean
description: Manage activity exports
manageActivityLogging:
type: boolean
description: Manage activity logging
MemberProperty:
type: object
description: Custom properties
properties:
key:
type: string
description: Custom property name
value:
type: string
description: Custom property value
MembershipIdListModel:
type: object
description: List of group IDs
properties:
groups:
type: array
description: List of groups
items:
format: int32
type: integer
description: Group ID
MemberIdListModel:
type: object
description: List of member IDs
properties:
users:
description: List of members of user type
type: array
items:
format: int32
type: integer
description: User ID
groups:
description: List of members of group type
type: array
items:
format: int32
type: integer
description: Group ID
ExternalId:
type: object
description: External ID of an SSO user
properties:
provider:
type: string
description: Provider ID
id:
type: string
description: External user or group ID
AlbumPermissions:
type: object
description: Available permissions for albums
properties:
create:
type: boolean
description: Create
shareWithGroups:
type: boolean
description: Share with groups
shareWithUsers:
type: boolean
description: Share with users
restrictToFriends:
type: boolean
description: Restrict to friends
shareWithGuests:
type: boolean
description: Share with guests
delegateDownloads:
type: boolean
description: Delegate downloads
showOnHomepage:
type: boolean
description: Show on home page
comment:
type: boolean
description: Comment
# Users
User:
required:
- username
- address
- license
- commerce
- account
- permissions
- properties
type: object
description: User properties
properties:
id:
format: int32
type: integer
readOnly: true
description: User ID
created:
format: date-time
type: string
readOnly: true
description: Timestamp when the user was created
modified:
format: date-time
type: string
readOnly: true
description: Timestamp when the user was modified the last time
revision:
format: int32
type: integer
readOnly: true
description: Revision
username:
type: string
description: Username
description:
type: string
description: Description
address:
$ref: '#/components/schemas/Address'
license:
$ref: '#/components/schemas/UserLicenseSettings'
commerce:
$ref: '#/components/schemas/CommerceInfo'
account:
$ref: '#/components/schemas/Account'
permissions:
$ref: '#/components/schemas/UserPermissions'
properties:
description: Custom properties
type: array
items:
$ref: '#/components/schemas/MemberProperty'
fullName:
type: string
readOnly: true
description: Full real name
isGuest:
type: boolean
readOnly: true
description: User is guest
isBuiltInAdministrator:
type: boolean
readOnly: true
description: User is built-in Administrator
isBuiltIn:
type: boolean
readOnly: true
description: User is built-in
deleted:
format: date-time
type: string
description: Deletion time (if user is marked as deleted in database)
UserLicenseSettings:
type: object
description: User license settings
properties:
level:
enum:
- none
- portal
- consumer
- contributor
- standard
- plus
- main
- editor
- pro
type: string
description: License level
mode:
enum:
- named
- concurrent
type: string
description: License concurrency mode
UserPermissions:
type: object
description: User permissions
properties:
isSiteOwner:
type: boolean
readOnly: true
description: User is site owner
Address:
required:
- givenName
- surname
- email
- streetAddress
type: object
description: Address
properties:
title:
type: string
description: Title
givenName:
type: string
description: First name
middleName:
type: string
description: Initials
surname:
type: string
description: Last name
organization:
type: string
description: Organization
email:
type: string
description: Email
profession:
type: string
description: Profession
businessType:
type: string
description: Business type
streetAddress:
type: array
description: Street addresses
items:
type: string
description: Street address
city:
type: string
description: City
state:
type: string
description: State
zipCode:
type: string
description: Zip code
country:
type: string
description: Country
phone:
type: string
description: Phone number
fax:
type: string
description: Fax number
homepage:
type: string
description: Home page
CommerceInfo:
type: object
description: User commerce info
properties:
category:
type: string
description: Category
accountId:
type: string
description: Account ID
paymentMethod:
enum:
- NoCharge
- Invoice
- CreditCard
- ManualAccept
type: string
description: Payment method
discount:
format: double
type: number
description: Discount
Account:
required:
- externalIds
type: object
description: User account information
properties:
password:
type: string
description: The password hash stored in MongoDB
hasPassword:
type: boolean
readOnly: true
description: User has a password
deletePassword:
type: boolean
description: Delete password
forcePasswordChange:
type: boolean
description: Force password change on next login
allowPasswordChange:
type: boolean
description: Allow user to change password
lastLoginDate:
format: date-time
type: string
readOnly: true
description: Last login date
expires:
format: date-time
type: string
description: Expiry time
isEnabled:
type: boolean
description: User is enabled (not locked out)
externalIds:
type: array
description: External IDs for SSO
items:
$ref: '#/components/schemas/ExternalId'
isSsoUser:
type: boolean
readOnly: true
description: User is SSO user (has external IDs)
# General
Count:
type: object
description: Count of x
properties:
count:
type: integer
doctype:
type: string
enum:
- Image
- Movie
- Audio
- Document
- Graphic
- Generic
ErrorMessage:
type: object
properties:
message:
type: string
description: Message describing the error
href:
type: string
description: url
Paging:
type: object
description: Paging information. If null, then the list is not paged, i.e., the representation contains the entire list.
properties:
prev:
type: string
description: URL of previous page. If null, then there is no previous page, and the current representation is the first page.
next:
type: string
description: URL of next page. If null, then there is no next page, and the current representation is the last page.
first:
type: string
description: |
URL of first page. This attribute is never null and can be used for restarting navigation at the beginning of the list.
last:
type: string
description: |
URL of last page. If null, then the last page is not known, because it is not known how many pages there are.
The last page (if the list has finite length) can be �discovered� by following paging.next repeatedly
PagingInfo:
required:
- first
- last
- next
- prev
properties:
next:
type: string
description: URL of next page (null if next page)
nullable: true
prev:
type: string
description: URL of previous page (null if first page)
nullable: true
first:
type: string
description: URL of first page
last:
type: string
description: URL of last page
description: Paging information in a paged list
ValueModelBoolean:
type: object
properties:
value:
type: boolean
ValueModelInteger:
type: object
properties:
value:
format: int32
type: integer
securitySchemes:
FotowareOAuth: # <---- arbitrary name
type: oauth2
description: This API uses OAuth 2 with the clientCredentials grant flow. [More info](https://api.example.com/docs/auth)
flows:
implicit: # <---- OAuth flow(authorizationCode, implicit, password or clientCredentials)
authorizationUrl: /fotoweb/oauth2/authorize
scopes:
full_access: Full access to the API
FotowareAccessToken: # arbitrary name for the security scheme
type: http
scheme: bearer
bearerFormat: JWT # optional, arbitrary value for documentation purposes