Sign in
Most calls require an authToken. In normal conditions one authToken expires after one month.
Files
Or in an url: https://alpha.wvr.io/api/file/download?target=project_id&fileId=file_id (this only works if the authtoken is sent on the header)
Projects
Branches
This call is a little bit weird since it passes a GET call via a POST call
Write
The nodes, attributes and relations in Weaver are created and updated using write operations. These are atomic operations that are sent to a branch in a project.
These are the supported write operations:
(*) optional
Plugins
import requests
 response = requests.get(
     endpoint + '/plugins',
 )
  | 
This will not only list all available plugins but also their possible arguments.
Example:
[
   {
     "name": "weaver-importer-exporter",
     "version": "6.4.0-rc.0",
     "apiVersion": "4.0.0",
     "author": "gijs@sysunite.com",
     "description": "Import to and export from weaver",
     "functions": [
       {
         "route": "plugin.function.weaver-importer-exporter.export",
 ...
         "signature": {
           "summary": "Export to a file",
           "description": "Exports data to a file using a profile",
           "operationId": "export",
           "requestBody": {
             "content": {
               "multipart/form-data": {
                 "schema": {
                   "required": [
                     "project",
                     "user"
                   ],
                   "properties": {
                     "project": {
                       "type": "string",
                       "description": "The id of the project to import into"
                     },
                     "user": {
                       "type": "string",
                       "description": "The authToken of a user to import as"
                     },
                     "profile": {
                       "type": "string",
                       "description": "The name of the profile. This determines how the excel file is read. Default is 'model-driven'."
                     },
                     "branch": {
                       "type": "string",
                       "description": "The branch uid",
                       "default": "main"
                     },
                     "graph": {
                       "type": "string",
                       "description": "The graph the export should read from"
                     },
                     "config": {
                       "type": "object",
                       "description": "A stringified json containing any field the profile needs",
                       "default": "undefined"
                     },
                     "zipped": {
                       "type": "boolean",
                       "description": "If the export should be zipped",
                       "default": true
                     }
 ...
  | 
The properties listed here can be sent as fields. The two fields project and user get sent in a different way using target and authToken:
 | 
|---|
projectId = weaver.currentProject().id()
 authToken = Weaver.getInstance().currentUser().authToken
 res = await supertest.agent(WEAVER_ENDPOINT)
 .post('/plugin/function/weaver-importer-exporter/export')
 # System fields
 .field('target', projectId)
 .field('authToken', authToken)
 # Plugin fields
 .field('profile', 'turtle')
 res.status.should.equal(200)
 report = await waitForPlugin(plugin, JSON.parse(res.text))
 expectDone(report)
  |