Differences between Faspex 5 API and previous versions
Faspex 4 (and before) integration migration matrix with Faspex 5
Items | Faspex 4 and older | Faspex 5 |
---|---|---|
Authentication |
|
|
Authorization |
|
|
API | RESTful | RESTful with OAS 3.0 file (allows any industry-standard code generator to build client libraries) |
API base path | /aspera/faspex/api/ | /aspera/faspex/api/v5/ |
Data transfer | Use the API to create Faspex packages. Use an Aspera transfer tool or SDK to pick files and
perform the transfer. Compatible transfer tools and SDKs are:
|
Use the API to create Faspex packages. Use an Aspera transfer tool or SDK to pick files and
perform the transfer. Compatible transfer tools and SDKs are:
|
Sending packages workflows | v3
|
|
Receiving package | API calls followed by a FASP transfer for package sending or receiving use casesAPI-only calls for all the other use cases | API calls followed by a FASP transfer for package sending or receiving use casesAPI-only calls for all the other use cases |
SDK | Java SDK with support for a limited number of API endpoints | Effort is done in making easy the code generation covering the entire API endpoints. Example provided. |
Authentication and authorization
Faspex 5 adopts OAuth 2 as the authorization mechanism for its APIs. The Faspex V3 API used less-secure HTTP basic authorization and the Faspex V4 API did not decouple user authentication from authorization.
An administrator can register an API client to retrieve a bearer token to interact with the endpoints. The bearer token can be obtained through either a JWT grant flow, an authorization code flow or an authorization code with PKCE (Proof Key for Code Exchange) flow. See Authentication and authorization.
API differences
Packages API
In the Faspex 5 API, packages are handled by top-level endpoints and do not require you to identify packages by ownership (such as user or workgroup). Faspex 5 expects you to directly interact with packages using the package ID. Package availability is based on the role of the current logged-in user. This change makes it easier to work with packages, but may require those migrating from Faspex 4 to use several endpoints to achieve the same goal.
Enhancements to search and scoping are planned for a future release of Faspex 5.
- Endpoint
- API calls
- View all packages (admin search)
-
Faspex 4
POST /api/packages/
- Get all packages of a user
-
Faspex 4
GET /api/users/{user_id}/packages/
- View all packages (admin search)
-
Faspex 4
POST /api/packages/
- Get all packages of a user
-
Faspex 4
GET /api/users/{user_id}/packages/
- Get a package of a user
-
Faspex 4
GET /api/users/{user_id}/packages/{package_delivery_id}
- Create a package
-
Faspex 4
POST /api/users/{user_id}/packages
- Delete a package of a user
-
Faspex 4
DELETE /api/users/{user_id}/packages/{package_delivery_id}
- Delete a package from a dropbox
-
Faspex 4
DELETE /api/dropboxes/{dropbox_id}/packages/{package_delivery_id}
- Delete all packages of a user
-
Faspex 4
DELETE /api/users/{user_id}/packages
- Delete all packages from a dropbox
-
Faspex 4
DELETE /api/dropboxes/{dropbox_id}/packages
- Update and edit package attributes, recipients, and metadata of a user
-
Faspex 4
PUT /api/users/{user_id}/packages/{package_delivery_id}
- Update and edit package attributes, recipients, and metadata from a dropbox
-
Faspex 4
PUT /api/dropboxes/{dropbox_id}/packages/{package_delivery_id}
- Search for a package of a user
-
Faspex 4
GET /api/users/{user_id}/packages
- Search for a package in a dropbox
-
Faspex 4
GET /api/dropboxes/{dropbox_id}/packages
- Forward a package of a user
-
Faspex 4
POST /api/users/{user_id}/packages/{package_delivery_id}
- Forward a package in a dropbox
-
Faspex 4
POST /api/dropboxes/{dropbox_id}/packages/{package_delivery_id}
- Replicate package contents of a user
-
Faspex 4
POST /api/users/{user_id}/packages/{package_delivery_id}/replicate_contents
- Replicate package contents in a dropbox
-
Faspex 4
POST /api/dropboxes/{dropbox_id}/packages/{package_delivery_id}/replicate_contents
- Delete the files and folders from a package
-
Faspex 4
POST /api/users/{user_id}/packages/{package_id}/delete_contents
- Rename package contents
-
Faspex 4
POST /api/users/{user_id}/packages/{package_id}/rename_contents
- Get transfer specification needed for a package transfer
-
Faspex 4
POST api/users/{user_id}/packages/{package_id}/transfer_specs
- Get package transfer history (for transfer sessions) for users
-
Faspex 4
GET /api/users/{user_id}/packages/{package_delivery_id}/transfers
- Get package transfer history (for transfer sessions) for dropboxes
-
Faspex 4
GET /api/dropboxes)/{dropbox_id}/packages/{package_delivery_id}/transfers
- Initiate a remote content upload for a user package
-
Faspex 4
POST /api/users/{user_id}/packages/{package_delivery_id}/transfers
Nodes API
Shares are now called shared folders or storage locations in Faspex 5.- Endpoint
- API calls
- Get all nodes
-
Faspex 4
GET /api/nodes
- Get shares for a given node
-
Faspex 4
GET /api/nodes/{node_id}/shares
Metadata profiles
- Get current metadata profiles
-
Faspex 4
GET /api/metadata_profiles
- Get a metadata profile
-
Faspex 4
GET /api/metadata_profiles/{id}
- Get the default metadata profile
-
Faspex 4
GET /api/metadata_profiles/default_profile
- Validate metadata
-
Faspex 4
POST /api/metadata_profiles/{id}/validate_metadata
Users API
- Endpoint
- API calls
- Get current user info
-
Faspex 4
GET /me
- Sign on (API v.3)
-
Faspex 4
POST /aspera/faspex/signon/
- Find available login methods (API v.3)
-
Faspex 4
GET /login/new
- Get user contacts (API v.3)
-
Faspex 4
GET /aspera/faspex/address-book
- Get users
-
Faspex 4
GET /api/users
- Create user
-
Faspex 4
POST /aspera/faspex/api/users
- Update user
-
Faspex 4
PUT /aspera/faspex/api/users/{id}
- Delete user
-
Faspex 4
DELETE /aspera/faspex/api/users/{id}
- Get user configuration
-
Faspex 4
GET /api/users/{id}/configuration or GET /api/users/me/configuration
Shared inboxes (formerly dropboxes) API
- List all dropboxes to which an account has access (API v.3)
-
Faspex 4
GET /aspera/faspex/dropboxes
- Get information about a dropbox (API v.3)
-
Faspex 4
GET /aspera/faspex/dropboxes/{dropbox_id}
Dropbox and workgroup memberships API
- Endpoint
- API calls
- Get current dropbox memberships
-
Faspex 4
GET /api/dropbox_memberships
- Get current workgroup memberships
-
Faspex 4
GET /api/workgroup_memberships
- Get specific dropbox membership
-
Faspex 4
GET /api/dropbox_memberships/{id}
- Get specific workgroup memberships
-
Faspex 4
GET /api/workgroup_memberships/{id}
- Create a dropbox
-
Faspex 4
POST /api/dropbox_memberships
- Create a workgroup
-
Faspex 4
POST /api/workgroup_memberships
- Delete a dropbox membership
-
Faspex 4
DELETE /api/dropbox_memberships/{id}
- Delete a workgroup membership
-
Faspex 4
DELETE /api/workgroup_memberships/{id}
SAML configuration API
- Endpoint
- API calls
- Get user profile
-
Faspex 4
GET /api/user_profile_fields/{saml_configuration_id}
- Get current SAML configurations
-
Faspex 4
GET /api/saml_configurations
- Get a SAML configuration
-
Faspex 4
GET /api/saml_configurations/{id}
Faspex services API
- Endpoint
- API calls
- XRDS Discovery Service
-
Faspex 4
GET /