Skip to content
Documentation · 400 Validation failed

Conventions

400 Validation failed

Problem type https://www.getproperly.com/developers/errors/validation

HTTP status 400
type https://www.getproperly.com/developers/errors/validation
title Validation failed
Content-Type application/problem+json

When it occurs

The request shape is invalid (the response carries an errors[] array naming each field), or a domain-level rule rejected the request (detail only): for example a sourcePropertyId that does not resolve, an image upload that failed, or an invalid dateFrom.

Example

400 Validation failed
{
  "type": "https://www.getproperly.com/developers/errors/validation",
  "title": "Validation failed",
  "status": 400,
  "detail": "One or more fields are invalid",
  "instance": "/v1/properties",
  "code": "validation_failed",
  "requestId": "aQ3fT8xW1m",
  "errors": [
    {
      "field": "name",
      "code": "stringMin",
      "message": "The 'name' field length must be greater than or equal to 3 characters long."
    },
    {
      "field": "unexpectedField",
      "code": "objectStrict",
      "message": "The object '' contains forbidden keys: 'unexpectedField'."
    }
  ]
}

Handling

  • Read errors[] when present. Each entry is { field, code, message }; code is a machine-readable validator code such as required, stringMin, stringMax, number, enumValue, url, email, or objectStrict.
  • Unknown request-body fields are rejected, not ignored. Each offending key is listed with code "objectStrict". Send exactly the fields the reference lists.
  • Fix the request before retrying. Resending the same body returns the same 400.

All problem types are listed on the Errors page.

Type to search the Platform API docs.