Customer Planned contract

Read Customer Connections contract capabilities

Returns contract maturity and the non-enumerating authorization model. It returns no tenant or customer data and does not claim runtime readiness.

Runtime status: unavailable. This is a source contract, not a live access or availability guarantee. Learn more
GET/partner/customer-connections/v1/capabilities

Authority

Profile
partner
Data class
public
Required operation
getPartnerCustomerConnectionCapabilities
Subject scopes
No subject scopes declared for this operation.
partnerServiceBearer security scheme
{
  "type": "http",
  "scheme": "bearer",
  "bearerFormat": "JWT",
  "description": "Short-lived, server-only partner credential used for capabilities, intent creation, and token exchange. Purpose \"partner-customer-connections\", audience \"partner-customer-connections-service\", and operation scope \"customer-connections:partner:<operationId>\" are exact validation inputs. Claims: assignmentId, aud, exp, iat, iss, jti, operation, partnerId, purpose, sub, tenantId, tokenUse. It reaches no customer data on its own."
}

Request

Request parameters
ParameterLocationRequirementSchema
smokestack-api-version

headerRequired{"type":"string","const":"2026-08-24"}
x-request-id

headerOptional{"type":"string","minLength":1,"maxLength":200}
x-correlation-id

headerOptional{"type":"string","minLength":1,"maxLength":200}

Idempotency

{
  "required": false
}

Request examples

Templates for your server, not browser code. Replace every placeholder and use your approved origin. For requests with a body, construct request.json / requestBody / request_body from the schema.

# Replace placeholders using your approved server-side integration.
curl --request GET 'https://partner-api.invalid/partner/customer-connections/v1/capabilities' \
  --header 'smokestack-api-version: 2026-08-24' \
  --header 'Authorization: Bearer <SERVER_ONLY_TOKEN>'

Responses

