SuccessFactors Platform User (bounded OData v2)

This reference is readable without JavaScript. Download the OpenAPI document.

Runtime

/api/purple-suite/{instanceId}/contracts/hris/successfactors
[
  {
    "method": "get",
    "path": "/odata/v2/User",
    "operationId": "listUsers"
  },
  {
    "method": "get",
    "path": "/odata/v2/User/$count",
    "operationId": "countUsers"
  },
  {
    "method": "get",
    "path": "/odata/v2/$metadata",
    "operationId": "metadata"
  },
  {
    "method": "get",
    "path": "/odata/v2/User/$metadata",
    "operationId": "userMetadata"
  },
  {
    "method": "post",
    "path": "/odata/v2/User",
    "operationId": "insertUser"
  },
  {
    "method": "post",
    "path": "/odata/v2/upsert",
    "operationId": "upsertUsers"
  },
  {
    "method": "get",
    "path": "/odata/v2/User\\(':userId'\\)",
    "operationId": "readUser"
  },
  {
    "method": "put",
    "path": "/odata/v2/User\\(':userId'\\)",
    "operationId": "replaceUser"
  },
  {
    "method": "post",
    "path": "/odata/v2/User\\(':userId'\\)",
    "operationId": "mergeUser"
  }
]

Credentials

Coverage and limitations

{
  "documentScope": "bounded",
  "runtimeFidelity": "modeled",
  "counts": {
    "operations": 9,
    "types": 1
  },
  "notes": [
    "Nine operations for the internal Platform User directory, writes and derived metadata; sixteen source-backed properties. Not Employee Central employment/job/person/time-off workflows.",
    "JSON only; bounded query grammar and writable fields are enforced. Tenant-custom mandatory fields, relationships, RBP permissions, external users, XML/Atom, multipart batch, password/login provisioning and OAuth issuance are excluded. Delete is not supported by SAP User.",
    "Official archived sample metadata is retained unchanged. Current public 1H 2026 User reference supplies mandatory-field and behavioral corrections. No current customer tenant metadata or vendor differential fixture is claimed."
  ]
}

Internal platform-user directory and account fields only. Original SAP sample metadata is retained unchanged; this document narrows executable fields and queries. Employee Central jobs/employment, navigation/permissions, tenant customizations, password operations, XML/Atom, OAuth issuance, and batch transport are not implemented.

Servers

[
  {
    "url": "/api/purple-suite/{instanceId}/contracts/hris/successfactors",
    "variables": {
      "instanceId": {
        "default": "YOUR_INSTANCE_ID"
      }
    }
  }
]

Authentication schemes

{
  "bearer": {
    "type": "http",
    "scheme": "bearer",
    "description": "PurpleSuite instance key in SAP's OAuth bearer-token position."
  }
}

Each operation lists its security requirements. An empty security array permits an unauthenticated request. Use the scheme and headers declared for the selected contract.

Operations

GET /odata/v2/User

listUsers

Authentication

[
  {
    "bearer": []
  }
]

Request, responses and operation details

{
  "operationId": "listUsers",
  "tags": [
    "Platform users"
  ],
  "summary": "listUsers",
  "parameters": [
    {
      "in": "query",
      "name": "$format",
      "description": "JSON only (case insensitive).",
      "schema": {
        "type": "string"
      }
    },
    {
      "in": "query",
      "name": "$select",
      "description": "Comma-separated fields: businessPhone, defaultLocale, department, division, email, firstName, hireDate, lastModifiedDateTime, lastName, location, mi, status, timeZone, title, userId, username.",
      "schema": {
        "type": "string"
      }
    },
    {
      "in": "query",
      "name": "$filter",
      "description": "eq/ne/in over filterable string fields; and/or parentheses. Explicit status filter includes inactive records. Unsupported grammar fails closed.",
      "schema": {
        "type": "string"
      }
    },
    {
      "in": "query",
      "name": "$orderby",
      "description": "Comma-separated sortable fields with asc/desc. SAP User sorting by status includes active and inactive users unless restricted by a status filter.",
      "schema": {
        "type": "string"
      }
    },
    {
      "in": "query",
      "name": "$top",
      "description": "Nonnegative row limit.",
      "schema": {
        "type": "string"
      }
    },
    {
      "in": "query",
      "name": "$skip",
      "description": "Nonnegative row offset.",
      "schema": {
        "type": "string"
      }
    },
    {
      "in": "query",
      "name": "$inlinecount",
      "description": "allpages or none; __count is a string.",
      "schema": {
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/UserCollection"
          }
        }
      }
    },
    "400": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "401": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "404": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "406": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "415": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "429": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "500": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    }
  }
}

POST /odata/v2/User

insertUser

Authentication

