{
  "opencollection": "1.0.0",
  "info": {
    "name": "Cube Agents Connections API",
    "version": "1.0.0 (1.0)"
  },
  "items": [
    {
      "info": {
        "name": "Connections",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Deactivate a connection",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.cubesoftware.com/connection/:connection_id/deactivate",
            "headers": [
              {
                "name": "X-Company-ID",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "connection_id",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "oauth2",
              "flow": "authorization_code",
              "authorizationUrl": "https://portal.cubesoftware.com/o/authorize/",
              "accessTokenUrl": "https://api.cubesoftware.com/o/token/",
              "credentials": {
                "clientId": "{{clientId}}",
                "clientSecret": "{{clientSecret}}"
              }
            }
          },
          "docs": "Mark the connection as inactive. This will remove this connection from the UI. No data tied to this connection will be affected."
        },
        {
          "info": {
            "name": "Get Import Settings for Connection",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.cubesoftware.com/connection/:connection_id/import/settings",
            "headers": [
              {
                "name": "X-Company-ID",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "connection_id",
                "value": "",
                "type": "path",
                "description": "The ID of a connection"
              }
            ],
            "auth": {
              "type": "oauth2",
              "flow": "authorization_code",
              "authorizationUrl": "https://portal.cubesoftware.com/o/authorize/",
              "accessTokenUrl": "https://api.cubesoftware.com/o/token/",
              "credentials": {
                "clientId": "{{clientId}}",
                "clientSecret": "{{clientSecret}}"
              }
            }
          },
          "docs": "Get the default settings and required information for starting an import for a given connection.\n        "
        },
        {
          "info": {
            "name": "Resync a Connection",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.cubesoftware.com/connection/:connection_id/resync",
            "headers": [
              {
                "name": "X-Company-ID",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "connection_id",
                "value": "",
                "type": "path",
                "description": "The ID of a connection"
              },
              {
                "name": "end_time_dimension_id",
                "value": "",
                "type": "query",
                "description": "Optional time dimension ID for the end of the date range to sync (for supported Integrations)."
              },
              {
                "name": "start_time_dimension_id",
                "value": "",
                "type": "query",
                "description": "Optional time dimension ID for the beginning of the date range to sync (for supported Integrations)."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "oauth2",
              "flow": "authorization_code",
              "authorizationUrl": "https://portal.cubesoftware.com/o/authorize/",
              "accessTokenUrl": "https://api.cubesoftware.com/o/token/",
              "credentials": {
                "clientId": "{{clientId}}",
                "clientSecret": "{{clientSecret}}"
              }
            }
          },
          "docs": "Use this endpoint to resync dimensions from a source connection.\n        "
        },
        {
          "info": {
            "name": "Salesforce SOQL",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.cubesoftware.com/connection/:connection_id/salesforce/soql",
            "headers": [
              {
                "name": "X-Company-ID",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "connection_id",
                "value": "",
                "type": "path",
                "description": "The ID of a connection"
              },
              {
                "name": "options_only",
                "value": "",
                "type": "query",
                "description": "Whether the request is for field options (for mapping dimensions)\n                 or for all the data in tabular format"
              },
              {
                "name": "query",
                "value": "",
                "type": "query",
                "description": "The Salesforce SoQL to execute"
              }
            ],
            "auth": {
              "type": "oauth2",
              "flow": "authorization_code",
              "authorizationUrl": "https://portal.cubesoftware.com/o/authorize/",
              "accessTokenUrl": "https://api.cubesoftware.com/o/token/",
              "credentials": {
                "clientId": "{{clientId}}",
                "clientSecret": "{{clientSecret}}"
              }
            }
          },
          "docs": "Make a query against Salesforce and return the results\n        "
        },
        {
          "info": {
            "name": "Get Source Files",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.cubesoftware.com/connection/:connection_id/source-file-storage",
            "params": [
              {
                "name": "connection_id",
                "value": "",
                "type": "path",
                "description": "The UUID of the ERP connection."
              }
            ],
            "auth": {
              "type": "oauth2",
              "flow": "authorization_code",
              "authorizationUrl": "https://portal.cubesoftware.com/o/authorize/",
              "accessTokenUrl": "https://api.cubesoftware.com/o/token/",
              "credentials": {
                "clientId": "{{clientId}}",
                "clientSecret": "{{clientSecret}}"
              }
            }
          },
          "docs": "This endpoint retrieves all managed source files and folders for a connection"
        },
        {
          "info": {
            "name": "Edit Source File",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.cubesoftware.com/connection/:connection_id/source-file-storage",
            "params": [
              {
                "name": "connection_id",
                "value": "",
                "type": "path",
                "description": "The UUID of the ERP connection."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "oauth2",
              "flow": "authorization_code",
              "authorizationUrl": "https://portal.cubesoftware.com/o/authorize/",
              "accessTokenUrl": "https://api.cubesoftware.com/o/token/",
              "credentials": {
                "clientId": "{{clientId}}",
                "clientSecret": "{{clientSecret}}"
              }
            }
          },
          "docs": "This endpoint edits a source file in a connection"
        },
        {
          "info": {
            "name": "Delete Batch of Source Files",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.cubesoftware.com/connection/:connection_id/source-file-storage/delete",
            "params": [
              {
                "name": "connection_id",
                "value": "",
                "type": "path",
                "description": "The UUID of the ERP connection."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "oauth2",
              "flow": "authorization_code",
              "authorizationUrl": "https://portal.cubesoftware.com/o/authorize/",
              "accessTokenUrl": "https://api.cubesoftware.com/o/token/",
              "credentials": {
                "clientId": "{{clientId}}",
                "clientSecret": "{{clientSecret}}"
              }
            }
          },
          "docs": "This endpoint deletes a batch of source files for a connection"
        },
        {
          "info": {
            "name": "Generate Download URL for Source File",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.cubesoftware.com/connection/:connection_id/source-file-storage/download",
            "params": [
              {
                "name": "connection_id",
                "value": "",
                "type": "path",
                "description": "The UUID of the ERP connection."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "oauth2",
              "flow": "authorization_code",
              "authorizationUrl": "https://portal.cubesoftware.com/o/authorize/",
              "accessTokenUrl": "https://api.cubesoftware.com/o/token/",
              "credentials": {
                "clientId": "{{clientId}}",
                "clientSecret": "{{clientSecret}}"
              }
            }
          },
          "docs": "This endpoint generates a download URL for a source file in a connection"
        },
        {
          "info": {
            "name": "Generate Upload URLs for Source Files",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.cubesoftware.com/connection/:connection_id/source-file-storage/upload-urls",
            "params": [
              {
                "name": "connection_id",
                "value": "",
                "type": "path",
                "description": "The UUID of the ERP connection."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "oauth2",
              "flow": "authorization_code",
              "authorizationUrl": "https://portal.cubesoftware.com/o/authorize/",
              "accessTokenUrl": "https://api.cubesoftware.com/o/token/",
              "credentials": {
                "clientId": "{{clientId}}",
                "clientSecret": "{{clientSecret}}"
              }
            }
          },
          "docs": "This endpoint generates upload URLs for source files in a connection"
        },
        {
          "info": {
            "name": "Get all Connections",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.cubesoftware.com/connections",
            "headers": [
              {
                "name": "X-Company-ID",
                "value": ""
              }
            ],
            "auth": {
              "type": "oauth2",
              "flow": "authorization_code",
              "authorizationUrl": "https://portal.cubesoftware.com/o/authorize/",
              "accessTokenUrl": "https://api.cubesoftware.com/o/token/",
              "credentials": {
                "clientId": "{{clientId}}",
                "clientSecret": "{{clientSecret}}"
              }
            }
          },
          "docs": "Get all connections for a company"
        },
        {
          "info": {
            "name": "Get a Connection",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.cubesoftware.com/connections/:connection_id",
            "headers": [
              {
                "name": "X-Company-ID",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "connection_id",
                "value": "",
                "type": "path",
                "description": "The ID of a connection"
              }
            ],
            "auth": {
              "type": "oauth2",
              "flow": "authorization_code",
              "authorizationUrl": "https://portal.cubesoftware.com/o/authorize/",
              "accessTokenUrl": "https://api.cubesoftware.com/o/token/",
              "credentials": {
                "clientId": "{{clientId}}",
                "clientSecret": "{{clientSecret}}"
              }
            }
          },
          "docs": "Get a single connection"
        },
        {
          "info": {
            "name": "Start a Data Import",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.cubesoftware.com/connections/:connection_id/imports",
            "headers": [
              {
                "name": "X-Company-ID",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "connection_id",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "oauth2",
              "flow": "authorization_code",
              "authorizationUrl": "https://portal.cubesoftware.com/o/authorize/",
              "accessTokenUrl": "https://api.cubesoftware.com/o/token/",
              "credentials": {
                "clientId": "{{clientId}}",
                "clientSecret": "{{clientSecret}}"
              }
            }
          },
          "docs": "This endpoint will start a data import with the given connection. The request requires a connection ID and dimension IDs necessary to start an import."
        },
        {
          "info": {
            "name": "Cancel a Data Import",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.cubesoftware.com/connections/:connection_id/imports/:import_id",
            "headers": [
              {
                "name": "HTTP_ACCEPT",
                "value": ""
              },
              {
                "name": "X-Company-ID",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "connection_id",
                "value": "",
                "type": "path"
              },
              {
                "name": "import_id",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "oauth2",
              "flow": "authorization_code",
              "authorizationUrl": "https://portal.cubesoftware.com/o/authorize/",
              "accessTokenUrl": "https://api.cubesoftware.com/o/token/",
              "credentials": {
                "clientId": "{{clientId}}",
                "clientSecret": "{{clientSecret}}"
              }
            }
          },
          "docs": "Cancel an active data import by providing the import ID and connection ID. This action immediately stops the import process and sends a cancellation email to the user who initiated the import. Accessible only to Finance and Admin users."
        },
        {
          "info": {
            "name": "Get Import History",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.cubesoftware.com/imports",
            "headers": [
              {
                "name": "X-Company-ID",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "data_table_id",
                "value": "",
                "type": "query",
                "description": "Filter imports related to a specific data table"
              }
            ],
            "auth": {
              "type": "oauth2",
              "flow": "authorization_code",
              "authorizationUrl": "https://portal.cubesoftware.com/o/authorize/",
              "accessTokenUrl": "https://api.cubesoftware.com/o/token/",
              "credentials": {
                "clientId": "{{clientId}}",
                "clientSecret": "{{clientSecret}}"
              }
            }
          },
          "docs": "List all of a company's source data imports ordered by most recent to least.\n        Optionally filtered by a data table id."
        }
      ]
    }
  ],
  "bundled": true
}