{
  "opencollection": "1.0.0",
  "info": {
    "name": "Ampersand public API Key Installation API",
    "version": "1.0.0"
  },
  "request": {
    "auth": {
      "type": "apikey",
      "key": "X-Api-Key",
      "value": "{{X-Api-Key}}",
      "placement": "header"
    }
  },
  "items": [
    {
      "info": {
        "name": "Installation",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Ampersand List Installations for an Integration",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.withampersand.com/v1/projects/:projectIdOrName/integrations/:integrationId/installations",
            "params": [
              {
                "name": "projectIdOrName",
                "value": "my-project",
                "type": "path",
                "description": "The Ampersand project ID or project name."
              },
              {
                "name": "integrationId",
                "value": "550e8400-e29b-41d4-a716-446655440000",
                "type": "path",
                "description": "The unique identifier (UUID) of the integration."
              },
              {
                "name": "groupRef",
                "value": "group-123",
                "type": "query",
                "description": "The ID that your app uses to identify a group of users (e.g. an org ID, workspace ID, or team ID). When provided, only returns installations belonging to this group."
              }
            ]
          },
          "docs": "Lists all installations for a specific integration within a project. To list installations across all integrations, use listInstallationsForProject instead.\n"
        },
        {
          "info": {
            "name": "Ampersand Create a New Installation",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.withampersand.com/v1/projects/:projectIdOrName/integrations/:integrationId/installations",
            "params": [
              {
                "name": "projectIdOrName",
                "value": "my-project",
                "type": "path",
                "description": "The Ampersand project ID or project name."
              },
              {
                "name": "integrationId",
                "value": "113e9685-9a51-42cc-8662-9d9725b17f14",
                "type": "path",
                "description": "The integration ID."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Install an integration for a specific group. The group must already have a SaaS connection — either provide its `connectionId`, or omit it to use the group's default. To create a connection, use the [OAuth Connect endpoint](https://docs.withampersand.com/reference/oauth/generate-oauth-authorization-url) or the [prebuilt UI components](https://docs.withampersand.com/embeddable-ui-components).\n"
        },
        {
          "info": {
            "name": "Ampersand Get an Installation",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.withampersand.com/v1/projects/:projectIdOrName/integrations/:integrationId/installations/:installationId",
            "params": [
              {
                "name": "projectIdOrName",
                "value": "my-project",
                "type": "path",
                "description": "The Ampersand project ID or project name."
              },
              {
                "name": "integrationId",
                "value": "550e8400-e29b-41d4-a716-446655440000",
                "type": "path",
                "description": "The unique identifier (UUID) of the integration."
              },
              {
                "name": "installationId",
                "value": "7b3c9d2e-5a1f-4e8b-b6d4-9c8a2f1e5d3b",
                "type": "path",
                "description": "The unique identifier (UUID) of the installation."
              }
            ]
          },
          "docs": "Retrieves a single installation by ID, including its connection details, config, and health status.\n"
        },
        {
          "info": {
            "name": "Ampersand Update an Installation",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.withampersand.com/v1/projects/:projectIdOrName/integrations/:integrationId/installations/:installationId",
            "params": [
              {
                "name": "projectIdOrName",
                "value": "my-project",
                "type": "path",
                "description": "The Ampersand project ID or project name."
              },
              {
                "name": "integrationId",
                "value": "e3a7f9c1-4b2d-4e8a-9f6b-2d5c8a1e3b7f",
                "type": "path",
                "description": "The ID of the integration that this installation belongs to."
              },
              {
                "name": "installationId",
                "value": "7b3c9d2e-5a1f-4e8b-b6d4-9c8a2f1e5d3b",
                "type": "path",
                "description": "The Ampersand installation ID."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Update an installation using field masks. Note: subscribe config changes trigger a subscription change in the provider's system, which typically takes 1-2 minutes but may take up to 10 minutes.\n"
        },
        {
          "info": {
            "name": "Ampersand Delete an Installation",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.withampersand.com/v1/projects/:projectIdOrName/integrations/:integrationId/installations/:installationId",
            "params": [
              {
                "name": "projectIdOrName",
                "value": "my-project",
                "type": "path",
                "description": "The Ampersand project ID or project name."
              },
              {
                "name": "integrationId",
                "value": "",
                "type": "path",
                "description": "The integration ID."
              },
              {
                "name": "installationId",
                "value": "",
                "type": "path",
                "description": "The Ampersand installation ID."
              }
            ]
          },
          "docs": "Delete an Installation. This will also delete the associated Connection if it is not used by any other Installations.\n"
        },
        {
          "info": {
            "name": "Ampersand Update an Installation Object",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.withampersand.com/v1/projects/:projectIdOrName/integrations/:integrationId/objects/:objectName/config-content",
            "params": [
              {
                "name": "projectIdOrName",
                "value": "my-project",
                "type": "path",
                "description": "The Ampersand project ID or project name."
              },
              {
                "name": "integrationId",
                "value": "",
                "type": "path",
                "description": "The integration ID."
              },
              {
                "name": "objectName",
                "value": "account",
                "type": "path",
                "description": "The object name whose config content will be patched.\nMust match an object name defined in the integration's manifest for the specified action type (read, subscribe, or write).\nCommon examples include: `account`, `contact`, `lead`, `opportunity` (for Salesforce), `deal`, `company` (for HubSpot), etc.\n"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates a single object's configuration within an installation using JSON Patch syntax.\n"
        },
        {
          "info": {
            "name": "Ampersand List Installations for a Project",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.withampersand.com/v1/projects/:projectIdOrName/installations",
            "params": [
              {
                "name": "projectIdOrName",
                "value": "my-project",
                "type": "path",
                "description": "The Ampersand project ID or project name."
              },
              {
                "name": "groupRef",
                "value": "group-123",
                "type": "query",
                "description": "The ID that your app uses to identify a group of users (e.g. an org ID, workspace ID, or team ID). When provided, only returns installations belonging to this group."
              }
            ]
          },
          "docs": "Lists all installations across every integration in a project, giving you a complete view of all active customer integrations. To narrow results to a single integration, use listInstallations instead.\n"
        }
      ]
    }
  ],
  "bundled": true
}