[
  {
    "bearer": []
  }
]

Request, responses and operation details

{
  "operationId": "insertUser",
  "tags": [
    "Platform users"
  ],
  "summary": "insertUser",
  "parameters": [
    {
      "in": "query",
      "name": "$format",
      "description": "JSON only (case insensitive).",
      "schema": {
        "type": "string"
      }
    },
    {
      "in": "query",
      "name": "processInactiveEmployees",
      "schema": {
        "type": "boolean",
        "default": false
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/UserCreate"
        }
      }
    }
  },
  "responses": {
    "201": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/UserResponse"
          }
        }
      }
    },
    "400": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "401": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "404": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "406": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "415": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "429": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "500": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    }
  }
}

GET /odata/v2/User/$count

countUsers

Authentication

[
  {
    "bearer": []
  }
]

Request, responses and operation details

{
  "operationId": "countUsers",
  "tags": [
    "Platform users"
  ],
  "summary": "countUsers",
  "parameters": [
    {
      "in": "query",
      "name": "$format",
      "description": "JSON only (case insensitive).",
      "schema": {
        "type": "string"
      }
    },
    {
      "in": "query",
      "name": "$select",
      "description": "Comma-separated fields: businessPhone, defaultLocale, department, division, email, firstName, hireDate, lastModifiedDateTime, lastName, location, mi, status, timeZone, title, userId, username.",
      "schema": {
        "type": "string"
      }
    },
    {
      "in": "query",
      "name": "$filter",
      "description": "eq/ne/in over filterable string fields; and/or parentheses. Explicit status filter includes inactive records. Unsupported grammar fails closed.",
      "schema": {
        "type": "string"
      }
    },
    {
      "in": "query",
      "name": "$orderby",
      "description": "Comma-separated sortable fields with asc/desc. SAP User sorting by status includes active and inactive users unless restricted by a status filter.",
      "schema": {
        "type": "string"
      }
    },
    {
      "in": "query",
      "name": "$top",
      "description": "Nonnegative row limit.",
      "schema": {
        "type": "string"
      }
    },
    {
      "in": "query",
      "name": "$skip",
      "description": "Nonnegative row offset.",
      "schema": {
        "type": "string"
      }
    },
    {
      "in": "query",
      "name": "$inlinecount",
      "description": "allpages or none; __count is a string.",
      "schema": {
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "description": "Count",
      "content": {
        "text/plain": {
          "schema": {
            "type": "string"
          }
        }
      }
    },
    "400": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "401": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "404": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "406": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "415": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "429": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "500": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    }
  }
}

GET /odata/v2/$metadata

metadata

Authentication

[
  {
    "bearer": []
  }
]

Request, responses and operation details

{
  "operationId": "metadata",
  "tags": [
    "Platform users"
  ],
  "summary": "metadata",
  "parameters": [],
  "responses": {
    "200": {
      "description": "Derived bounded EDMX",
      "content": {
        "application/xml": {
          "schema": {
            "type": "string"
          }
        }
      }
    },
    "400": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "401": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "404": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "406": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "415": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "429": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "500": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    }
  }
}

GET /odata/v2/User/$metadata

userMetadata

Authentication

[
  {
    "bearer": []
  }
]

Request, responses and operation details

{
  "operationId": "userMetadata",
  "tags": [
    "Platform users"
  ],
  "summary": "userMetadata",
  "parameters": [],
  "responses": {
    "200": {
      "description": "Derived bounded EDMX",
      "content": {
        "application/xml": {
          "schema": {
            "type": "string"
          }
        }
      }
    },
    "400": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "401": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "404": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "406": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "415": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "429": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "500": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    }
  }
}

POST /odata/v2/upsert

upsertUsers

Authentication

[
  {
    "bearer": []
  }
]

Request, responses and operation details

{
  "operationId": "upsertUsers",
  "tags": [
    "Platform users"
  ],
  "summary": "upsertUsers",
  "parameters": [
    {
      "in": "query",
      "name": "$format",
      "description": "JSON only (case insensitive).",
      "schema": {
        "type": "string"
      }
    },
    {
      "in": "query",
      "name": "processInactiveEmployees",
      "schema": {
        "type": "boolean",
        "default": false
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "oneOf": [
            {
              "$ref": "#/components/schemas/UserWrite"
            },
            {
              "type": "array",
              "minItems": 1,
              "maxItems": 1000,
              "items": {
                "$ref": "#/components/schemas/UserWrite"
              }
            }
          ]
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/UpsertResponse"
          }
        }
      }
    },
    "400": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "401": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "404": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "406": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "415": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "429": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "500": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    }
  }
}

GET /odata/v2/User('{userId}')

readUser

Authentication

