List All LLM Providers by Organization

Retrieve every LLM provider available to an organization — Pipefy-managed (system) providers and custom providers — in a single query.

Before You Begin

🔗 Use the GraphQL Playground to execute the queries in this guide.

➡️ New to GraphQL? Learn how to navigate the Playground with our Playground Basics Guide.

Prerequisites

  1. Authentication: Use a Service Account token.
  2. Permissions: You must have permissions to manage AI providers in the organization, typically granted to super admin roles.
  3. Organization UUID: The UUID of the organization whose providers you want to list.

Step 1: Execute the Query

This query retrieves every LLM provider available to an organization: both custom providers (configured by the organization) and system providers (managed by Pipefy). It supports pagination through a connection.

Because the two kinds of provider expose different fields, each node is a union (LlmProviderUnion). Use inline fragments (... on LlmProvider / ... on SystemLlmProvider) to select the fields of each type, and __typename to tell them apart.

If you only need the organization's custom providers, use the simpler List LLM Providers by Organization query instead.

query {
  allLlmProvidersByOrganization(organizationUuid: "org-uuid-example", onlyActiveProviders: false) {
    edges {
      cursor
      node {
        __typename
        ... on LlmProvider {
          id
          name
          configuration
          active
          organizationDefault
        }
        ... on SystemLlmProvider {
          id
          name
          configuration
          state
          deprecationDate
          organizationDefault
        }
      }
    }
    pageInfo {
      hasNextPage
      endCursor
    }
  }
}

Arguments

  • organizationUuid (String, required): The UUID of the organization.
  • onlyActiveProviders (Boolean, optional, default false): When true, filters out disabled custom providers. System providers are always returned.

Response Fields

  • allLlmProvidersByOrganization: A connection object whose nodes are an LlmProviderUnion.
    • edges: A list of provider entries.
      • cursor: A unique identifier for the entry, used for pagination.
      • node: The LLM provider object — either a LlmProvider or a SystemLlmProvider.
        • __typename: LlmProvider for custom providers, SystemLlmProvider for Pipefy-managed ones.
        • On LlmProvider (custom):
          • id: The unique ID of the provider configuration.
          • name: The descriptive name of the provider.
          • configuration: The non-sensitive configuration details (e.g., provider name, model).
          • active: true if the provider is currently enabled (i.e., has no disabled_at value).
          • organizationDefault: true if this provider is the organization default.
        • On SystemLlmProvider (Pipefy-managed):
          • id: The unique ID of the system provider.
          • name: The provider name.
          • configuration: The provider configuration (e.g., provider name, model).
          • state: The provider lifecycle state — active, deprecating, or deprecated.
          • deprecationDate: The date the provider is scheduled to be deprecated, when applicable.
          • organizationDefault: true if this provider is the organization default.
    • pageInfo: An object containing pagination details.
      • hasNextPage: true if more providers are available.
      • endCursor: The cursor of the last item in the list.

Example Response

{
  "data": {
    "allLlmProvidersByOrganization": {
      "edges": [
        {
          "cursor": "MQ",
          "node": {
            "__typename": "SystemLlmProvider",
            "id": "1",
            "name": "Pipefy AI",
            "configuration": {
              "provider": "pipefyai",
              "model": "gpt-4o"
            },
            "state": "active",
            "deprecationDate": null,
            "organizationDefault": true
          }
        },
        {
          "cursor": "Mg",
          "node": {
            "__typename": "LlmProvider",
            "id": "27",
            "name": "OpenAI GPT-4o",
            "configuration": {
              "provider": "openai",
              "model_name": "gpt-4o"
            },
            "active": true,
            "organizationDefault": false
          }
        }
      ],
      "pageInfo": {
        "hasNextPage": false,
        "endCursor": "Mg"
      }
    }
  }
}

Additional Notes

  • System providers are only included when the organization has the corresponding capability enabled; otherwise the query returns custom providers only.
  • The onlyActiveProviders argument filters custom providers by their active status; system providers are returned regardless of their state.
  • For security, sensitive information like API keys is never exposed in the configuration object of the response.
  • The query returns an error if the organizationUuid is invalid or if you lack the necessary permissions.

Use this query when you need the full set of providers an organization can use; use List LLM Providers by Organization when you only care about custom providers.