Collections functions
General functions
Node functions
Render functions
Theme permission functions
User functions
Resource 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()