Customer Planned contract

Read the connected customer's granted profile

Returns only the authenticated pairwise subject. Basic profile is required; contact and birth date are omitted unless their separately approved scopes are present.

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

Authority

Profile
customer-subject
Data class
customer_personal
Required operation
getPartnerConnectedCustomerProfile
Subject scopes
customer.profile.basic
Optional subject scopes
customer.profile.contact, customer.profile.birth_date
customerSubjectBearer security scheme
{
  "type": "http",
  "scheme": "bearer",
  "bearerFormat": "JWT",
  "description": "Short-lived access token minted only from a customer-approved grant through the partner-authenticated token exchange. Purpose \"customer-connection-subject\", audience \"partner-customer-connections-service\", and maximum lifetime 900 seconds. Claims: assignmentId, aud, azp, exp, grantId, grantVersion, iat, iss, jti, purpose, scope, sub, tenantId, tokenUse. The sub claim is pairwise for tenant, partner assignment, and canonical customer; azp and assignmentId bind it to the external client. It is the sole Authorization bearer on /me calls, avoiding an impossible two-Authorization-header design. Browser code must never receive it. Every request checks the active grant and grantVersion so revocation fails closed."
}

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/me' \
  --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/PartnerCustomerProfileResponse"
      }
    }
  }
}
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 subject credential, approved scopes, or active grant does not permit this operation.
{
  "description": "The subject credential, approved scopes, or active grant does not permit this operation.",
  "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.

PartnerCustomerProfileResponse
{
  "type": "object",
  "properties": {
    "subject": {
      "type": "string",
      "pattern": "^cusub_v1_[A-Za-z0-9_-]{32,64}$"
    },
    "grantedScopes": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "customer.profile.basic",
          "customer.profile.contact",
          "customer.profile.birth_date",
          "customer.medical_eligibility.read"
        ]
      },
      "minItems": 1
    },
    "profile": {
      "type": "object",
      "properties": {
        "displayName": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "maxLength": 200
        },
        "legalName": {
          "type": "object",
          "properties": {
            "givenName": {
              "type": "string",
              "minLength": 1,
              "maxLength": 100
            },
            "familyName": {
              "type": "string",
              "minLength": 1,
              "maxLength": 100
            }
          },
          "required": [
            "givenName",
            "familyName"
          ],
          "additionalProperties": false
        },
        "contact": {
          "type": "object",
          "properties": {
            "email": {
              "type": [
                "string",
                "null"
              ],
              "maxLength": 320,
              "format": "email"
            },
            "phone": {
              "type": [
                "string",
                "null"
              ],
              "pattern": "^\\+[1-9]\\d{7,14}$"
            }
          },
          "required": [
            "email",
            "phone"
          ],
          "additionalProperties": false
        },
        "birthDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
        }
      },
      "required": [
        "displayName"
      ],
      "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": [
    "subject",
    "grantedScopes",
    "profile",
    "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
}