{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/markifact-com/json-schema/markifact-com-create-connection-request-schema.json",
  "title": "CreateConnectionRequest",
  "x-generated": "2026-10-29",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/markifact-com-openapi.json#/components/schemas/CreateConnectionRequest",
  "type": "object",
  "properties": {
    "connection_type": {
      "type": "string",
      "description": "A connection type whose auth_methods include \"manual\". See GET /v1/connections/types."
    },
    "name": {
      "type": "string",
      "maxLength": 100,
      "description": "Your label for the connection. For white-label types, posting the same type and name again replaces the stored credentials in place. Slack and Shopify are keyed on the workspace and store instead, and API-key types (Ahrefs, SEMrush, Adjust, DataForSEO, OpenAI Ads) always create a new connection."
    },
    "credentials": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "description": "Exactly the credential_fields the type lists. A missing or unrecognised field is rejected before any call to the provider."
    },
    "is_private": {
      "type": "boolean",
      "default": false,
      "description": "Whether the connection should be private to the API-key user. Defaults to false, meaning shared with the workspace so other team members can see and use it. Omit it when replacing credentials on an existing connection and the current visibility is kept."
    }
  },
  "required": [
    "connection_type",
    "name",
    "credentials"
  ]
}