MechaMental
Api reference

Sso

Sso Discover

POST
/v1/auth/sso/discover

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

email*Email

Response Body

application/json

application/json

application/json

curl -X POST "https://loading/v1/auth/sso/discover" \  -H "Content-Type: application/json" \  -d '{    "email": "string"  }'
{
  "sso_available": true,
  "provider_name": "string",
  "protocol": "string"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}
{
  "error": "RATE_LIMIT_EXCEEDED",
  "message": "Too many requests. Please try again later.",
  "details": {
    "retry_after": 60
  },
  "timestamp": "2025-01-01T00:00:00.000000",
  "status_code": 429
}

Sso Initiate

POST
/v1/auth/sso/initiate

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

email*Email

Response Body

application/json

application/json

application/json

curl -X POST "https://loading/v1/auth/sso/initiate" \  -H "Content-Type: application/json" \  -d '{    "email": "string"  }'
{
  "redirect_url": "string",
  "protocol": "string"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}
{
  "error": "RATE_LIMIT_EXCEEDED",
  "message": "Too many requests. Please try again later.",
  "details": {
    "retry_after": 60
  },
  "timestamp": "2025-01-01T00:00:00.000000",
  "status_code": 429
}

Sso Callback Saml

POST
/v1/auth/sso/callback/saml

Response Body

application/json

application/json

curl -X POST "https://loading/v1/auth/sso/callback/saml"
null
{
  "error": "RATE_LIMIT_EXCEEDED",
  "message": "Too many requests. Please try again later.",
  "details": {
    "retry_after": 60
  },
  "timestamp": "2025-01-01T00:00:00.000000",
  "status_code": 429
}

Sso Callback Oidc

GET
/v1/auth/sso/callback/oidc

Query Parameters

code*Code
state*State

Response Body

application/json

application/json

application/json

curl -X GET "https://loading/v1/auth/sso/callback/oidc?code=string&state=string"
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}
{
  "error": "RATE_LIMIT_EXCEEDED",
  "message": "Too many requests. Please try again later.",
  "details": {
    "retry_after": 60
  },
  "timestamp": "2025-01-01T00:00:00.000000",
  "status_code": 429
}
ny changes should be made by running the generation command again. */}

List Identity Providers

GET
/v1/orgs/{org_id}/identity-providers

Path Parameters

org_id*Org Id

Header Parameters

authorization?string|null

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://loading/v1/orgs/string/identity-providers"
{
  "total": 0,
  "has_more": false,
  "next_cursor": "string",
  "identity_providers": [
    {
      "idp_id": "string",
      "org_id": "string",
      "name": "string",
      "protocol": "saml",
      "saml_config": {
        "entity_id": "string",
        "sso_url": "string",
        "slo_url": "string",
        "certificate": "string",
        "sign_authn_requests": true,
        "name_id_format": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"
      },
      "oidc_config": {
        "client_id": "string",
        "client_secret_ref": "string",
        "discovery_url": "string",
        "scopes": [
          "string"
        ]
      },
      "verified_domains": [],
      "group_mappings": [],
      "group_attribute": "string",
      "default_role_id": "string",
      "auto_create_users": true,
      "auto_update_profile": true,
      "is_active": true,
      "created_at": "string",
      "updated_at": "string",
      "created_by": "string"
    }
  ]
}
{
  "error": "AUTHENTICATION_FAILED",
  "message": "Authentication required",
  "details": {},
  "timestamp": "2025-01-01T00:00:00.000000",
  "status_code": 401
}
{
  "error": "FORBIDDEN",
  "message": "You don't have permission to perform this action",
  "details": {
    "required_permission": "resource:action"
  },
  "timestamp": "2025-01-01T00:00:00.000000",
  "status_code": 403
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}
{
  "error": "RATE_LIMIT_EXCEEDED",
  "message": "Too many requests. Please try again later.",
  "details": {
    "retry_after": 60
  },
  "timestamp": "2025-01-01T00:00:00.000000",
  "status_code": 429
}
{
  "error": "INTERNAL_SERVER_ERROR",
  "message": "An unexpected error occurred",
  "details": {},
  "timestamp": "2025-01-01T00:00:00.000000",
  "status_code": 500
}

Create Identity Provider

POST
/v1/orgs/{org_id}/identity-providers

Path Parameters

org_id*Org Id

Header Parameters

authorization?string|null

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://loading/v1/orgs/string/identity-providers" \  -H "Content-Type: application/json" \  -d '{    "name": "string",    "protocol": "saml"  }'
{
  "idp_id": "string",
  "org_id": "string",
  "name": "string",
  "protocol": "saml",
  "saml_config": {
    "entity_id": "string",
    "sso_url": "string",
    "slo_url": "string",
    "certificate": "string",
    "sign_authn_requests": true,
    "name_id_format": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"
  },
  "oidc_config": {
    "client_id": "string",
    "client_secret_ref": "string",
    "discovery_url": "string",
    "scopes": [
      "string"
    ]
  },
  "verified_domains": [],
  "group_mappings": [],
  "group_attribute": "string",
  "default_role_id": "string",
  "auto_create_users": true,
  "auto_update_profile": true,
  "is_active": true,
  "created_at": "string",
  "updated_at": "string",
  "created_by": "string"
}
{
  "error": "AUTHENTICATION_FAILED",
  "message": "Authentication required",
  "details": {},
  "timestamp": "2025-01-01T00:00:00.000000",
  "status_code": 401
}
{
  "error": "FORBIDDEN",
  "message": "You don't have permission to perform this action",
  "details": {
    "required_permission": "resource:action"
  },
  "timestamp": "2025-01-01T00:00:00.000000",
  "status_code": 403
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}
{
  "error": "RATE_LIMIT_EXCEEDED",
  "message": "Too many requests. Please try again later.",
  "details": {
    "retry_after": 60
  },
  "timestamp": "2025-01-01T00:00:00.000000",
  "status_code": 429
}
{
  "error": "INTERNAL_SERVER_ERROR",
  "message": "An unexpected error occurred",
  "details": {},
  "timestamp": "2025-01-01T00:00:00.000000",
  "status_code": 500
}

