Seemingly valid structured output schema gives 400

const responseSchema = {
    type: Type.OBJECT,
    properties: {
      bodies: {
        type: Type.ARRAY,
        items: {
          type: Type.OBJECT,
          properties: {
            name: Type.STRING,
            id: Type.STRING,
            shapeType: Type.STRING,
            mass: Type.NUMBER,
          },
          propertyOrdering: ["name", "id", "shapeType", "mass"],
        },
      },
      joints: {
        type: Type.ARRAY,
        items: {
          type: Type.OBJECT,
          properties: {
            attachedBodyId: Type.STRING,
            connectedBodyId: Type.STRING,
          },
          propertyOrdering: ["attachedBodyId", "connectedBodyId"],
        },
      },
    },
    propertyOrdering: ["bodies", "joints"],
  };
  console.log(responseSchema);
  const { image, designs } = await c.req.json();
  const properImage = image.split("base64,")[1];
  const response = await ai.models.generateContent({
    model: "gemini-2.5-flash-preview-05-20",
    contents: createUserContent([
      createPartFromBase64(properImage, "image/jpeg"),
      `I will give you a json file at the end. Generate box2d physic engines bodies and joints for the json data. I want shape type, hinges and joints no coordinates. Also in each shape include the name and id of the json object its based on. Give me your findings in raw json.
      Json file: ${JSON.stringify(designs)}
      `,
    ]),
    config: {
      responseMimeType: "application/json",
      responseSchema: responseSchema,
    },
  });

Above is my schema and generation call. My schema seems valid but when I run the code I get this error

