{
  "opencollection": "1.0.0",
  "info": {
    "name": "Cube Agents Integrations API",
    "version": "1.0.0 (1.0)"
  },
  "items": [
    {
      "info": {
        "name": "Integrations",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List all company integrations",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.cubesoftware.com/company/integrations",
            "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": "List all company integrations"
        },
        {
          "info": {
            "name": "Add a new integration to a company",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.cubesoftware.com/company/integrations",
            "headers": [
              {
                "name": "X-Company-ID",
                "value": ""
              }
            ],
            "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": "Add a new integration to a company"
        },
        {
          "info": {
            "name": "Retrieve a company integration by ID",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.cubesoftware.com/company/integrations/:id",
            "headers": [
              {
                "name": "X-Company-ID",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path"
              }
            ],
            "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": "Retrieve a company integration by ID"
        },
        {
          "info": {
            "name": "Update a companies integration settings",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.cubesoftware.com/company/integrations/:id",
            "headers": [
              {
                "name": "X-Company-ID",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "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": "Update a companies integration settings"
        },
        {
          "info": {
            "name": "Remove an integration from a company",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.cubesoftware.com/company/integrations/:id",
            "headers": [
              {
                "name": "X-Company-ID",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path"
              }
            ],
            "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": "Remove an integration from a company"
        },
        {
          "info": {
            "name": "List all integrations",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.cubesoftware.com/integrations",
            "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": "List all integrations"
        },
        {
          "info": {
            "name": "Retrieve an integration by ID",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.cubesoftware.com/integrations/:id",
            "headers": [
              {
                "name": "X-Company-ID",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "A unique integer value identifying this integration."
              }
            ],
            "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": "Retrieve an integration by ID"
        },
        {
          "info": {
            "name": "integrations_merge_link_complete_create",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.cubesoftware.com/integrations/merge/link-complete",
            "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": "Shared setup for Merge Link endpoints: permission check, integration validation."
        },
        {
          "info": {
            "name": "integrations_merge_link_token_create",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.cubesoftware.com/integrations/merge/link-token",
            "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": "Shared setup for Merge Link endpoints: permission check, integration validation."
        },
        {
          "info": {
            "name": "integrations_merge_webhook_create",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.cubesoftware.com/integrations/merge/webhook"
          },
          "docs": "Handle an inbound Merge webhook POST.\n\nValidates the payload, deduplicates by signature, resolves the\nconnection, checks sync-status safety from the webhook payload, and\ndispatches a transaction refresh task when all preconditions pass.\n\nArgs:\n    request: DRF request with HMAC-verified request.auth signature.\n\nReturns:\n    JsonResponse with status indicating the outcome: duplicate,\n    ignored, skipped, or accepted (HTTP 202)."
        }
      ]
    }
  ],
  "bundled": true
}