Skip to content
AIPDocs
Release status
DocumentationAIP 1.0ConnectorConnectors

Dify capabilities

Use this index to choose the Dify family that owns a task and interpret its AIP contract before invocation. The reviewed frozen catalogue contains 79 provider operations. Each configured app also publishes one invocation alias.

The source-derived ../assets/capabilities.json snapshot owns the ordered machine inventory. Focused pages own task guidance and interpretation; the snapshot does not replace runtime discovery or the source that constructs each contract.

Catalogue identity

Property Reviewed value
AIP source 97be86e9efedf07ecf1783b03800f683f107fb04
Pinned Dify source f8d47616c15d0959f604f6a5e2e1d32d3108991b
Connector profile aip.connector.dify.v1
App operations 33
Knowledge operations 46
Frozen operations 79
Reads 32
Mutations 47
App invocation aliases One per configured app

A matching suffix does not prove that a capability is discoverable. The app mode, configured credential, admitted manifest, tenant binding, artifact, and provider baseline remain part of capability identity.

Choose a family

Each frozen operation appears in exactly one family.

Family Focused page Total Read Mutation Low Medium High Approval Retry
App metadata and files app-metadata-and-files.md 7 6 1 6 1 0 1 6
Chat, conversations, and feedback chat-messages-conversations-and-feedback.md 9 5 4 5 3 1 4 5
Workflows, streams, and human input workflows-streaming-and-human-input.md 9 4 5 4 4 1 5 4
Audio audio.md 2 0 2 0 2 0 2 0
Annotations annotations.md 6 2 4 2 2 2 4 2
Datasets, tags, and retrieval knowledge-datasets-tags-and-retrieval.md 13 4 9 4 7 2 9 4
Documents and indexing knowledge-documents-and-indexing.md 12 4 8 4 7 1 8 4
Segments and child chunks knowledge-segments-and-child-chunks.md 9 3 6 3 4 2 6 3
Metadata and models knowledge-metadata-and-models.md 8 3 5 3 4 1 5 3
Pipelines and uploads knowledge-pipelines-and-uploads.md 4 1 3 1 3 0 3 1
Total 79 32 47 32 37 10 47 32

Retry means connector contract support for that read. It does not authorize a caller to repeat an Action without checking its identity, terminal state, budget, and provider outcome.

Read capability IDs

An app invocation alias contains only the configured app ID:

cap:dify:support-chat
│        └────────── configured app
└─────────────────── connector namespace

An app catalogue operation appends a frozen suffix:

cap:dify:support-chat:conversation.list
│        │            └──────────────── operation
│        └───────────────────────────── configured app
└────────────────────────────────────── connector namespace

A Knowledge capability has an explicit credential domain:

cap:dify:knowledge:main-workspace:dataset.list
│        │         │              └──── operation
│        │         └─────────────────── credential ID
│        └───────────────────────────── Knowledge domain
└────────────────────────────────────── connector namespace

Do not derive an ID from a Dify URL. Use authenticated tenant discovery and the admitted manifest.

Calculate a configuration’s surface

One app publishes its alias plus the operations supported by its mode:

Mode App operations Alias included App capabilities
workflow 23 1 24
completion 19 1 20
chat 27 1 28
advanced-chat 29 1 30
agent-chat 27 1 28
agent 27 1 28

Each Knowledge credential adds 46 capabilities. The total is the sum across configured apps and Knowledge credentials. The host must still satisfy the global admitted-manifest limit, so descriptor parser maxima are not usable surface maxima.

Distinguish credential scopes

Scope Capability prefix Credential
App alias and app operations cap:dify:<app_id> API key loaded for that app
Knowledge operations cap:dify:knowledge:<credential_id> Workspace Knowledge API key

Binding metadata records the public credential ID, credential class, operation, provider method, path template, and upstream revision. It never contains the Bearer value.

Interpret methods and mutation class

Provider method Count AIP class
GET 32 Read
POST 31 Mutation
PUT 2 Mutation
PATCH 6 Mutation
DELETE 8 Mutation

Only GET is retry-safe in the frozen catalogue. A stop, status toggle, form submission, retrieval request, archive generation, or model execution remains a mutation when its provider method is not GET.

Interpret kind and risk

Kind Count Meaning
Tool 73 Normal app or Knowledge operation
Workflow 6 Workflow run read, run-by-ID, stop, event stream, and human-input form operations

The app invocation alias is a Workflow for workflow mode and an Agent for all other modes.

Risk Count Rule
Low 32 Every GET
Medium 37 Non-delete mutation except two named high-impact operations
High 10 Every DELETE, workflow.run_by_id, and annotation_reply.toggle

Risk is policy input, not authorization. Medium and high mutations both require approval and idempotency.

Apply approval, idempotency, and retry

Contract Catalogue read Catalogue mutation App invocation alias
Approval No Required Required for workflow and agent-family modes
Idempotency key Optional Required Required
Key scope Tenant Tenant Tenant
Collision behavior Revalidate input hash Revalidate input hash Revalidate input hash
Published TTL 86400000 ms 86400000 ms 86400000 ms
Connector retry support Yes No No
Retry safety Safe Unsafe Unsafe

Catalogue approval uses tenant policy for 900,000 ms and requires a reason, input snapshot, and policy decision. The absence of connector-required approval on plain chat or completion aliases does not override deployment policy.

An idempotency key identifies one intent. It does not prove that Dify deduplicates every route, stream, model invocation, or mutation. Preserve the same Action and inspect provider state after an uncertain outcome.

Understand execution and response transport

Response kind Count AIP result
JSON or UTF-8 74 HTTP status, decoded body, optional content type and provider request ID
Binary 3 HTTP status, base64 content, content type, size, and optional request ID
Server-sent events 2 Bounded event handling and normalized result

The two catalogue SSE operations are workflow.run_by_id and workflow.event.stream. The three binary operations are file.preview, audio.synthesize, and document.download_zip.

Six operations use multipart input: file.upload, audio.transcribe, three document upload or update operations, and pipeline.file.upload. Every other frozen operation uses path, query, and optional JSON input.

App invocation aliases separately support sync, async, streaming, and cancellation. Catalogue support is operation-specific.

Apply data and compensation rules

All 79 frozen operations and every app alias declare:

  • confidential data;
  • possible personal information;
  • required redaction;
  • external network side effects.

Reads add a read side effect. Mutations add a write side effect, require approval and a key, and declare rollback_not_supported with no compensating capability. The connector publishes no transaction or reconciliation support.

Use the machine snapshot

The JSON asset contains source and upstream identities, aggregate counts, the app-alias contract, and one ordered record for every frozen operation. Each record includes ID template, family, scope, route, user placement, encoding, transport, supported modes, kind, risk, approval, idempotency, execution, data, and compensation.

Its reviewed SHA-256 is:

7884f23e2abce41ea14e869d4202f497a2294ae931facd7917467624a7fc6019

The snapshot is a source-derived review artifact. It does not prove registry admission, tenant authorization, artifact qualification, or live Dify compatibility.

Choose the next page

  • Use app-metadata-and-files.md for app discovery, end users, upload, and preview.
  • Use chat-messages-conversations-and-feedback.md for chat history and state.
  • Use workflows-streaming-and-human-input.md for remote tasks and forms.
  • Use audio.md and annotations.md for their app-specific domains.
  • Use the five knowledge-*.md pages for workspace datasets, documents, chunks, metadata, models, and pipelines.