Integration Management

Fetch Available Vendors

Fetches all vendors

Get a list of all available Vendors for integration that can be added to an Organization.

Endpoint: POST /api/oem-api/vendor

{
  "clientId": "your-client-id",
  "clientSecret": "your-client-secret",
  "grantType": "client_credentials",
  "scope": "vendor_manage"
}

Response (200 Success):

{
  "status": 200,
  "message": "Successfully fetched MSPC vendors",
  "vendors": [
    {
      "id": "43211235",
      "name": "vendor name",
      "integrationStatus": "active",
      "integrationType": "custom_hosted",
      "integrationCredentialTemplate": {
        "api key": "",
        "api username": ""
      }
    }
  ]
}

Create Integration

Create an integration

Create an integration for an organization using the vendor ID and credential template from the previous step.

Endpoint: POST /api/oem-api/integration

{
  "clientId": "your-client-id",
  "clientSecret": "your-client-secret",
  "grantType": "client_credentials",
  "scope": "vendor_manage",
  "organizationOemToken": "organization-oem-token",
  "data": {
    "vendorId": "vendor-id",
    "integrationCredentials": {
      "api user": "api-user",
      "api key": "api-key"
    }
  }
}

Response (201 Created):

{
  "integration": {
    "id": "67ae3bcff05cb32e0cb6d9b7",
    "vendorId": "vendor-id"
  },
  "status": 201,
  "message": "Successfully created an integration for an organization"
}

List Organization Integrations

Fetch all integrations for a specific organization.

Fetch Organization Integrations

Endpoint: POST /api/oem-api/integration/list

{
  "clientId": "your-client-id",
  "clientSecret": "your-client-secret",
  "grantType": "client_credentials",
  "scope": "vendor_manage",
  "organizationOemToken": "organization-oem-token"
}

Response (200 Success):

{
  "integrations": [
    {
      "id": "67ae3bcff05cb32e0cb6d9b7",
      "vendorId": "vendor-id",
      "integrationCredentialTemplate": [
        {
          "api user": "",
          "api key": ""
        }
      ]
    }
  ],
  "status": 200,
  "message": "Successfully fetched list of user's integrations"
}

Update Integration

Update integration credentials on behalf of a user

Update integration credentials for an existing integration.

Endpoint: PATCH /api/oem-api/integration/{integrationId}

{
  "clientId": "your-client-id",
  "clientSecret": "your-client-secret",
  "grantType": "client_credentials",
  "scope": "vendor_manage",
  "organizationOemToken": "organization-oem-token",
  "data": {
    "integrationCredentials": {
      "api user": "updated-api-user",
      "api key": "updated-api-key"
    }
  }
}

Response (200 Success):

{
  "integration": {
    "id": "67ae3bcff05cb32e0cb6d9b7",
    "vendorId": "vendor-id"
  },
  "status": 200,
  "message": "Successfully updated a user's integration credentials"
}