200 Successful response within the operation's declared authority and data class.
{
  "description": "Successful response within the operation's declared authority and data class.",
  "headers": {
    "SMOKESTACK-API-Version": {
      "description": "The negotiated compatible contract revision.",
      "schema": {
        "type": "string",
        "const": "2026-08-24"
      }
    },
    "X-Request-ID": {
      "description": "The request identifier accepted from the caller or generated by SMOKESTACK.",
      "schema": {
        "type": "string"
      }
    },
    "X-Correlation-ID": {
      "description": "The end-to-end correlation identifier.",
      "schema": {
        "type": "string"
      }
    },
    "Deprecation": {
      "description": "RFC 9745 Structured Field Date when an operation or revision is deprecated.",
      "schema": {
        "type": "string"
      }
    }
  },
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/PartnerCustomerCapabilitiesResponse"
      }
    }
  }
}
400 Invalid request syntax. Private customer-matching outcomes never use this response for connection-intent creation.
{
  "description": "Invalid request syntax. Private customer-matching outcomes never use this response for connection-intent creation.",
  "headers": {
    "SMOKESTACK-API-Version": {
      "description": "The negotiated compatible contract revision.",
      "schema": {
        "type": "string",
        "const": "2026-08-24"
      }
    },
    "X-Request-ID": {
      "description": "The request identifier accepted from the caller or generated by SMOKESTACK.",
      "schema": {
        "type": "string"
      }
    },
    "X-Correlation-ID": {
      "description": "The end-to-end correlation identifier.",
      "schema": {
        "type": "string"
      }
    },
    "Deprecation": {
      "description": "RFC 9745 Structured Field Date when an operation or revision is deprecated.",
      "schema": {
        "type": "string"
      }
    }
  },
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/PartnerCustomerError"
      }
    }
  }
}
401 The required partner or subject credential is missing or invalid.
{
  "description": "The required partner or subject credential is missing or invalid.",
  "headers": {
    "SMOKESTACK-API-Version": {
      "description": "The negotiated compatible contract revision.",
      "schema": {
        "type": "string",
        "const": "2026-08-24"
      }
    },
    "X-Request-ID": {
      "description": "The request identifier accepted from the caller or generated by SMOKESTACK.",
      "schema": {
        "type": "string"
      }
    },
    "X-Correlation-ID": {
      "description": "The end-to-end correlation identifier.",
      "schema": {
        "type": "string"
      }
    },
    "Deprecation": {
      "description": "RFC 9745 Structured Field Date when an operation or revision is deprecated.",
      "schema": {
        "type": "string"
      }
    }
  },
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/PartnerCustomerError"
      }
    }
  }
}
403 The partner credential lacks authority for this operation; no customer or match state is disclosed.
{
  "description": "The partner credential lacks authority for this operation; no customer or match state is disclosed.",
  "headers": {
    "SMOKESTACK-API-Version": {
      "description": "The negotiated compatible contract revision.",
      "schema": {
        "type": "string",
        "const": "2026-08-24"
      }
    },
    "X-Request-ID": {
      "description": "The request identifier accepted from the caller or generated by SMOKESTACK.",
      "schema": {
        "type": "string"
      }
    },
    "X-Correlation-ID": {
      "description": "The end-to-end correlation identifier.",
      "schema": {
        "type": "string"
      }
    },
    "Deprecation": {
      "description": "RFC 9745 Structured Field Date when an operation or revision is deprecated.",
      "schema": {
        "type": "string"
      }
    }
  },
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/PartnerCustomerError"
      }
    }
  }
}
406 The requested contract revision is unsupported.
{
  "description": "The requested contract revision is unsupported.",
  "headers": {
    "SMOKESTACK-API-Version": {
      "description": "The negotiated compatible contract revision.",
      "schema": {
        "type": "string",
        "const": "2026-08-24"
      }
    },
    "X-Request-ID": {
      "description": "The request identifier accepted from the caller or generated by SMOKESTACK.",
      "schema": {
        "type": "string"
      }
    },
    "X-Correlation-ID": {
      "description": "The end-to-end correlation identifier.",
      "schema": {
        "type": "string"
      }
    },
    "Deprecation": {
      "description": "RFC 9745 Structured Field Date when an operation or revision is deprecated.",
      "schema": {
        "type": "string"
      }
    }
  },
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/PartnerCustomerError"
      }
    }
  }
}
429 Partner, external-subject, intent, or pairwise-subject rate limit exceeded.
{
  "description": "Partner, external-subject, intent, or pairwise-subject rate limit exceeded.",
  "headers": {
    "SMOKESTACK-API-Version": {
      "description": "The negotiated compatible contract revision.",
      "schema": {
        "type": "string",
        "const": "2026-08-24"
      }
    },
    "X-Request-ID": {
      "description": "The request identifier accepted from the caller or generated by SMOKESTACK.",
      "schema": {
        "type": "string"
      }
    },
    "X-Correlation-ID": {
      "description": "The end-to-end correlation identifier.",
      "schema": {
        "type": "string"
      }
    },
    "Deprecation": {
      "description": "RFC 9745 Structured Field Date when an operation or revision is deprecated.",
      "schema": {
        "type": "string"
      }
    },
    "Retry-After": {
      "schema": {
        "type": "integer",
        "minimum": 0
      }
    }
  },
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/PartnerCustomerError"
      }
    }
  }
}
500 Unexpected error without customer or match details.
{
  "description": "Unexpected error without customer or match details.",
  "headers": {
    "SMOKESTACK-API-Version": {
      "description": "The negotiated compatible contract revision.",
      "schema": {
        "type": "string",
        "const": "2026-08-24"
      }
    },
    "X-Request-ID": {
      "description": "The request identifier accepted from the caller or generated by SMOKESTACK.",
      "schema": {
        "type": "string"
      }
    },
    "X-Correlation-ID": {
      "description": "The end-to-end correlation identifier.",
      "schema": {
        "type": "string"
      }
    },
    "Deprecation": {
      "description": "RFC 9745 Structured Field Date when an operation or revision is deprecated.",
      "schema": {
        "type": "string"
      }
    }
  },
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/PartnerCustomerError"
      }
    }
  }
}
503 An authoritative dependency is unavailable; the service does not guess.
{
  "description": "An authoritative dependency is unavailable; the service does not guess.",
  "headers": {
    "SMOKESTACK-API-Version": {
      "description": "The negotiated compatible contract revision.",
      "schema": {
        "type": "string",
        "const": "2026-08-24"
      }
    },
    "X-Request-ID": {
      "description": "The request identifier accepted from the caller or generated by SMOKESTACK.",
      "schema": {
        "type": "string"
      }
    },
    "X-Correlation-ID": {
      "description": "The end-to-end correlation identifier.",
      "schema": {
        "type": "string"
      }
    },
    "Deprecation": {
      "description": "RFC 9745 Structured Field Date when an operation or revision is deprecated.",
      "schema": {
        "type": "string"
      }
    }
  },
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/PartnerCustomerError"
      }
    }
  }
}