Get Identity Provider

GET
/v1/orgs/{org_id}/identity-providers/{idp_id}

Path Parameters

org_id*Org Id
idp_id*Idp Id

Header Parameters

authorization?string|null

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://loading/v1/orgs/string/identity-providers/string"
{
  "idp_id": "string",
  "org_id": "string",
  "name": "string",
  "protocol": "saml",
  "saml_config": {
    "entity_id": "string",
    "sso_url": "string",
    "slo_url": "string",
    "certificate": "string",
    "sign_authn_requests": true,
    "name_id_format": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"
  },
  "oidc_config": {
    "client_id": "string",
    "client_secret_ref": "string",
    "discovery_url": "string",
    "scopes": [
      "string"
    ]
  },
  "verified_domains": [],
  "group_mappings": [],
  "group_attribute": "string",
  "default_role_id": "string",
  "auto_create_users": true,
  "auto_update_profile": true,
  "is_active": true,
  "created_at": "string",
  "updated_at": "string",
  "created_by": "string"
}
{
  "error": "AUTHENTICATION_FAILED",
  "message": "Authentication required",
  "details": {},
  "timestamp": "2025-01-01T00:00:00.000000",
  "status_code": 401
}
{
  "error": "FORBIDDEN",
  "message": "You don't have permission to perform this action",
  "details": {
    "required_permission": "resource:action"
  },
  "timestamp": "2025-01-01T00:00:00.000000",
  "status_code": 403
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}
{
  "error": "RATE_LIMIT_EXCEEDED",
  "message": "Too many requests. Please try again later.",
  "details": {
    "retry_after": 60
  },
  "timestamp": "2025-01-01T00:00:00.000000",
  "status_code": 429
}
{
  "error": "INTERNAL_SERVER_ERROR",
  "message": "An unexpected error occurred",
  "details": {},
  "timestamp": "2025-01-01T00:00:00.000000",
  "status_code": 500
}

Delete Identity Provider

DELETE
/v1/orgs/{org_id}/identity-providers/{idp_id}

Path Parameters

org_id*Org Id
idp_id*Idp Id

Header Parameters

authorization?string|null

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X DELETE "https://loading/v1/orgs/string/identity-providers/string"
Empty
{
  "error": "AUTHENTICATION_FAILED",
  "message": "Authentication required",
  "details": {},
  "timestamp": "2025-01-01T00:00:00.000000",
  "status_code": 401
}
{
  "error": "FORBIDDEN",
  "message": "You don't have permission to perform this action",
  "details": {
    "required_permission": "resource:action"
  },
  "timestamp": "2025-01-01T00:00:00.000000",
  "status_code": 403
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}
{
  "error": "RATE_LIMIT_EXCEEDED",
  "message": "Too many requests. Please try again later.",
  "details": {
    "retry_after": 60
  },
  "timestamp": "2025-01-01T00:00:00.000000",
  "status_code": 429
}
{
  "error": "INTERNAL_SERVER_ERROR",
  "message": "An unexpected error occurred",
  "details": {},
  "timestamp": "2025-01-01T00:00:00.000000",
  "status_code": 500
}

Update Identity Provider

PUT
/v1/orgs/{org_id}/identity-providers/{idp_id}

Path Parameters

org_id*Org Id
idp_id*Idp Id

Header Parameters

authorization?string|null

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PUT "https://loading/v1/orgs/string/identity-providers/string" \  -H "Content-Type: application/json" \  -d '{}'
{
  "idp_id": "string",
  "org_id": "string",
  "name": "string",
  "protocol": "saml",
  "saml_config": {
    "entity_id": "string",
    "sso_url": "string",
    "slo_url": "string",
    "certificate": "string",
    "sign_authn_requests": true,
    "name_id_format": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"
  },
  "oidc_config": {
    "client_id": "string",
    "client_secret_ref": "string",
    "discovery_url": "string",
    "scopes": [
      "string"
    ]
  },
  "verified_domains": [],
  "group_mappings": [],
  "group_attribute": "string",
  "default_role_id": "string",
  "auto_create_users": true,
  "auto_update_profile": true,
  "is_active": true,
  "created_at": "string",
  "updated_at": "string",
  "created_by": "string"
}
{
  "error": "AUTHENTICATION_FAILED",
  "message": "Authentication required",
  "details": {},
  "timestamp": "2025-01-01T00:00:00.000000",
  "status_code": 401
}
{
  "error": "FORBIDDEN",
  "message": "You don't have permission to perform this action",
  "details": {
    "required_permission": "resource:action"
  },
  "timestamp": "2025-01-01T00:00:00.000000",
  "status_code": 403
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}
{
  "error": "RATE_LIMIT_EXCEEDED",
  "message": "Too many requests. Please try again later.",
  "details": {
    "retry_after": 60
  },
  "timestamp": "2025-01-01T00:00:00.000000",
  "status_code": 429
}
{
  "error": "INTERNAL_SERVER_ERROR",
  "message": "An unexpected error occurred",
  "details": {},
  "timestamp": "2025-01-01T00:00:00.000000",
  "status_code": 500
}