[
  {
    "bearer": []
  }
]

Request, responses and operation details

{
  "operationId": "readUser",
  "tags": [
    "Platform users"
  ],
  "summary": "readUser",
  "parameters": [
    {
      "in": "path",
      "name": "userId",
      "required": true,
      "description": "SAP User business key. Apostrophes inside the key must be doubled.",
      "schema": {
        "type": "string",
        "minLength": 1
      }
    },
    {
      "in": "query",
      "name": "$format",
      "description": "JSON only (case insensitive).",
      "schema": {
        "type": "string"
      }
    },
    {
      "in": "query",
      "name": "$select",
      "description": "Comma-separated fields: businessPhone, defaultLocale, department, division, email, firstName, hireDate, lastModifiedDateTime, lastName, location, mi, status, timeZone, title, userId, username.",
      "schema": {
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/UserResponse"
          }
        }
      }
    },
    "400": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "401": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "404": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "406": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "415": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "429": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "500": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    }
  }
}

PUT /odata/v2/User('{userId}')

replaceUser

Authentication

[
  {
    "bearer": []
  }
]

Request, responses and operation details

{
  "operationId": "replaceUser",
  "tags": [
    "Platform users"
  ],
  "summary": "replaceUser",
  "parameters": [
    {
      "in": "path",
      "name": "userId",
      "required": true,
      "description": "SAP User business key. Apostrophes inside the key must be doubled.",
      "schema": {
        "type": "string",
        "minLength": 1
      }
    },
    {
      "in": "query",
      "name": "$format",
      "description": "JSON only (case insensitive).",
      "schema": {
        "type": "string"
      }
    },
    {
      "in": "query",
      "name": "processInactiveEmployees",
      "schema": {
        "type": "boolean",
        "default": false
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/UserCreate"
        }
      }
    }
  },
  "responses": {
    "204": {
      "description": "Success; empty body"
    },
    "400": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "401": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "404": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "406": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "415": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "429": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "500": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    }
  }
}

POST /odata/v2/User('{userId}')

mergeUser

Authentication

[
  {
    "bearer": []
  }
]

Request, responses and operation details

{
  "operationId": "mergeUser",
  "tags": [
    "Platform users"
  ],
  "summary": "mergeUser",
  "parameters": [
    {
      "in": "path",
      "name": "userId",
      "required": true,
      "description": "SAP User business key. Apostrophes inside the key must be doubled.",
      "schema": {
        "type": "string",
        "minLength": 1
      }
    },
    {
      "in": "query",
      "name": "$format",
      "description": "JSON only (case insensitive).",
      "schema": {
        "type": "string"
      }
    },
    {
      "in": "query",
      "name": "processInactiveEmployees",
      "schema": {
        "type": "boolean",
        "default": false
      }
    },
    {
      "in": "header",
      "name": "X-HTTP-METHOD",
      "required": true,
      "schema": {
        "type": "string",
        "enum": [
          "MERGE"
        ]
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/UserWrite"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Success; empty body"
    },
    "400": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "401": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "404": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "406": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "415": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "429": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "500": {
      "description": "SAP OData v2 response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    }
  }
}

Schemas and reusable components

securitySchemes

bearer

{
  "type": "http",
  "scheme": "bearer",
  "description": "PurpleSuite instance key in SAP's OAuth bearer-token position."
}

schemas

Error

{
  "type": "object",
  "required": [
    "error"
  ],
  "properties": {
    "error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "object",
          "required": [
            "lang",
            "value"
          ],
          "properties": {
            "lang": {
              "type": "string",
              "enum": [
                "en-US"
              ]
            },
            "value": {
              "type": "string"
            }
          }
        }
      }
    }
  }
}

Metadata

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "uri": {
      "type": "string"
    },
    "type": {
      "type": "string",
      "enum": [
        "SFOData.User"
      ]
    }
  }
}

UserWrite

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "businessPhone": {
      "type": "string",
      "nullable": true,
      "maxLength": 20
    },
    "defaultLocale": {
      "type": "string",
      "nullable": true,
      "maxLength": 100
    },
    "department": {
      "type": "string",
      "nullable": true,
      "maxLength": 128
    },
    "division": {
      "type": "string",
      "nullable": true,
      "maxLength": 128
    },
    "email": {
      "type": "string",
      "nullable": true
    },
    "firstName": {
      "type": "string",
      "nullable": true,
      "maxLength": 128
    },
    "hireDate": {
      "type": "string",
      "nullable": true,
      "pattern": "^/Date\\(-?[0-9]+(?:[+-][0-9]{4})?\\)/$"
    },
    "lastName": {
      "type": "string",
      "nullable": true,
      "maxLength": 128
    },
    "location": {
      "type": "string",
      "nullable": true,
      "maxLength": 128
    },
    "mi": {
      "type": "string",
      "nullable": true,
      "maxLength": 128
    },
    "status": {
      "type": "string",
      "nullable": false,
      "maxLength": 17,
      "enum": [
        "t",
        "f",
        "active",
        "inactive"
      ]
    },
    "timeZone": {
      "type": "string",
      "nullable": true,
      "maxLength": 16
    },
    "title": {
      "type": "string",
      "nullable": true,
      "maxLength": 255
    },
    "userId": {
      "type": "string",
      "nullable": false,
      "maxLength": 100
    },
    "username": {
      "type": "string",
      "nullable": false,
      "maxLength": 100
    },
    "__metadata": {
      "$ref": "#/components/schemas/Metadata"
    }
  }
}

