Coding standards
Security in ResourceSpace
Developer reference
Database
Action functions
Admin functions
Ajax functions
Annotation functions
API functions
Collections functions
Comment functions
Config functions
CSV export functions
Dash functions
Debug functions
Encryption functions
Facial recognition functions
File functions
General functions
Language functions
Log functions
Login functions
Message functions
Migration functions
Node functions
PDF functions
Plugin functions
Render functions
Reporting functions
Request functions
Research functions
Slideshow functions
Theme permission functions
User functions
Video functions
Database functions
Metadata functions
Resource functions
Search functions
Map functions
Job functions
Tab functions
Test functions

Client side API requests

Instead of creating new AJAX calls to custom endpoints it is recommended to instead use the new api() JavaScript function. This makes calls to the ResourceSpace API using native browser authentication.

Please note that from v10.2 only functions appropriate for browser initiated activity are permitted in this mode.

To make an API call simply call the api() function with the following parameters:-

name The name of the API function. See https://www.resourcespace.com/knowledge-base/api/ for documentation on all available functions.
params An array of named parameters to pass to the function. These are specific to each function and are documented in the function reference.  
callback An optional callback function that will be run once the API call has completed. The function will be called with the output of the API call as an argument.  
post_data_extra

(new to v10.2)

Any extra POST data you want/need to pass to the API function. Common use case is for passing the CSRF token for state changing operations.

 

Examples

// This will create a new collection named 'Trees' and select it in the collection bar'
api('create_collection',{"name":"Trees"},function(response){ChangeCollection(response,usercollection);});

// This will retrieve the URL for the 'scr' size image preview for resource ID 11912 and open it in a new tab
api('get_resource_path',{"ref":"119912","getfilepath":"false","size":"scr"},function(response){window.open(response,'_blank');});

// Deleting a resource with a CSRF token
api(
'delete_resource',
    {'resource': someID}, 
    yourCallback,
   
);

// When inside JS land, an alternative is to target the data attribute of interest during some event:.
api(
'delete_resource',
    {'resource': someID}, 
    yourCallback,
  jQuery(event.target).data('api-native-csrf')
);
Note: to add that data attribute, use generate_csrf_data_for_api_native_authmode()