Skip to main content

Top-level structure

FieldDescriptionTypeRequired
StackOneConnector schema version, set to 1.0.0.stringYes
actionsActions the connector exposes.object[]No
authenticationAuthentication methods the connector supports.object[]No
baseUrlRoot URL for all API requests, with interpolation support.stringYes
concurrencyRequest concurrency configuration for the connector.objectNo
documentationExternal documentation links for the connector.objectNo
eventsEvent and webhook configuration for the connector.objectNo
forkedFromKey of the connector this one was forked from.stringNo
infoConnector metadata.objectYes
mcpMCP-specific configuration for the connector.objectNo
rateLimitRequest rate-limit configuration for the connector.objectNo
releaseStageMaturity level of the connector.
Allowed: preview, beta, ga, deprecated, internal
enumNo
resourcesSource of information for the connector, usually a URL to the provider’s documentation.stringNo
scopeDefinitionsRequirements actions can depend on, keyed by name, such as OAuth scopes, pricing tiers, or feature flags.objectNo

actions

The operations the connector exposes, each with inputs, steps, and a result. See actions.

authentication

An array of authentication methods (OAuth 2.0, custom/API key, and others). See authentication.

baseUrl

Examples
Individual actions can override baseUrl in their step parameters.

concurrency

Request concurrency configuration for the connector.
FieldDescriptionTypeRequired
mainMaxConcurrencyMaximum number of concurrent in-flight requests per linked account.numberYes
subPoolsPer-URL-pattern concurrency overrides.object[]No
Per-URL-pattern concurrency overrides.
FieldDescriptionTypeRequired
maxConcurrencyMaximum concurrent requests for the matched URLs.numberYes
subPoolKeyIdentifier for this concurrency sub-pool.stringYes
urlPatternURL pattern the sub-pool’s limit applies to.stringYes
Examples

documentation

External documentation links for the connector.
FieldDescriptionTypeRequired
referencesExternal documentation links.object[]Yes
External documentation links.
FieldDescriptionTypeRequired
descriptionExplains what the reference covers.stringNo
titleLink text for the reference.stringYes
urlURL of the referenced document.stringYes
Examples

events

Webhook and event configuration for the connector. See events.

info

Connector metadata.
FieldDescriptionTypeRequired
assetsVisual assets for the connector.objectYes
changelogDescription of what changed in this version.objectNo
descriptionBrief one-line summary of the connector.stringYes
detailsExtended description of capabilities and limitations.stringNo
keyUnique lowercase identifier used in API calls and tool names.stringYes
titleHuman-readable provider name shown in Hub and Dashboard.stringYes
versionConnector version following semantic versioning.stringYes
Visual assets for the connector.
FieldDescriptionTypeRequired
iconURL to the provider logo.stringYes
Description of what changed in this version.
FieldDescriptionTypeRequired
labelsTags categorizing the changelog entry for filtering.string[]No
summaryHuman-readable summary of the changes in this version.stringYes

info.assets.icon

Requirements:
  • 24x24 pixels minimum
  • SVG or PNG format
  • Transparent background preferred
  • Hosted on HTTPS

info.description

Best practices:
  • Keep under 200 characters
  • Mention key capabilities
  • Include category context (HRIS, CRM, etc.)

info.version

See Connector Versioning Examples

mcp

MCP-specific configuration for the connector.
FieldDescriptionTypeRequired
instructionsGuidance text surfaced to MCP clients.stringNo

rateLimit

The runtime tracks requests per linked account and throttles when limits are reached. Requests exceeding the limit are queued and retried with exponential backoff. Request rate-limit configuration for the connector.
FieldDescriptionTypeRequired
mainRatelimitMaximum requests per second for each linked account, across all of the connector’s endpoints.numberYes
mappedRateLimitErrorsProvider responses that should be treated as rate-limit signals.object[]No
subPoolsPer-URL-pattern rate limit overrides.object[]No
Provider responses that should be treated as rate-limit signals.
FieldDescriptionTypeRequired
errorMessageProvider error message identifying a rate-limit error.stringYes
errorMessagePathPath to the error message in the response body.stringNo
errorStatusHTTP status code indicating a rate-limit error.numberYes
retryAfterPathPath to the retry-after value within the response headers, not the body.stringNo
retryAfterUnitUnit the retry-after value is expressed in.
Allowed: seconds, milliseconds, date
enumNo
retryAfterValueFixed delay to wait before retrying.numberNo
Per-URL-pattern rate limit overrides.
FieldDescriptionTypeRequired
rateLimitMaximum requests per second for the matched URLs.numberYes
subPoolKeyIdentifier for this rate-limit sub-pool.stringYes
urlPatternURL pattern the sub-pool’s limit applies to.stringYes
Best practices
  • Set slightly below provider’s documented limit
  • Check provider API docs for per-endpoint limits
  • Some providers have different limits for different endpoints
Examples

scopeDefinitions

Requirements actions can depend on, keyed by name, such as OAuth scopes, pricing tiers, or feature flags.
FieldDescriptionTypeRequired
descriptionExplains what this scope grants.stringYes
includesAnother scope this scope implies.stringNo
Examples

File Structure

How connector files and partials are organized.

Step Functions

The step functions actions are built from.