Referenced schemas

Only schemas reachable from this operation are shown. The revision-pinned OpenAPI download includes their complete definitions.

PartnerCustomerCapabilitiesResponse
{
  "type": "object",
  "properties": {
    "apiVersion": {
      "type": "string",
      "enum": [
        "2026-08-24"
      ]
    },
    "connectionFlow": {
      "type": "object",
      "properties": {
        "matching": {
          "type": "string",
          "enum": [
            "PRIVATE_NON_ENUMERATING"
          ]
        },
        "customerAuthorization": {
          "type": "string",
          "enum": [
            "SMOKESTACK_CONTROLLED"
          ]
        },
        "pairwiseSubjects": {
          "type": "boolean",
          "enum": [
            true
          ]
        },
        "candidateSignalsReturned": {
          "type": "boolean",
          "enum": [
            false
          ]
        },
        "intentStatusEndpoint": {
          "type": "boolean",
          "enum": [
            false
          ]
        }
      },
      "required": [
        "matching",
        "customerAuthorization",
        "pairwiseSubjects",
        "candidateSignalsReturned",
        "intentStatusEndpoint"
      ],
      "additionalProperties": false
    },
    "operations": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "operationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "status": {
            "type": "string",
            "enum": [
              "planned"
            ]
          },
          "authority": {
            "type": "string",
            "enum": [
              "partner",
              "customer-subject"
            ]
          },
          "dataClass": {
            "type": "string",
            "enum": [
              "public",
              "customer_personal",
              "customer_sensitive"
            ]
          },
          "requiredSubjectScopes": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "customer.profile.basic",
                "customer.profile.contact",
                "customer.profile.birth_date",
                "customer.medical_eligibility.read"
              ]
            }
          }
        },
        "required": [
          "operationId",
          "status",
          "authority",
          "dataClass",
          "requiredSubjectScopes"
        ],
        "additionalProperties": false
      }
    },
    "meta": {
      "type": "object",
      "properties": {
        "apiVersion": {
          "type": "string",
          "enum": [
            "2026-08-24"
          ]
        },
        "requestId": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "generatedAt": {
          "type": "string",
          "format": "date-time"
        }
      },
      "required": [
        "apiVersion",
        "requestId",
        "generatedAt"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "apiVersion",
    "connectionFlow",
    "operations",
    "meta"
  ],
  "additionalProperties": false
}
PartnerCustomerError
{
  "type": "object",
  "properties": {
    "code": {
      "type": "string",
      "enum": [
        "invalid_request",
        "authentication_required",
        "permission_denied",
        "api_version_not_supported",
        "invalid_grant",
        "idempotency_conflict",
        "rate_limited",
        "dependency_unavailable",
        "internal_error"
      ]
    },
    "message": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500,
      "description": "Public, non-diagnostic message. invalid_grant must never describe customer or match state."
    },
    "requestId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "retryable": {
      "type": "boolean"
    }
  },
  "required": [
    "code",
    "message",
    "requestId",
    "retryable"
  ],
  "additionalProperties": false
}