Save SCIM users

POST /v1/api/scim/users/{domain_id}.json

Operation id: saveSCIMUsers

Description

Creates or updates users after id_token validation (USER_EDIT). Multipart body; same fields as save external users. Send idempotency-key to make retries safe.

Tags: SCIM Users

Parameters

Path parameters

NameTypeRequiredDescription
domain_idstringYesExternal domain identifier

Query parameters

NameTypeRequiredDescription
id_tokenstringYesOIDC identity token (id_token)

Header parameters

NameTypeRequiredDescription
idempotency-keystringNoOptional but recommended client-supplied unique identifier for a write request. Used by save / delete endpoints to make retries idempotent. Use a UUID v4 or similar.

Responses

200 — List of transaction statuses

Content type: application/json

400 — One or more request parameters are invalid.

Content type: application/json

401 — Authentication failed. The request is missing a token, the token is invalid, or the token has expired.

Content type: application/json

403 — User lacks the required permission for this operation.

Content type: application/json

500 — An unexpected error occurred while processing the request.

Content type: application/json

Request body

Required: Yes

multipart/form-data

Schema

PropertyTypeRequiredDescription
data_load_detailsstring (binary)No
user_detailsarrayNoJSON array of user objects.
{
  "type": "object",
  "properties": {
    "data_load_details": {
      "type": "string",
      "format": "binary"
    },
    "user_details": {
      "type": "array",
      "description": "JSON array of user objects.",
      "items": {
        "type": "object",
        "properties": {
          "user_id": {
            "type": "string"
          },
          "user_name": {
            "type": "string"
          },
          "email_id": {
            "type": "string"
          },
          "phone_no": {
            "type": "string"
          },
          "recovery_email_id": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "mobile_no": {
            "type": "string"
          },
          "unit_id": {
            "type": "string"
          },
          "profile_ids": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "dept_ids": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "password": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "fax": {
            "type": "string"
          },
          "mobile_carrier": {
            "type": "string"
          },
          "works_in": {
            "type": "string"
          },
          "primaryDeptId": {
            "type": "string"
          },
          "user_units": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "delete_user_units": {
            "type": "boolean"
          }
        }
      }
    }
  }
}

Response models

200 — List of transaction statuses

Content type: application/json

Schema

{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "status_code": {
        "type": "integer"
      },
      "meta_info": {
        "type": "object"
      },
      "message": {
        "type": "string"
      }
    }
  }
}

400 — One or more request parameters are invalid.

Content type: application/json

Schema

