openapi: 3.2.0 info: title: Confluent Cloud Compatibility (v1) API version: '' x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b x-audience: external-public x-logo: url: https://assets.confluent.io/m/1661ef5e4ff82d3d/ description: '# Introduction Note This documents the collection of Confluent Cloud APIs.' servers: - url: https://api.confluent.cloud description: Confluent Cloud API tags: - name: Compatibility (v1) description: '![Generally Available](#section/Versioning/API-Lifecycle-Policy) The API allows you to test schema compatibility. Related guide: Manage Schemas in Confluent Cloud.' paths: /compatibility/subjects/{subject}/versions/{version}: servers: - url: https://psrc-00000.region.provider.confluent.cloud description: Confluent Cloud Schema Registry Endpoint. post: tags: - Compatibility (v1) summary: Test schema compatibility against a particular schema subject-version description: 'Test input schema against a particular version of a subject''s schema for compatibility. The compatibility level applied for the check is the configured compatibility level for the subject (http:get:: /config/(string: subject)). If this subject''s compatibility level was never changed, then the global compatibility level applies (http:get:: /config).' operationId: testCompatibilityBySubjectName parameters: - name: subject in: path description: Subject of the schema version against which compatibility is to be tested required: true schema: type: string - name: version in: path description: Version of the subject's schema against which compatibility is to be tested. Valid values for versionId are between [1,2^31-1] or the string "latest"."latest" checks compatibility of the input schema with the last registered schema under the specified subject required: true schema: type: string - name: normalize in: query description: Whether to normalize the given schema schema: type: boolean - name: verbose in: query description: Whether to return detailed error messages schema: type: boolean requestBody: description: Schema content: application/vnd.schemaregistry.v1+json: schema: $ref: '#/components/schemas/RegisterSchemaRequest' application/vnd.schemaregistry+json: schema: $ref: '#/components/schemas/RegisterSchemaRequest' application/json: schema: $ref: '#/components/schemas/RegisterSchemaRequest' application/octet-stream: schema: $ref: '#/components/schemas/RegisterSchemaRequest' required: true responses: '200': description: Compatibility check result. content: application/vnd.schemaregistry.v1+json: schema: $ref: '#/components/schemas/CompatibilityCheckResponse' application/vnd.schemaregistry+json; qs=0.9: schema: $ref: '#/components/schemas/CompatibilityCheckResponse' application/json; qs=0.5: schema: $ref: '#/components/schemas/CompatibilityCheckResponse' '404': description: Not Found. Error code 40401 indicates subject not found. Error code 40402 indicates version not found. content: application/vnd.schemaregistry.v1+json: schema: $ref: '#/components/schemas/ErrorMessage' application/vnd.schemaregistry+json; qs=0.9: schema: $ref: '#/components/schemas/ErrorMessage' application/json; qs=0.5: schema: $ref: '#/components/schemas/ErrorMessage' '422': description: Unprocessable entity. Error code 42201 indicates an invalid schema or schema type. Error code 42202 indicates an invalid version. content: application/vnd.schemaregistry.v1+json: schema: $ref: '#/components/schemas/ErrorMessage' application/vnd.schemaregistry+json; qs=0.9: schema: $ref: '#/components/schemas/ErrorMessage' application/json; qs=0.5: schema: $ref: '#/components/schemas/ErrorMessage' '500': description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. content: application/vnd.schemaregistry.v1+json: schema: $ref: '#/components/schemas/ErrorMessage' application/vnd.schemaregistry+json; qs=0.9: schema: $ref: '#/components/schemas/ErrorMessage' application/json; qs=0.5: schema: $ref: '#/components/schemas/ErrorMessage' '400': $ref: '#/components/responses/schemaregistry.v1.BadRequestError' '401': $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' '403': $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' '429': $ref: '#/components/responses/RateLimitError' security: - resource-api-key: [] - external-access-token: [] /compatibility/subjects/{subject}/versions: servers: - url: https://psrc-00000.region.provider.confluent.cloud description: Confluent Cloud Schema Registry Endpoint. post: tags: - Compatibility (v1) summary: Test schema compatibility against all schemas under a subject description: 'Test input schema against a subject''s schemas for compatibility, based on the configured compatibility level of the subject. In other words, it will perform the same compatibility check as register for that subject. The compatibility level applied for the check is the configured compatibility level for the subject (http:get:: /config/(string: subject)). If this subject''s compatibility level was never changed, then the global compatibility level applies (http:get:: /config).' operationId: testCompatibilityForSubject parameters: - name: subject in: path description: Subject of the schema version against which compatibility is to be tested required: true schema: type: string - name: verbose in: query description: Whether to return detailed error messages schema: type: boolean requestBody: description: Schema content: application/vnd.schemaregistry.v1+json: schema: $ref: '#/components/schemas/RegisterSchemaRequest' application/vnd.schemaregistry+json: schema: $ref: '#/components/schemas/RegisterSchemaRequest' application/json: schema: $ref: '#/components/schemas/RegisterSchemaRequest' application/octet-stream: schema: $ref: '#/components/schemas/RegisterSchemaRequest' required: true responses: '200': description: Compatibility check result. content: application/vnd.schemaregistry.v1+json: schema: $ref: '#/components/schemas/CompatibilityCheckResponse' application/vnd.schemaregistry+json; qs=0.9: schema: $ref: '#/components/schemas/CompatibilityCheckResponse' application/json; qs=0.5: schema: $ref: '#/components/schemas/CompatibilityCheckResponse' '422': description: Unprocessable Entity. Error code 42201 indicates an invalid schema or schema type. Error code 42202 indicates an invalid version. content: application/vnd.schemaregistry.v1+json: schema: $ref: '#/components/schemas/ErrorMessage' application/vnd.schemaregistry+json; qs=0.9: schema: $ref: '#/components/schemas/ErrorMessage' application/json; qs=0.5: schema: $ref: '#/components/schemas/ErrorMessage' '500': description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. content: application/vnd.schemaregistry.v1+json: schema: $ref: '#/components/schemas/ErrorMessage' application/vnd.schemaregistry+json; qs=0.9: schema: $ref: '#/components/schemas/ErrorMessage' application/json; qs=0.5: schema: $ref: '#/components/schemas/ErrorMessage' '400': $ref: '#/components/responses/schemaregistry.v1.BadRequestError' '401': $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' '403': $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' '429': $ref: '#/components/responses/RateLimitError' security: - resource-api-key: [] - external-access-token: [] components: schemas: SchemaReference: type: object properties: name: type: string description: Reference name example: io.confluent.kafka.example.User subject: type: string description: Name of the referenced subject example: User version: type: integer description: Version number of the referenced subject format: int32 example: 1 description: Schema reference SchemaTags: type: object properties: schemaEntity: $ref: '#/components/schemas/SchemaEntity' tags: type: array items: type: string CompatibilityCheckResponse: type: object properties: is_compatible: type: boolean description: Whether the compared schemas are compatible messages: type: array description: Error messages example: [] items: type: string description: Error messages example: '[]' description: Compatibility check response Metadata: description: User-defined metadata properties: tags: additionalProperties: items: type: string type: array uniqueItems: true type: object properties: additionalProperties: type: string type: object sensitive: items: type: string type: array uniqueItems: true type: - object - 'null' Rule: description: Rule properties: name: description: Rule name type: string doc: description: Rule doc type: string kind: description: Rule kind enum: - TRANSFORM - CONDITION type: string mode: description: Rule mode enum: - UPGRADE - DOWNGRADE - UPDOWN - WRITE - READ - WRITEREAD type: string type: description: Rule type type: string tags: description: The tags to which this rule applies items: description: The tags to which this rule applies type: string type: array uniqueItems: true params: additionalProperties: description: Optional params for the rule type: string description: Optional params for the rule type: object expr: description: Rule expression type: string onSuccess: description: Rule action on success type: string onFailure: description: Rule action on failure type: string disabled: description: Whether the rule is disabled type: boolean type: object RuleSet: description: Schema rule set properties: migrationRules: items: $ref: '#/components/schemas/Rule' type: array domainRules: items: $ref: '#/components/schemas/Rule' type: array type: - object - 'null' SchemaEntity: type: object properties: entityPath: type: string entityType: type: string enum: - sr_record - sr_field ErrorMessage: type: object properties: error_code: type: integer description: The error code format: int32 message: type: string description: The error message description: Error message of this operation RegisterSchemaRequest: type: object properties: version: type: integer description: Version number format: int32 id: type: integer description: Globally unique identifier of the schema format: int32 schemaType: type: string description: Schema type references: type: array description: References to other schemas items: $ref: '#/components/schemas/SchemaReference' schema: type: string description: Schema definition string metadata: $ref: '#/components/schemas/Metadata' ruleSet: $ref: '#/components/schemas/RuleSet' schemaTagsToAdd: type: array items: $ref: '#/components/schemas/SchemaTags' schemaTagsToRemove: type: array items: $ref: '#/components/schemas/SchemaTags' propagateSchemaTags: type: boolean description: Schema register request responses: schemaregistry.v1.ForbiddenError: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: error_code: 403 message: Forbidden schemaregistry.v1.UnauthorizedError: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: error_code: 401 message: Unauthorized RateLimitError: description: Rate Limit Exceeded headers: X-Request-Id: schema: type: string description: The unique identifier for the API request. X-RateLimit-Limit: schema: type: integer description: The maximum number of requests you're permitted to make per time period. X-RateLimit-Remaining: schema: type: integer description: The number of requests remaining in the current rate limit window. X-RateLimit-Reset: schema: type: integer description: "The relative time in seconds until the current rate-limit window resets. \n \n**Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues." Retry-After: schema: type: integer description: The number of seconds to wait until the rate limit window resets. Only sent when the rate limit is reached. schemaregistry.v1.BadRequestError: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: error_code: 400 message: Bad Request securitySchemes: cloud-api-key: type: http scheme: basic description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. confluent-sts-access-token: type: oauth2 description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. flows: clientCredentials: tokenUrl: https://api.confluent.cloud/sts/v1/oauth2/token scopes: {} global-api-key: type: http scheme: basic description: Authenticate with Global API Keys using HTTP Basic Auth. Treat the Global API Key ID as the username and Global API Key Secret as the password. resource-api-key: type: http scheme: basic description: Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID as the username and resource-specific API Key Secret as the password. external-access-token: type: oauth2 description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. flows: clientCredentials: tokenUrl: https://api.confluent.cloud/sts/v1/oauth2/token scopes: {} oauth: type: oauth2 description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. flows: clientCredentials: tokenUrl: /oauth2/token scopes: partner:alter: enables partners to alter entitlements partner:create: enables partners to create entitlements and signup on behalf of customers partner:delete: enables partners to delete entitlements and organizations partner:describe: enables partners to read and list entitlements and organizations x-tagGroups: - name: Identity Access Management (v2) tags: - API Keys (iam/v2) - Users (iam/v2) - Service Accounts (iam/v2) - Invitations (iam/v2) - IP Groups (iam/v2) - IP Filters (iam/v2) - IP Filter Summaries (iam/v2) - Role Bindings (iam/v2) - Identity Providers (iam/v2) - Jwks (iam/v2) - Identity Pools (iam/v2) - Group Mappings (iam/v2/sso) - Certificate Authorities (iam/v2) - Certificate Identity Pools (iam/v2) - name: Org API (v2) tags: - Environments (org/v2) - Organizations (org/v2) - name: Notifications API (v1) tags: - Subscriptions (notifications/v1) - Integrations (notifications/v1) - Notification Types (notifications/v1) - Resource Preferences (notifications/v1) - Resource Subscriptions (notifications/v1) - User Notifications (notifications/v1) - name: Cluster Mgmt for Kafka (v2) tags: - Clusters (cmk/v2) - name: Cluster Mgmt for ksqlDB (v2) tags: - Clusters (ksqldbcm/v2) - name: Connect API (v1) tags: - Connectors (connect/v1) - Lifecycle (connect/v1) - Status (connect/v1) - Managed Connector Plugins (connect/v1) - Offsets (connect/v1) - Custom Connector Plugins (connect/v1) - Presigned Urls (connect/v1) - Custom Connector Runtimes (connect/v1) - name: Connect Artifact Management (v1) tags: - Connect Artifacts (cam/v1) - Presigned Urls (cam/v1) - name: Kafka API (v3) tags: - Cluster (v3) - Configs (v3) - ACL (v3) - Consumer Group (v3) - Partition (v3) - Topic (v3) - Records (v3) - Cluster Linking (v3) - Share Group (v3) - Streams Group (v3) - name: Service Quota API (v1) tags: - Applied Quotas (service-quota/v1) - Scopes (service-quota/v1) - name: Partner API (v2) tags: - Entitlements (partner/v2) - Organizations (partner/v2) - Signup (partner/v2) - name: Cluster Mgmt for Schema Registry (v2) tags: - Regions (srcm/v2) - Clusters (srcm/v2) - name: Cluster Mgmt for Schema Registry (v3) tags: - Clusters (srcm/v3) - name: Schema Registry API (v1) tags: - Compatibility (v1) - Config (v1) - Contexts (v1) - Exporters (v1) - Modes (v1) - Schemas (v1) - Subjects (v1) - Key Encryption Keys (v1) - Data Encryption Keys (v1) - name: Catalog API (v1) tags: - Entity (v1) - Search (v1) - Types (v1) - name: Stream Sharing API (v1) tags: - Provider Shared Resources (cdx/v1) - Provider Shares (cdx/v1) - Consumer Shared Resources (cdx/v1) - Consumer Shares (cdx/v1) - Shared Tokens (cdx/v1) - Opt Ins (cdx/v1) - name: Networking (v1) tags: - Networks (networking/v1) - Peerings (networking/v1) - Transit Gateway Attachments (networking/v1) - Private Link Accesses (networking/v1) - Network Link Services (networking/v1) - Network Link Endpoints (networking/v1) - Network Link Service Associations (networking/v1) - IP Addresses (networking/v1) - Private Link Attachments (networking/v1) - Private Link Attachment Connections (networking/v1) - DNS Forwarders (networking/v1) - Access Points (networking/v1) - DNS Records (networking/v1) - Gateways (networking/v1) - name: Security Token Service (v1) tags: - OAuth Tokens (sts/v1) - name: Kafka Quota (v1) tags: - Client Quotas (kafka-quotas/v1) - name: Bring Your Own Key (BYOK) Management (v1) tags: - Keys (byok/v1) - name: Billing API (v1) tags: - Costs (billing/v1) - name: Compute Pool Mgmt for Flink (v2) tags: - Compute Pools (fcpm/v2) - Regions (fcpm/v2) - Org Compute Pool Configs (fcpm/v2) - name: SQL API (v1) tags: - Statements (sql/v1) - Statement Results (sql/v1) - Statement Exceptions (sql/v1) - Connections (sql/v1) - Agents (sql/v1) - Tools (sql/v1) - Materialized Tables (sql/v1) - Materialized Table Versions (sql/v1) - name: Provider Integration Management (v1) tags: - Integrations (pim/v1) - name: Provider Integration Management (v2) tags: - Integrations (pim/v2) - name: Artifact API (v1) tags: - Flink Artifacts (artifact/v1) - Presigned Urls (artifact/v1) - Flink Artifact Versions (artifact/v1) - name: Custom Code Logging API (v1) tags: - Custom Code Loggings (ccl/v1) - name: Tableflow (v1) tags: - Regions (tableflow/v1) - Tableflow Topics (tableflow/v1) - Catalog Integrations (tableflow/v1) - name: Custom Connect Plugin Management (v1) tags: - Custom Connect Plugins (ccpm/v1) - Presigned Urls (ccpm/v1) - Custom Connect Plugin Versions (ccpm/v1) - name: Unified Stream Manager (v1) tags: - Kafka Clusters (usm/v1) - Connect Clusters (usm/v1) - name: Endpoint (v1) tags: - Endpoints (endpoint/v1) - name: Real Time Context Engine (v1) tags: - Rtce Topics (rtce/v1) - Regions (rtce/v1) - name: Analytics (v1alpha1) tags: - Statements (query/v1alpha1)