Users

Filter users using comprehensive query criteria with AND/OR logic and multiple operators. Supports complex filtering similar to GraphQL capabilities. Note: Soft-deleted users are excluded by default (deletedAt defaults to { isNull: true }).

post/users/filter

Request

  • Base URL: https://api.mvmnt.io/v1
  • URL: https://api.mvmnt.io/v1/users/filter
  • Auth: HTTP bearer

Request body

pageSizeinteger

Number of results per page

cursorstring

Pagination cursor for next page

Example request

{
  "filter": {
    "and": [
      {
        "status": {
          "equalTo": "ACTIVE"
        }
      },
      {
        "roles": {
          "contains": "CUSTOMER_REP"
        }
      },
      {
        "email": {
          "includes": "@example.com"
        }
      }
    ]
  },
  "pageSize": 50
}

Response

Successful response

Example response

{
  "data": [
    {
      "object": "USER",
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "email": "john.doe@example.com",
      "name": "John Doe",
      "phone": "+1-555-123-4567",
      "phoneExt": "123",
      "roles": [
        "CUSTOMER_REP",
        "ADMIN"
      ],
      "key": "ERP-USER-12345",
      "datUsername": "johndoe_dat",
      "mcpUsername": "johndoe_mcp",
      "avatarId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
      "teams": [
        {
          "object": "TEAM",
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "name": "Sales Team - West Coast",
          "key": "ERP-TEAM-WEST",
          "createdAt": "2025-01-15T10:00:00Z",
          "updatedAt": "2025-01-15T14:30:00Z"
        }
      ],
      "createdAt": "2025-01-15T10:00:00Z",
      "updatedAt": "2025-01-15T14:30:00Z"
    }
  ],
  "pagination": {
    "pageSize": 50,
    "hasNextPage": true,
    "endCursor": "eyJpZCI6IjU1MGU4NDAwLWUyOWItNDFkNC1hNzE2LTQ0NjY1NTQ0MDAwMCJ9"
  },
  "errors": [
    {
      "field": "/required",
      "message": "missing property 'status'"
    }
  ]
}

Changes

    • breaking

      the response's body type changed from object to no type for status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • warning

      the optional response header X-RateLimit-Reset removed for the status 429

    • info

      added subschema #2 to the response body allOf list for the response status

    • info

      media type application/json was changed to a more specific media type application/problem+json for the response status

    • info

      media type application/json was changed to a more specific media type application/problem+json for the response status

    • info

      media type application/json was changed to a more specific media type application/problem+json for the response status

    • info

      media type application/json was changed to a more specific media type application/problem+json for the response status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • warning

      added the new MANAGER enum value to the /// response property for the response status

    • info

      added the new MANAGER enum value to the request property //

    • info

      added the new MANAGER enum value to the request property ///

    • info

      added the new MANAGER enum value to the request property ///