> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kinetica.com/llms.txt
> Use this file to discover all available pages before exploring further.

# /get/records/fromcollection

```
URL: http://<db.host>:<db.port>/get/records/fromcollection
```

Retrieves records from a collection. The operation can optionally return the
record IDs which can be used in certain queries such as
[/delete/records](/content/api/rest/delete_records_rest).

This operation supports paging through the data via the input parameter
*offset* and input parameter *limit* parameters.

Note that when using the Java API, it is not possible to retrieve records from
join views using this operation. (DEPRECATED)

## Input Parameter Description

<ParamField body="table_name" type="string">
  Name of the collection or table from which records are to be retrieved, in \[schema\_name.]table\_name format, using standard [name resolution rules](../../concepts/tables/#table-name-resolution). Must be an existing collection or table.
</ParamField>

<ParamField body="offset" type="long">
  A positive integer indicating the number of initial results to skip (this can be useful for paging through the results).

  The default value is 0. The minimum allowed value is 0. The maximum allowed value is MAX\_INT.
</ParamField>

<ParamField body="limit" type="long">
  A positive integer indicating the maximum number of results to be returned, or END\_OF\_SET (-9999) to indicate that the maximum number of results allowed by the server should be returned.  The number of records returned will never exceed the server's own limit, defined by the [max\_get\_records\_size](../../config/#config-main-general) parameter in the server configuration. Use input parameter *offset* and input parameter *limit* to request subsequent pages of results.

  The default value is -9999.
</ParamField>

<ParamField body="encoding" type="string">
  Specifies the encoding for returned records; either *binary* or *json*.

  The default value is `binary`.

  The supported values are:

  * binary
  * json
</ParamField>

<ParamField body="options" type="map of string to strings">
  The default value is an empty map ( \{} ).

  <Expandable title="options">
    <ParamField body="return_record_ids">
      If *true* then return the internal record ID along with each returned record.

      The default value is `false`.

      The supported values are:

      * true
      * false
    </ParamField>

    <ParamField body="expression">
      Filter expression to apply to the table.

      The default value is ''.
    </ParamField>
  </Expandable>
</ParamField>

## Output Parameter Description

The Kinetica server embeds the endpoint response inside a standard response structure which contains status information and the actual response to the query.  Here is a description of the various fields of the wrapper:

<ResponseField name="status" type="String">
  'OK' or 'ERROR'
</ResponseField>

<ResponseField name="message" type="String">
  Empty if success or an error message
</ResponseField>

<ResponseField name="data_type" type="String">
  'get\_records\_from\_collection\_response' or 'none' in case of an error
</ResponseField>

<ResponseField name="data" type="String">
  Empty string
</ResponseField>

<ResponseField name="data_str" type="JSON or String">
  This embedded JSON represents the result of the /get/records/fromcollection endpoint:

  <Expandable title="data_str">
    <ResponseField name="table_name" type="string">
      Value of input parameter *table\_name*.
    </ResponseField>

    <ResponseField name="type_names" type="array of strings">
      The type IDs of the corresponding records in output parameter *records\_binary* or output parameter *records\_json*. This is useful when input parameter *table\_name* is a heterogeneous collection (collections containing tables of different types).
    </ResponseField>

    <ResponseField name="records_binary" type="array of bytes">
      If the encoding parameter of the request was 'binary' then this list contains the binary encoded records retrieved from the table/collection. Otherwise, empty list.
    </ResponseField>

    <ResponseField name="records_json" type="array of strings">
      If the encoding parameter of the request was 'json', then this list contains the JSON encoded records retrieved from the table/collection. Otherwise, empty list.
    </ResponseField>

    <ResponseField name="record_ids" type="array of strings">
      If the 'return\_record\_ids' option of the request was 'true', then this list contains the internal ID for each object. Otherwise it will be empty.
    </ResponseField>

    <ResponseField name="info" type="map of string to strings">
      Additional information.

      The default value is an empty map ( \{} ).

      <Expandable title="info">
        <ResponseField name="total_number_of_records">
          Total number of records.
        </ResponseField>

        <ResponseField name="has_more_records">
          Too many records. Returned a partial set.

          The supported values are:

          * true
          * false
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>

  Empty string in case of an error.
</ResponseField>
