{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://api.depositphotos.com/schema/api-response",
  "title": "APIResponse",
  "description": "Base response envelope for all Depositphotos API responses",
  "type": "object",
  "properties": {
    "timestamp": {
      "type": "string",
      "description": "Response generation timestamp in YYYY-MM-DD HH:MI:SS format",
      "examples": ["2026-06-13 10:30:00"]
    },
    "version": {
      "type": "string",
      "description": "API version",
      "examples": ["1.3"]
    },
    "type": {
      "type": "string",
      "enum": ["success", "failure"],
      "description": "Indicates whether the request succeeded or failed"
    },
    "errormsg": {
      "type": "string",
      "description": "Human-readable error message, present only on failure"
    },
    "errorcode": {
      "type": "integer",
      "description": "Numeric error code, present only on failure"
    },
    "exception": {
      "type": "string",
      "description": "Exception class name, present only on failure"
    }
  },
  "required": ["timestamp", "version", "type"],
  "if": {
    "properties": {
      "type": { "const": "failure" }
    }
  },
  "then": {
    "required": ["errormsg", "errorcode"]
  }
}
