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.
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 /