ClientError: got status: 400 Bad Request. {"error":{"code":400,"message":"Invalid JSON payload received. Unknown name \"0\" at 'generation_config.response_schema.properties[0].value.items.properties[0].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"1\" at 'generation_config.response_schema.properties[0].value.items.properties[0].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"2\" at 'generation_config.response_schema.properties[0].value.items.properties[0].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"3\" at 'generation_config.response_schema.properties[0].value.items.properties[0].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"4\" at 'generation_config.response_schema.properties[0].value.items.properties[0].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"5\" at 'generation_config.response_schema.properties[0].value.items.properties[0].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"0\" at 'generation_config.response_schema.properties[0].value.items.properties[1].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"1\" at 'generation_config.response_schema.properties[0].value.items.properties[1].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"2\" at 'generation_config.response_schema.properties[0].value.items.properties[1].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"3\" at 'generation_config.response_schema.properties[0].value.items.properties[1].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"4\" at 'generation_config.response_schema.properties[0].value.items.properties[1].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"5\" at 'generation_config.response_schema.properties[0].value.items.properties[1].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"0\" at 'generation_config.response_schema.properties[0].value.items.properties[2].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"1\" at 'generation_config.response_schema.properties[0].value.items.properties[2].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"2\" at 'generation_config.response_schema.properties[0].value.items.properties[2].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"3\" at 'generation_config.response_schema.properties[0].value.items.properties[2].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"4\" at 'generation_config.response_schema.properties[0].value.items.properties[2].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"5\" at 'generation_config.response_schema.properties[0].value.items.properties[2].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"0\" at 'generation_config.response_schema.properties[0].value.items.properties[3].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"1\" at 'generation_config.response_schema.properties[0].value.items.properties[3].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"2\" at 'generation_config.response_schema.properties[0].value.items.properties[3].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"3\" at 'generation_config.response_schema.properties[0].value.items.properties[3].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"4\" at 'generation_config.response_schema.properties[0].value.items.properties[3].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"5\" at 'generation_config.response_schema.properties[0].value.items.properties[3].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"0\" at 'generation_config.response_schema.properties[1].value.items.properties[0].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"1\" at 'generation_config.response_schema.properties[1].value.items.properties[0].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"2\" at 'generation_config.response_schema.properties[1].value.items.properties[0].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"3\" at 'generation_config.response_schema.properties[1].value.items.properties[0].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"4\" at 'generation_config.response_schema.properties[1].value.items.properties[0].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"5\" at 'generation_config.response_schema.properties[1].value.items.properties[0].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"0\" at 'generation_config.response_schema.properties[1].value.items.properties[1].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"1\" at 'generation_config.response_schema.properties[1].value.items.properties[1].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"2\" at 'generation_config.response_schema.properties[1].value.items.properties[1].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"3\" at 'generation_config.response_schema.properties[1].value.items.properties[1].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"4\" at 'generation_config.response_schema.properties[1].value.items.properties[1].value': Cannot find field.\nInvalid JSON payload received. Unknown name \"5\" at 'generation_config.response_schema.properties[1].value.items.properties[1].value': Cannot find field.","status":"INVALID_ARGUMENT","details":[{"@type":"type.googleapis.com/google.rpc.BadRequest","fieldViolations":[{"field":"generation_config.response_schema.properties[0].value.items.properties[0].value","description":"Invalid JSON payload received. Unknown name \"0\" at 'generation_config.response_schema.properties[0].value.items.properties[0].value': Cannot find field."},{"field":"generation_config.response_schema.properties[0].value.items.properties[0].value","description":"Invalid JSON payload received. Unknown name \"1\" at 'generation_config.response_schema.properties[0].value.items.properties[0].value': Cannot find field."},{"field":"generation_config.response_schema.properties[0].value.items.properties[0].value","description":"Invalid JSON payload received. Unknown name \"2\" at 'generation_config.response_schema.properties[0].value.items.properties[0].value': Cannot find field."},{"field":"generation_config.response_schema.properties[0].value.items.properties[0].value","description":"Invalid JSON payload received. Unknown name \"3\" at 'generation_config.response_schema.properties[0].value.items.properties[0].value': Cannot find field."},{"field":"generation_config.response_schema.properties[0].value.items.properties[0].value","description":"Invalid JSON payload received. Unknown name \"4\" at 'generation_config.response_schema.properties[0].value.items.properties[0].value': Cannot find field."},{"field":"generation_config.response_schema.properties[0].value.items.properties[0].value","description":"Invalid JSON payload received. Unknown name \"5\" at 'generation_config.response_schema.properties[0].value.items.properties[0].value': Cannot find field."},{"field":"generation_config.response_schema.properties[0].value.items.properties[1].value","description":"Invalid JSON payload received. Unknown name \"0\" at 'generation_config.response_schema.properties[0].value.items.properties[1].value': Cannot find field."},{"field":"generation_config.response_schema.properties[0].value.items.properties[1].value","description":"Invalid JSON payload received. Unknown name \"1\" at 'generation_config.response_schema.properties[0].value.items.properties[1].value': Cannot find field."},{"field":"generation_config.response_schema.properties[0].value.items.properties[1].value","description":"Invalid JSON payload received. Unknown name \"2\" at 'generation_config.response_schema.properties[0].value.items.properties[1].value': Cannot find field."},{"field":"generation_config.response_schema.properties[0].value.items.properties[1].value","description":"Invalid JSON payload received. Unknown name \"3\" at 'generation_config.response_schema.properties[0].value.items.properties[1].value': Cannot find field."},{"field":"generation_config.response_schema.properties[0].value.items.properties[1].value","description":"Invalid JSON payload received. Unknown name \"4\" at 'generation_config.response_schema.properties[0].value.items.properties[1].value': Cannot find field."},{"field":"generation_config.response_schema.properties[0].value.items.properties[1].value","description":"Invalid JSON payload received. Unknown name \"5\" at 'generation_config.response_schema.properties[0].value.items.properties[1].value': Cannot find field."},{"field":"generation_config.response_schema.properties[0].value.items.properties[2].value","description":"Invalid JSON payload received. Unknown name \"0\" at 'generation_config.response_schema.properties[0].value.items.properties[2].value': Cannot find field."},{"field":"generation_config.response_schema.properties[0].value.items.properties[2].value","description":"Invalid JSON payload received. Unknown name \"1\" at 'generation_config.response_schema.properties[0].value.items.properties[2].value': Cannot find field."},{"field":"generation_config.response_schema.properties[0].value.items.properties[2].value","description":"Invalid JSON payload received. Unknown name \"2\" at 'generation_config.response_schema.properties[0].value.items.properties[2].value': Cannot find field."},{"field":"generation_config.response_schema.properties[0].value.items.properties[2].value","description":"Invalid JSON payload received. Unknown name \"3\" at 'generation_config.response_schema.properties[0].value.items.properties[2].value': Cannot find field."},{"field":"generation_config.response_schema.properties[0].value.items.properties[2].value","description":"Invalid JSON payload received. Unknown name \"4\" at 'generation_config.response_schema.properties[0].value.items.properties[2].value': Cannot find field."},{"field":"generation_config.response_schema.properties[0].value.items.properties[2].value","description":"Invalid JSON payload received. Unknown name \"5\" at 'generation_config.response_schema.properties[0].value.items.properties[2].value': Cannot find field."},{"field":"generation_config.response_schema.properties[0].value.items.properties[3].value","description":"Invalid JSON payload received. Unknown name \"0\" at 'generation_config.response_schema.properties[0].value.items.properties[3].value': Cannot find field."},{"field":"generation_config.response_schema.properties[0].value.items.properties[3].value","description":"Invalid JSON payload received. Unknown name \"1\" at 'generation_config.response_schema.properties[0].value.items.properties[3].value': Cannot find field."},{"field":"generation_config.response_schema.properties[0].value.items.properties[3].value","description":"Invalid JSON payload received. Unknown name \"2\" at 'generation_config.response_schema.properties[0].value.items.properties[3].value': Cannot find field."},{"field":"generation_config.response_schema.properties[0].value.items.properties[3].value","description":"Invalid JSON payload received. Unknown name \"3\" at 'generation_config.response_schema.properties[0].value.items.properties[3].value': Cannot find field."},{"field":"generation_config.response_schema.properties[0].value.items.properties[3].value","description":"Invalid JSON payload received. Unknown name \"4\" at 'generation_config.response_schema.properties[0].value.items.properties[3].value': Cannot find field."},{"field":"generation_config.response_schema.properties[0].value.items.properties[3].value","description":"Invalid JSON payload received. Unknown name \"5\" at 'generation_config.response_schema.properties[0].value.items.properties[3].value': Cannot find field."},{"field":"generation_config.response_schema.properties[1].value.items.properties[0].value","description":"Invalid JSON payload received. Unknown name \"0\" at 'generation_config.response_schema.properties[1].value.items.properties[0].value': Cannot find field."},{"field":"generation_config.response_schema.properties[1].value.items.properties[0].value","description":"Invalid JSON payload received. Unknown name \"1\" at 'generation_config.response_schema.properties[1].value.items.properties[0].value': Cannot find field."},{"field":"generation_config.response_schema.properties[1].value.items.properties[0].value","description":"Invalid JSON payload received. Unknown name \"2\" at 'generation_config.response_schema.properties[1].value.items.properties[0].value': Cannot find field."},{"field":"generation_config.response_schema.properties[1].value.items.properties[0].value","description":"Invalid JSON payload received. Unknown name \"3\" at 'generation_config.response_schema.properties[1].value.items.properties[0].value': Cannot find field."},{"field":"generation_config.response_schema.properties[1].value.items.properties[0].value","description":"Invalid JSON payload received. Unknown name \"4\" at 'generation_config.response_schema.properties[1].value.items.properties[0].value': Cannot find field."},{"field":"generation_config.response_schema.properties[1].value.items.properties[0].value","description":"Invalid JSON payload received. Unknown name \"5\" at 'generation_config.response_schema.properties[1].value.items.properties[0].value': Cannot find field."},{"field":"generation_config.response_schema.properties[1].value.items.properties[1].value","description":"Invalid JSON payload received. Unknown name \"0\" at 'generation_config.response_schema.properties[1].value.items.properties[1].value': Cannot find field."},{"field":"generation_config.response_schema.properties[1].value.items.properties[1].value","description":"Invalid JSON payload received. Unknown name \"1\" at 'generation_config.response_schema.properties[1].value.items.properties[1].value': Cannot find field."},{"field":"generation_config.response_schema.properties[1].value.items.properties[1].value","description":"Invalid JSON payload received. Unknown name \"2\" at 'generation_config.response_schema.properties[1].value.items.properties[1].value': Cannot find field."},{"field":"generation_config.response_schema.properties[1].value.items.properties[1].value","description":"Invalid JSON payload received. Unknown name \"3\" at 'generation_config.response_schema.properties[1].value.items.properties[1].value': Cannot find field."},{"field":"generation_config.response_schema.properties[1].value.items.properties[1].value","description":"Invalid JSON payload received. Unknown name \"4\" at 'generation_config.response_schema.properties[1].value.items.properties[1].value': Cannot find field."},{"field":"generation_config.response_schema.properties[1].value.items.properties[1].value","description":"Invalid JSON payload received. Unknown name \"5\" at 'generation_config.response_schema.properties[1].value.items.properties[1].value': Cannot find field."}]}]}}

Long and nonsense error. Sorry for my inexperience and unsureity about things.

i didnt know all properties had to be objects. i thought I could put key:Type.string but u actually have to do key:{type:Type.string}

Hey @kobs_ishot , Awesome, glad you figured it out.