# The `api/db/<dbname>/classes/<struct_no>/byindex/<index_no>/eq/<key>/field/<field_no>/at/<elem_index>` Resource

> The `api/db/<dbname>/classes/<struct_no>/byindex/<index_no>/eq/<key>/field/<field_no>/at/<elem_index>` resource allows element access for `arrays`, `vectors`, `sequences`, and `structures`. The field is identified by its number, `field_no`, which can be retrieved from the class schema. The index referred to by `index_no` is required to be unique. For `structures`, `elem_index` specifies the `field_no` of the field to access.

> It executes the following operations for HTTP `GET`, `DELETE` and `PATCH`:

> - `GET`: Returns the value of the element or structure field.
> - `DELETE`: Deletes an individual element if `field_no` refers to a sequence. If `field_no` refers to a structure, writes null into the field if it is nullable, or erases the field if it is an optional structure
> - `PATCH`: Overwrites the `value` of the element.

> ### For an overview see page eXtremeDB Web Service Resources

> ## For classes with an `autoid`

> The `/api/db/<dbname>/classes/<struct_no>/byautoid/eq/<key>/field/<field_no>/at/<elem_index>` is provided for classes with an `autoid` defined.

> # GET

> The `GET` request returns the `value` of the element or structure field. The returned JSON object contains a single key: `value.` For example:

>         GET http://localhost:8083/api/db/xsqldb/classes/2/byindex/1/eq/1/field/1/at/0

> The `value` is formatted according to the rules defined for the``/api/db/<dbname>/classes/<struct_no>/byindex/<index_no>/list`` endpoint and supports the same query arguments.

> # DELETE

> The `DELETE` request writes `null` into nullable fields if `field_no` refers to a structure, or erases the field if it is an optional structure. It deletes an individual element if `field_no` refers to a sequence. Note that this method is not supported for `arrays` and `vectors`.

> # PATCH

> The `PATCH` request overwrites the value of the element. It accepts a JSON object containing a single key, `value`:

> For example:

>         PATCH http://localhost:8083/api/db/xsqldb/classes/2/byindex/1/eq/1/field/1/at/0
>         {
>             "value": 100
>         }

> The format of the `value` is the same as for the POST method of the `/api/db/<dbname>/classes/<struct_no>` endpoint and the same restrictions apply.