Structured error envelope returned by external gateway endpoints (/v1/api/*). Wraps a single error object with type, code, human-readable message, the offending param (when applicable), and an optional documentation URL.

PropertyTypeRequiredDescription
errorobjectNo
{
  "type": "object",
  "description": "Structured error envelope returned by external gateway endpoints (`/v1/api/*`).\nWraps a single `error` object with `type`, `code`, human-readable `message`, the offending\n`param` (when applicable), and an optional documentation URL.\n",
  "properties": {
    "error": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "description": "High-level error category (for example `unauthorized`, `invalid_parameter`, `validation_error`).",
          "example": "invalid_parameter"
        },
        "code": {
          "type": "string",
          "description": "Machine-readable error code; clients should branch on this rather than `message`.",
          "example": "invalid_parameter"
        },
        "message": {
          "type": "string",
          "description": "Human-readable description of the error.",
          "example": "One or more request parameters are invalid."
        },
        "param": {
          "type": "string",
          "description": "Name of the request parameter or field that caused the error, when applicable.",
          "example": "page_number",
          "nullable": true
        },
        "doc_url": {
          "type": "string",
          "description": "Optional URL to documentation describing the error.",
          "example": "https://{APP_URL}/kernel/errors/invalid_parameter",
          "nullable": true
        }
      }
    }
  }
}

401 — Authentication failed. The request is missing a token, the token is invalid, or the token has expired.

Content type: application/json

Schema

Structured error envelope returned by external gateway endpoints (/v1/api/*). Wraps a single error object with type, code, human-readable message, the offending param (when applicable), and an optional documentation URL.

PropertyTypeRequiredDescription
errorobjectNo
{
  "type": "object",
  "description": "Structured error envelope returned by external gateway endpoints (`/v1/api/*`).\nWraps a single `error` object with `type`, `code`, human-readable `message`, the offending\n`param` (when applicable), and an optional documentation URL.\n",
  "properties": {
    "error": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "description": "High-level error category (for example `unauthorized`, `invalid_parameter`, `validation_error`).",
          "example": "invalid_parameter"
        },
        "code": {
          "type": "string",
          "description": "Machine-readable error code; clients should branch on this rather than `message`.",
          "example": "invalid_parameter"
        },
        "message": {
          "type": "string",
          "description": "Human-readable description of the error.",
          "example": "One or more request parameters are invalid."
        },
        "param": {
          "type": "string",
          "description": "Name of the request parameter or field that caused the error, when applicable.",
          "example": "page_number",
          "nullable": true
        },
        "doc_url": {
          "type": "string",
          "description": "Optional URL to documentation describing the error.",
          "example": "https://{APP_URL}/kernel/errors/invalid_parameter",
          "nullable": true
        }
      }
    }
  }
}

403 — User lacks the required permission for this operation.

Content type: application/json

Schema

Structured error envelope returned by external gateway endpoints (/v1/api/*). Wraps a single error object with type, code, human-readable message, the offending param (when applicable), and an optional documentation URL.

PropertyTypeRequiredDescription
errorobjectNo
{
  "type": "object",
  "description": "Structured error envelope returned by external gateway endpoints (`/v1/api/*`).\nWraps a single `error` object with `type`, `code`, human-readable `message`, the offending\n`param` (when applicable), and an optional documentation URL.\n",
  "properties": {
    "error": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "description": "High-level error category (for example `unauthorized`, `invalid_parameter`, `validation_error`).",
          "example": "invalid_parameter"
        },
        "code": {
          "type": "string",
          "description": "Machine-readable error code; clients should branch on this rather than `message`.",
          "example": "invalid_parameter"
        },
        "message": {
          "type": "string",
          "description": "Human-readable description of the error.",
          "example": "One or more request parameters are invalid."
        },
        "param": {
          "type": "string",
          "description": "Name of the request parameter or field that caused the error, when applicable.",
          "example": "page_number",
          "nullable": true
        },
        "doc_url": {
          "type": "string",
          "description": "Optional URL to documentation describing the error.",
          "example": "https://{APP_URL}/kernel/errors/invalid_parameter",
          "nullable": true
        }
      }
    }
  }
}

500 — An unexpected error occurred while processing the request.

Content type: application/json

Schema

Structured error envelope returned by external gateway endpoints (/v1/api/*). Wraps a single error object with type, code, human-readable message, the offending param (when applicable), and an optional documentation URL.

PropertyTypeRequiredDescription
errorobjectNo
{
  "type": "object",
  "description": "Structured error envelope returned by external gateway endpoints (`/v1/api/*`).\nWraps a single `error` object with `type`, `code`, human-readable `message`, the offending\n`param` (when applicable), and an optional documentation URL.\n",
  "properties": {
    "error": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "description": "High-level error category (for example `unauthorized`, `invalid_parameter`, `validation_error`).",
          "example": "invalid_parameter"
        },
        "code": {
          "type": "string",
          "description": "Machine-readable error code; clients should branch on this rather than `message`.",
          "example": "invalid_parameter"
        },
        "message": {
          "type": "string",
          "description": "Human-readable description of the error.",
          "example": "One or more request parameters are invalid."
        },
        "param": {
          "type": "string",
          "description": "Name of the request parameter or field that caused the error, when applicable.",
          "example": "page_number",
          "nullable": true
        },
        "doc_url": {
          "type": "string",
          "description": "Optional URL to documentation describing the error.",
          "example": "https://{APP_URL}/kernel/errors/invalid_parameter",
          "nullable": true
        }
      }
    }
  }
}