UserCreate

{
  "allOf": [
    {
      "$ref": "#/components/schemas/UserWrite"
    },
    {
      "required": [
        "userId",
        "username",
        "status"
      ]
    }
  ]
}

User

{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "__metadata"
  ],
  "properties": {
    "businessPhone": {
      "type": "string",
      "nullable": true,
      "maxLength": 20
    },
    "defaultLocale": {
      "type": "string",
      "nullable": true,
      "maxLength": 100
    },
    "department": {
      "type": "string",
      "nullable": true,
      "maxLength": 128
    },
    "division": {
      "type": "string",
      "nullable": true,
      "maxLength": 128
    },
    "email": {
      "type": "string",
      "nullable": true
    },
    "firstName": {
      "type": "string",
      "nullable": true,
      "maxLength": 128
    },
    "hireDate": {
      "type": "string",
      "nullable": true,
      "pattern": "^/Date\\(-?[0-9]+(?:[+-][0-9]{4})?\\)/$"
    },
    "lastModifiedDateTime": {
      "type": "string",
      "nullable": true,
      "readOnly": true,
      "pattern": "^/Date\\(-?[0-9]+(?:[+-][0-9]{4})?\\)/$"
    },
    "lastName": {
      "type": "string",
      "nullable": true,
      "maxLength": 128
    },
    "location": {
      "type": "string",
      "nullable": true,
      "maxLength": 128
    },
    "mi": {
      "type": "string",
      "nullable": true,
      "maxLength": 128
    },
    "status": {
      "type": "string",
      "nullable": false,
      "maxLength": 17,
      "enum": [
        "t",
        "f",
        "active",
        "inactive"
      ]
    },
    "timeZone": {
      "type": "string",
      "nullable": true,
      "maxLength": 16
    },
    "title": {
      "type": "string",
      "nullable": true,
      "maxLength": 255
    },
    "userId": {
      "type": "string",
      "nullable": false,
      "maxLength": 100
    },
    "username": {
      "type": "string",
      "nullable": false,
      "maxLength": 100
    },
    "__metadata": {
      "$ref": "#/components/schemas/Metadata"
    }
  }
}

UserResponse

{
  "type": "object",
  "required": [
    "d"
  ],
  "properties": {
    "d": {
      "$ref": "#/components/schemas/User"
    }
  }
}

UserCollection

{
  "type": "object",
  "required": [
    "d"
  ],
  "properties": {
    "d": {
      "type": "object",
      "required": [
        "results"
      ],
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/User"
          }
        },
        "__count": {
          "type": "string"
        },
        "__next": {
          "type": "string"
        }
      }
    }
  }
}

UpsertResponse

{
  "type": "object",
  "required": [
    "d"
  ],
  "properties": {
    "d": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "key",
          "status",
          "editStatus",
          "message",
          "index",
          "httpCode",
          "inlineResults"
        ],
        "properties": {
          "key": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "enum": [
              "OK",
              "ERROR"
            ]
          },
          "editStatus": {
            "type": "string",
            "nullable": true,
            "enum": [
              "INSERTED",
              "UPDATED",
              null
            ]
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "index": {
            "type": "integer"
          },
          "httpCode": {
            "type": "integer"
          },
          "inlineResults": {
            "type": "object",
            "nullable": true
          }
        }
      }
    }
  }
}

Document metadata and extensions

{
  "openapi": "3.0.3",
  "info": {
    "title": "SAP SuccessFactors Platform User — bounded modeled profile",
    "version": "OData v2 / 1H 2026",
    "description": "Internal platform-user directory and account fields only. Original SAP sample metadata is retained unchanged; this document narrows executable fields and queries. Employee Central jobs/employment, navigation/permissions, tenant customizations, password operations, XML/Atom, OAuth issuance, and batch transport are not implemented."
  },
  "security": [
    {
      "bearer": []
    }
  ]
}
Interactive API explorer (requires JavaScript)