Skip to main content
POST /v1/tenants/{tenant_id}/data/attributes/read The Read Attributes endpoint queries stored attribute records and returns those matching the supplied filter. Use it to inspect which attribute values are currently stored for entities in your authorization graph.

Path Parameters

tenant_id
string
required
The tenant identifier. Use t1 for single-tenant deployments. Must match ^([a-zA-Z0-9_\-@\.:+]{1,128}|\*)$.

Request Body

metadata
object
required
filter
object
required
Criteria for selecting which attributes to return.
page_size
integer
Number of attributes to return per page. Must be >= 1.
continuous_token
string
Pagination token from a previous response. Omit for the first page.

Response

attributes
array
The list of matching attribute records.
continuous_token
string
Pagination token for the next page. Empty when there are no more results.

Example

curl --location --request POST 'localhost:3476/v1/tenants/{tenant_id}/data/attributes/read' \
--header 'Content-Type: application/json' \
--data-raw '{
  "metadata": {
    "snap_token": ""
  },
  "filter": {
    "entity": {
      "type": "document",
      "ids": ["1"]
    },
    "attributes": ["is_private"]
  }
}'
Request body
{
  "metadata": {
    "snap_token": ""
  },
  "filter": {
    "entity": {
      "type": "document",
      "ids": ["1"]
    },
    "attributes": ["is_private"]
  }
}
Response
{
  "attributes": [
    {
      "entity": { "type": "document", "id": "1" },
      "attribute": "is_private",
      "value": {
        "@type": "type.googleapis.com/base.v1.BooleanValue",
        "data": true
      }
    }
  ],
  "continuous_token": ""
}

Error Codes

HTTP StatusDescription
400Bad request — invalid filter fields
401Unauthorized
404Tenant not found
429Rate limit exceeded
500Internal server error

Build docs developers (and LLMs) love