Potentially breaking
Request property min set: ttl
openapi:POST /v1/connect/connectors::request.application.json.data.anyOf[subschema-#1:-type:oauth].jwtBearer.ttl- Product
- Vercel API
- Source
- OpenAPI URL
- Change kind
- Request Property Min Set
- Detected
- Last updated
Deterministic evidence
Before / after
Extracted from Vercel's published contract. Shows the whole operation — a narrower excerpt was not available for this change. Open the source ↗
{
{
"operationId": "createConnector",
"operationId": "createConnector",
"parameters": [
{
"in": "query",
"name": "teamId",
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "slug",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"requestBody": {
"content": {
"content": {
"application/json": {
"application/json": {
"schema": {
"schema": {
"anyOf": [
{
"required": [
"type"
],
"title": "Full configuration"
},
{
"required": [
"service",
"connectionMethod"
],
"title": "Preset configuration"
}
],
"properties": {
"properties": {
"accentColor": {
"accentColor": {
"pattern": "^#[0-9a-fA-F]{6}$",
"type": "string"
"type": "string"
},
},
"backgroundColor": {
"backgroundColor": {
"pattern": "^#[0-9a-fA-F]{6}$",
"type": "string"
"type": "string"
},
},
"connectionMethod": {
"connectionMethod": {
"type": "object"
"type": "object"
},
},
"ttl": {
"ttl": {
"exclusiveMinimum": true,
"minimum": 0,
"type": "number"
"type": "number"
},
},
"type": {
"type": {
"type": "string"
"type": "string"
},
},
"clientSecret": {
"clientSecret": {
"type": "string"
"type": "string",
"writeOnly": true
},
},
"codeChallengeMethod": {
"codeChallengeMethod": {
"type": "string"
"type": "string"
"type": "string"
"type": "string"
},
},
"ttl": {
"ttl": {
"exclusiveMinimum": true,
"minimum": 0,
"type": "number"
"type": "number"
},
},
"useClientCredentials": {
"useClientCredentials": {
"additionalProperties": false,
"additionalProperties": false,
"properties": {
"properties": {
"expiresAt": {
"expiresAt": {
"exclusiveMinimum": true,
"minimum": 0,
"type": "integer"
"type": "integer"
},
},
"scope": {
"scope": {
"type": "string"
"type": "string"
},
},
"value": {
"value": {
"type": "string"
"type": "string",
"writeOnly": true
}
}
},
},
"required": [
"required": [
"additionalProperties": false,
"additionalProperties": false,
"properties": {
"properties": {
"appId": {
"appId": {
"exclusiveMinimum": true,
"minimum": 0,
"type": "integer"
"type": "integer"
},
},
"appName": {
"appName": {
"type": "string"
"type": "string"
},
},
"clientSecret": {
"clientSecret": {
"type": "string"
"type": "string",
"writeOnly": true
},
},
"extras": {
"extras": {
"additionalProperties": {},
"additionalProperties": {},
"type": "object"
"type": "object"
},
},
"privateKeyPem": {
"privateKeyPem": {
"type": "string"
"type": "string",
"writeOnly": true
},
},
"webhookSecret": {
"webhookSecret": {
"type": "string"
"type": "string",
"writeOnly": true
}
}
},
},
"required": [
"required": [
"type": "string"
"type": "string"
},
},
"clientSecret": {
"clientSecret": {
"type": "string"
"type": "string",
"writeOnly": true
},
},
"extras": {
"extras": {
"additionalProperties": {},
"additionalProperties": {},
"type": "array"
"type": "array"
},
},
"webhookSecret": {
"webhookSecret": {
"type": "string"
"type": "string",
"writeOnly": true
}
}
},
},
"required": [
"required": [
"additionalProperties": false,
"additionalProperties": false,
"properties": {
"properties": {
"apiToken": {
"apiToken": {
"type": "string"
"type": "string",
"writeOnly": true
},
},
"phoneNumbers": {
"phoneNumbers": {
"items": {
"items": {
"type": "string"
"type": "string"
},
},
"consumerSecret": {
"consumerSecret": {
"type": "string"
"type": "string",
"writeOnly": true
},
},
"loginHost": {
"loginHost": {
"type": "string"
"type": "string"
"type": "string"
"type": "string"
},
},
"apiSecretKey": {
"apiSecretKey": {
"type": "string"
"type": "string",
"writeOnly": true
},
},
"phoneNumbers": {
"phoneNumbers": {
"items": {
"items": {
"type": "string"
"type": "string"
},
},
"clientSecret": {
"clientSecret": {
"type": "string"
"type": "string",
"writeOnly": true
},
},
"extras": {
"extras": {
"additionalProperties": {},
"additionalProperties": {},
"type": "object"
"type": "object"
},
},
"signingSecret": {
"signingSecret": {
"type": "string"
"type": "string",
"writeOnly": true
},
},
"slackTeam": {
"slackTeam": {
"additionalProperties": false,
"additionalProperties": false,
"type": "array"
"type": "array"
},
},
"verificationToken": {
"verificationToken": {
"type": "string"
"type": "string",
"writeOnly": true
}
}
},
},
"required": [
"required": [
"type": "string"
"type": "string"
},
},
"projectSecret": {
"projectSecret": {
"type": "string"
"type": "string",
"writeOnly": true
},
},
"webhookSecret": {
"webhookSecret": {
"type": "string"
"type": "string",
"writeOnly": true
}
}
},
},
"required": [
"required": [
"items": {
"items": {
"anyOf": [
"anyOf": [
{
{
"enum": [
"development",
"preview",
"production"
],
"type": "string"
"type": "string"
},
},
{
{
}
}
]
]
},
},
"minItems": 1,
"type": "array"
"type": "array"
},
},
"events": {
"events": {
"type": "array"
"type": "array"
},
},
"icon": {
"icon": {
"pattern": "^[0-9a-fA-F]{40}$",
"type": "string"
"type": "string"
},
},
"name": {
"name": {
"type": "string"
"type": "string"
},
},
"triggerDestination": {
"triggerDestination": {
"additionalProperties": false,
"oneOf": [
"minProperties": 1,
{
"not": {
"additionalProperties": false,
"required": [
"minProperties": 1,
"branch",
"properties": {
"customEnvironmentId"
"path": {
]
"maxLength": 2048,
},
"minLength": 1,
"properties": {
"type": "string"
"branch": {
},
"maxLength": 250,
"projectId": {
"type": "string"
"minLength": 1,
"type": "string"
}
},
"title": "Default deployment",
"type": "object"
},
},
"customEnvironmentId": {
{
"pattern": "^env_",
"additionalProperties": false,
"type": "string"
"properties": {
"branch": {
"maxLength": 250,
"minLength": 1,
"type": "string"
},
"path": {
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
"projectId": {
"minLength": 1,
"type": "string"
}
},
"required": [
"branch"
],
"title": "Branch",
"type": "object"
},
},
"path": {
{
"maxLength": 2048,
"additionalProperties": false,
"type": "string"
"properties": {
},
"customEnvironmentId": {
"projectId": {
"pattern": "^env_",
"type": "string"
"type": "string"
},
"path": {
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
"projectId": {
"minLength": 1,
"type": "string"
}
},
"required": [
"customEnvironmentId"
],
"title": "Custom environment",
"type": "object"
}
}
},
]
"type": "object"
},
},
"triggers": {
"triggers": {
"type": "boolean"
"type": "boolean"
],
],
"type": "string"
"type": "string"
},
},
"data": {
"additionalProperties": true,
"type": "object"
},
"defaultInstallationId": {
"defaultInstallationId": {
"type": "string"
"type": "string"
},
},
"deletedAt": {
"type": "number"
},
"devsite": {
"devsite": {
"type": "string"
"type": "string"
},
},
"id": {
"id": {
"type": "string"
"type": "string"
},
},
"includes": {
"properties": {
"projects": {
"properties": {
"hasMore": {
"enum": [
false,
true
],
"type": "boolean"
},
"items": {
"items": {
"properties": {
"clientId": {
"type": "string"
},
"createdAt": {
"type": "number"
},
"environments": {
"items": {
"oneOf": [
{
"type": "string"
},
{
"enum": [
"development",
"preview",
"production"
],
"type": "string",
"x-speakeasy-name-override": "create_connector_environments"
}
],
"title": "CreateConnectorEnvironmentTarget"
},
"type": "array"
},
"project": {
"properties": {
"customEnvironments": {
"items": {
"properties": {
"id": {
"type": "string"
},
"slug": {
"type": "string"
}
},
"required": [
"id",
"slug"
],
"type": "object"
},
"type": "array"
},
"id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name"
],
"type": "object"
},
"projectId": {
"type": "string"
},
"updatedAt": {
"type": "number"
}
},
"required": [
"clientId",
"createdAt",
"environments",
"projectId",
"updatedAt"
],
"type": "object"
},
"type": "array"
},
"pagination": {
"properties": {
"next": {
"nullable": true,
"type": "string"
}
},
"required": [
"next"
],
"type": "object"
}
},
"required": [
"hasMore",
"items",
"pagination"
],
"type": "object"
}
},
"type": "object"
},
"isConnectedToPrioritizedProject": {
"enum": [
false,
true
],
"type": "boolean"
},
"managed": {
"managed": {
"properties": {
"properties": {
"sync": {
"sync": {
"name": {
"name": {
"type": "string"
"type": "string"
},
},
"ownerId": {
"type": "string"
},
"ownerTenantId": {
"type": "string"
},
"public": {
"enum": [
false,
true
],
"type": "boolean"
},
"redirectUri": {
"redirectUri": {
"type": "string"
"type": "string"
},
},
},
},
"type": "array"
"type": "array"
},
},
"supportsContacts": {
"enum": [
false,
true
],
"type": "boolean"
},
"supportsIcon": {
"supportsIcon": {
"enum": [
"enum": [
false,
false,
},
},
"required": [
"required": [
"createdAt",
"createdAt",
"data",
"displayName",
"displayName",
"id",
"id",
"name",
"name",
"ownerId",
"public",
"service",
"service",
"supportedSubjectTypes",
"supportedSubjectTypes",
"supportsIcon",
"supportsIcon",
}
}
}
}
},
},
"400": {},
"400": {
"401": {},
"content": {
"403": {},
"application/json": {
"404": {},
"schema": {
"409": {},
"$ref": "#/components/schemas/ConnectError"
"410": {},
}
"422": {},
}
"500": {},
}
"502": {}
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConnectError"
}
}
}
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConnectError"
}
}
}
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConnectError"
}
}
}
},
"409": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConnectError"
}
}
}
},
"410": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConnectError"
}
}
}
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConnectError"
}
}
}
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConnectError"
}
}
}
},
"502": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConnectError"
}
}
}
}
},
},
"security": [
"security": [
{
{
Monitored for you
Does this change affect your integration?
Choose the operations and fields your services use. Detektu matches Vercel findings to that declared usage so your team can review the relevant evidence. No agent or repository access required.