API BASE URL: https://j0624ut64a.execute-api.us-east-1.amazonaws.com/
S3 BASE URL: https://d3-studio-assets-1660843754077.s3.us-west-1.amazonaws.com/
- Web3 Authentication
- SQL Server integration
- S3 Filestorage Integration for arbitrary file-types
Currently, all endpoints are implemented as POST requests. All endpoints take jsonified parameters in the request body except for the /upload_asset endpoint which takes a FormData() object.
/login- Parameters:
- address: str
- timestamp: int
- signature: str (b58 encoded)
- Returns:
- token (jwt token to be included in x-access-tokens header for all authorized endpoints)
- Parameters:
/update_profile- Parameters:
- username: str
- email: str
- Parameters:
/upload_asset- Parameters:
- FormData() object with a single
imagefield.
- FormData() object with a single
- Parameters:
/overwrite_asset- Parameters:
- FormData() object with a single
imagefield. - asset_uid: int (of existing asset as form parameter)
- file_key: str (of existing asset as form parameter)
- FormData() object with a single
- Parameters:
/duplicate_asset- Parameters:
- asset_uid: int (of existing asset, can be owned by different user)
- Parameters:
/delete_asset- Parameters:
- asset_uid: int (of existing asset as form parameter)
- file_key: str (of existing asset as form parameter)
- Parameters:
/update_asset_metadata- Parameters:
- asset_uid: int
- transaction_signature: str
- file_name: str
- purchase_type: str
- confirmed: bool
- confirmation_timestamp: int (optional)
- Parameters:
/download_asset- Parameters:
- file_path: str (corresponds to
file_keyreturned by /list_assets endpoint)
- file_path: str (corresponds to
- Returns:
- File binary data in
contentsof response (if non-json file type) - JSON object in
datafield of response (if json file type)
- File binary data in
- Parameters:
/list_assets- Parameters:
- Automatically extracts user_uid from jwt header
- Returns:
- JSON encoded array of Asset objects in the
datafield of response.- Complete set of values included in each Asset object can be found in the data model located in
/tables/tables/Assets.py
- Complete set of values included in each Asset object can be found in the data model located in
- JSON encoded array of Asset objects in the
- Parameters:
- All endpoints other than login are authenticated via the
user_uidvalue in the JWT upon login. - Response and error codes can be found in the
/response_utilsdirectory. - Client code examples can be found in the
testsfolder. - This system is currently deployed as AWS Lambda functions using the Serverless Framework