Skip to content

SSO ​

9 operations. Call any of them with omada_call_operation (or, in full tool mode, as a tool named by its operationId).

OperationMethodSummary
getExternalUserGroupListGETGet external user group list
createExternalUserGroupPOSTCreate new external user group
deleteExternalUserGroupDELETEDelete an existing external user group
modifyExternalUserGroupPUTModify an existing external user group
getExternalUserListGETGet external user list
getIdpMetadataListGETGet idp list
createIdpMetadataPOSTCreate new idp
deleteIdpMetadataDELETEDelete an existing idp
modifyIdpMetadataPUTModify an existing idp

getExternalUserGroupList ​

GET /openapi/v1/{omadacId}/sso/external-user-groups

Get external user group list

ParameterInTypeRequiredDescription
omadacIdpathstringautoOmada ID (filled in automatically)
pagequeryintegernoStart page number. Start from 1. (default 1)
pageSizequeryintegernoNumber of entries per page. It should be within the range of 1–1000. (default 100)
sorts.namequerystringnoSort parameter may be one of asc or desc. Optional parameter. If it is not carried, it means it is not sorted by this field. When there are more than one, the first one takes effect
searchKeyquerystringnoFuzzy query parameters, support field name
json
// omada_call_operation
{
  "operationId": "getExternalUserGroupList"
}
Details, permissions and error codes

Get external user group list.
The interface requires one of the permissions:
Global Saml Roles Manager View Only

createExternalUserGroup ​

POST /openapi/v1/{omadacId}/sso/external-user-groups

Create new external user group

ParameterInTypeRequiredDescription
omadacIdpathstringautoOmada ID (filled in automatically)

Request body — application/json (required) — schema ExternalUserGroupOpenApiVO

FieldTypeRequiredDescription
namestringyesExternal user group name should contain 1 to 128 characters.
roleIdstringyesRole ID which can be obtained from 'Get role list' interface.
allSitebooleanyesWhether having all site permissions.
sitesarray<string>noThe site IDs that can be accessed. Effective when allSite is false.
temporaryEnablebooleannoWhether the user wants to enable the temporary worker permission
startTimeintegernoThe start time of the user's validity period. time range: start timestamp (Millisecond).
endTimeintegernoThe end time of the user's validity period. time range: end timestamp (Millisecond).
json
// omada_call_operation
{
  "operationId": "createExternalUserGroup",
  "body": "{...}"
}
Details, permissions and error codes

Create new external user group.
The interface requires one of the permissions:
Global Saml Roles Manager Modify
The possible error code for the interface in the returned body is one of the following error codes (non generic error codes):
-30102 - This role does not exist.
-30172 - The SAML User Group name already exists.
-30179 - The SAML User Group number has reached the upper limit.

deleteExternalUserGroup ​

DELETE /openapi/v1/{omadacId}/sso/external-user-groups/{externalUserGroupId}

Delete an existing external user group

ParameterInTypeRequiredDescription
omadacIdpathstringautoOmada ID (filled in automatically)
externalUserGroupIdpathstringyesExternal user group ID
json
// omada_call_operation
{
  "operationId": "deleteExternalUserGroup",
  "params": {
    "externalUserGroupId": "<externalUserGroupId>"
  }
}
Details, permissions and error codes

Delete an existing external user group.
The interface requires one of the permissions:
Global Saml Roles Manager Modify

modifyExternalUserGroup ​

PUT /openapi/v1/{omadacId}/sso/external-user-groups/{externalUserGroupId}

Modify an existing external user group

ParameterInTypeRequiredDescription
omadacIdpathstringautoOmada ID (filled in automatically)
externalUserGroupIdpathstringyesExternal user group ID

Request body — application/json (required) — schema ExternalUserGroupOpenApiVO

FieldTypeRequiredDescription
namestringyesExternal user group name should contain 1 to 128 characters.
roleIdstringyesRole ID which can be obtained from 'Get role list' interface.
allSitebooleanyesWhether having all site permissions.
sitesarray<string>noThe site IDs that can be accessed. Effective when allSite is false.
temporaryEnablebooleannoWhether the user wants to enable the temporary worker permission
startTimeintegernoThe start time of the user's validity period. time range: start timestamp (Millisecond).
endTimeintegernoThe end time of the user's validity period. time range: end timestamp (Millisecond).
json
// omada_call_operation
{
  "operationId": "modifyExternalUserGroup",
  "params": {
    "externalUserGroupId": "<externalUserGroupId>"
  },
  "body": "{...}"
}
Details, permissions and error codes

