openapi: 3.0.0
info:
title: Authentication Admin Org Preference API
description: Skedulo Authentication API
version: 1.0.0
servers:
- url: https://api.skedulo.com/auth
- url: https://api.uk.skedulo.com/auth
- url: https://api.ca.skedulo.com/auth
- url: https://api.au.skedulo.com/auth
tags:
- name: Org Preference
paths:
/org_preference/salesforce-mfa:
post:
summary: Update Salesforce MFA delegation
description: Sets the tenant's Salesforce MFA enforcement flag and/or the stored Salesforce SAML SSO Login URL. Both fields are optional; an omitted field is left unchanged. This is the only endpoint that may set these high-impact SAML-delegation values — they are stripped from the generic `POST /org_preference`.
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ResultOkSalesforceMfaDelegation'
'400':
description: salesforceLoginUrl is not an https URL with a *.salesforce.com host (errorType `invalid_salesforce_login_url`).
'401':
description: Not authorized
'412':
description: Tenant not initialized on this service.
security:
- Authorization: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SalesforceMfaDelegation'
description: The Salesforce MFA delegation settings to update. An omitted field is left unchanged.
required: true
tags:
- Org Preference
components:
schemas:
SalesforceMfaDelegation:
type: object
properties:
enabled:
description: Whether the tenant's Salesforce org enforces MFA org-wide. Omit to leave unchanged.
type: boolean
salesforceLoginUrl:
description: The org's Skedulo SAML SSO "Salesforce Login URL", used verbatim as the SAML assertion ACS. Must be an https URL with a *.salesforce.com host. Omit to leave unchanged.
type: string
ResultOkSalesforceMfaDelegation:
type: object
required:
- result
properties:
result:
type: object
required:
- enabled
properties:
enabled:
description: The persisted Salesforce MFA enforcement flag.
type: boolean
salesforceLoginUrl:
description: The stored Salesforce Login URL, or null if not configured.
type: string
securitySchemes:
Authorization:
type: http
scheme: bearer
bearerFormat: JWT