Update Integration Instance
PUT/api/shipstation/integration-instances/:integration_instance
Update an existing ShipStation integration instance. All fields are optional. Requires Bearer token.
This endpoint currently requires session authentication; Personal Access Token scope support is in progress.
Request body fields:
- name (optional, string)
- connection_settings (optional, object): API credentials
- integration_settings (optional, object). Includes:
- fulfillment_cost_financial_line_type_id (optional, int|null): COST financial line type used for ShipStation shipping cost lines. null = auto (default "Shipping Cost"). Must be a cost type or returns 422.
- is_automatic_sync_enabled (optional, boolean)
When the effective cost-line type changes, a reconcile tracked job is dispatched and the response includes reconcile_tracked_job_log_id.
Requires the integrations.update permission.
Omitting fulfillment_cost_financial_line_type_id keeps the configured cost line type; send it (or null) to change it.
connection_settings never contains saved credentials: each secret key (API keys, secrets, passwords, tokens) is left out and replaced by a has_<snake_case_key> boolean saying whether one is saved (apiKey → has_api_key, password → has_password). Credentials in connection_settings are merged into the saved ones: a key you leave out keeps its saved value, so send a secret only to replace it (the response never echoes it back).
Request
Responses
- 200
- 401
- 403
- 404
- 422
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden
Response Headers
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Unprocessable Entity
Response Headers
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.