Modify an existing external user group.
The interface requires one of the permissions:
Global Saml Roles Manager Modify
The possible error code for the interface in the returned body is one of the following error codes (non generic error codes):
-30102 - This role does not exist.
-30172 - The SAML User Group name already exists.

getExternalUserList ​

GET /openapi/v1/{omadacId}/sso/external-users

Get external user list

ParameterInTypeRequiredDescription
omadacIdpathstringautoOmada ID (filled in automatically)
pagequeryintegernoStart page number. Start from 1. (default 1)
pageSizequeryintegernoNumber of entries per page. It should be within the range of 1–1000. (default 100)
sorts.userNamequerystringnoSort parameter may be one of asc or desc. Optional parameter. If it is not carried, it means it is not sorted by this field. When there are more than one, the first one takes effect
searchKeyquerystringnoFuzzy query parameters, support field userName
json
// omada_call_operation
{
  "operationId": "getExternalUserList"
}
Details, permissions and error codes

Get external user list.
The interface requires one of the permissions:
Global Saml Users Manager View Only

getIdpMetadataList ​

GET /openapi/v1/{omadacId}/sso/saml-idps

Get idp list

ParameterInTypeRequiredDescription
omadacIdpathstringautoOmada ID (filled in automatically)
pagequeryintegernoStart page number. Start from 1. (default 1)
pageSizequeryintegernoNumber of entries per page. It should be within the range of 1–1000. (default 100)
sorts.idpNamequerystringnoSort parameter may be one of asc or desc. Optional parameter. If it is not carried, it means it is not sorted by this field. When there are more than one, the first one takes effect
json
// omada_call_operation
{
  "operationId": "getIdpMetadataList"
}
Details, permissions and error codes

Get idp list.
The interface requires one of the permissions:
Global Saml SSO Manager View Only

createIdpMetadata ​

POST /openapi/v1/{omadacId}/sso/saml-idps

Create new idp

ParameterInTypeRequiredDescription
omadacIdpathstringautoOmada ID (filled in automatically)

Request body — application/json (required) — schema IdpMetadataOpenApiVO

FieldTypeRequiredDescription
namestringyesIdP name should contain 1 to 32 characters.
descriptionstringnoIdP description should contain 0 to 128 characters.
entityIdstringyesThe IdP entity id which must be unique in same Omadac.
loginUrlstringyesLogin url
x509CertificatestringyesBASE64 encoded string of x509 certificate.
json
// omada_call_operation
{
  "operationId": "createIdpMetadata",
  "body": "{...}"
}
Details, permissions and error codes

Create new idp.
The interface requires one of the permissions:
Global Saml SSO Manager Modify
The possible error code for the interface in the returned body is one of the following error codes (non generic error codes):
-30170 - The SAML sso metadata entityId already exists.
-30171 - The SAML sso metadata name already exist.
-30178 - The SAML sso number has reached the upper limit.

deleteIdpMetadata ​

DELETE /openapi/v1/{omadacId}/sso/saml-idps/{idpId}

Delete an existing idp

ParameterInTypeRequiredDescription
omadacIdpathstringautoOmada ID (filled in automatically)
idpIdpathstringyesIdP ID
json
// omada_call_operation
{
  "operationId": "deleteIdpMetadata",
  "params": {
    "idpId": "<idpId>"
  }
}
Details, permissions and error codes

Delete an existing idp.
The interface requires one of the permissions:
Global Saml SSO Manager Modify

modifyIdpMetadata ​

PUT /openapi/v1/{omadacId}/sso/saml-idps/{idpId}

Modify an existing idp

ParameterInTypeRequiredDescription
omadacIdpathstringautoOmada ID (filled in automatically)
idpIdpathstringyesIdP id

Request body — application/json (required) — schema IdpMetadataOpenApiVO

FieldTypeRequiredDescription
namestringyesIdP name should contain 1 to 32 characters.
descriptionstringnoIdP description should contain 0 to 128 characters.
entityIdstringyesThe IdP entity id which must be unique in same Omadac.
loginUrlstringyesLogin url
x509CertificatestringyesBASE64 encoded string of x509 certificate.
json
// omada_call_operation
{
  "operationId": "modifyIdpMetadata",
  "params": {
    "idpId": "<idpId>"
  },
  "body": "{...}"
}
Details, permissions and error codes

Modify an existing idp.
The interface requires one of the permissions:
Global Saml SSO Manager Modify
The possible error code for the interface in the returned body is one of the following error codes (non generic error codes):
-30170 - The SAML sso metadata entityId already exists.
-30171 - The SAML sso metadata name already exist.

Released under the MIT License. Not affiliated with or endorsed by TP-Link.