action attio_list_attributes { label: "List attributes" description: "Lists all attributes defined on a specific object or list. Attributes are returned in the order that they are sorted by in the UI.\n\nWhen `target` is `objects`, the required scopes are `object_configuration:read`. When `target` is `lists`, the required scopes are `list_configuration:read`." provider: attio method: GET path: "/v2/{target}/{identifier}/attributes" encoding: json scopes: ["object_configuration:read", "list_configuration:read"] input: { type: "object" properties: { identifier: { type: "string" description: "A UUID or slug to identify the object or list the attributes belong to." } limit: { type: "integer" description: "The maximum number of results to return. See the [full guide to pagination here](/rest-api/guides/pagination)." } offset: { type: "integer" description: "The number of results to skip over before returning. See the [full guide to pagination here](/rest-api/guides/pagination)." } show_archived: { type: "boolean" description: "Whether archived attributes should be included in the results. See the [full guide to archiving here](/docs/archiving-vs-deleting)." } target: { type: "string" description: "Whether the attributes are on an object or a list." enum: ["objects", "lists"] } } required: ["identifier", "target"] additionalProperties: false } output: { type: "object" description: "Success" required: ["data"] properties: { data: { type: "array" items: { type: "object" required: ["id", "title", "description", "api_slug", "type", "is_system_attribute", "is_writable", "is_required", "is_unique", "is_multiselect", "is_default_value_enabled", "is_archived", "default_value", "relationship", "created_at", "config"] properties: { api_slug: { type: "string" description: "A unique slug for the attribute for use in API responses and URLs. Formatted in snake case." } config: { type: "object" description: "Additional, type-dependent configuration for the attribute." required: ["currency", "record_reference"] properties: { currency: { type: "object" description: "Configuration available for attributes of type \"currency\"." required: ["default_currency_code", "display_type"] properties: { default_currency_code: { type: ["string", "null"] description: "The ISO4217 code representing the currency that values for this attribute should be stored in." enum: ["ARS", "AUD", "BRL", "BGN", "CAD", "CLP", "CNY", "COP", "CZK", "DKK", "EUR", "FJD", "HKD", "HUF", "ISK", "INR", "IDR", "ILS", "JPY", "KES", "KRW", "MYR", "MXN", "NTD", "NZD", "NGN", "NOK", "XPF", "PEN", "PHP", "PLN", "GBP", "RWF", "SAR", "SGD", "ZAR", "SEK", "CHF", "THB", "TRY", "AED", "UYU", "USD"] } display_type: { type: ["string", "null"] description: "How the currency should be displayed across the app. \"code\" will display the ISO currency code e.g. \"USD\", \"name\" will display the localized currency name e.g. \"British pound\", \"narrowSymbol\" will display \"$1\" instead of \"US$1\" and \"symbol\" will display a localized currency symbol such as \"$\"." enum: ["code", "name", "narrowSymbol", "symbol"] } } } record_reference: { type: "object" description: "Configuration available for attributes of type \"record-reference\"." required: ["allowed_object_ids"] properties: { allowed_object_ids: { type: ["array", "null"] description: "A list of UUIDs to indicate which objects records are allowed to belong to. Leave empty to to allow records from all object types." items: { type: "string" format: "uuid" } } } } } } created_at: { type: "string" description: "When this attribute was created." } default_value: { description: "The default value for this attribute. Static values are used to directly populate values using their contents. Dynamic values are used to lookup data at the point of creation. For example, you could use a dynamic value to insert a value for the currently logged in user. Which default values are available is dependent on the type of the attribute." type: "object" } description: { type: ["string", "null"] description: "A text description of the attribute." } id: { type: "object" required: ["workspace_id", "object_id", "attribute_id"] properties: { attribute_id: { type: "string" format: "uuid" description: "A UUID to identify this attribute." } object_id: { type: "string" format: "uuid" description: "A UUID to identify the object or list that this attribute belongs to" } workspace_id: { type: "string" format: "uuid" description: "A UUID representing the workspace this attribute belongs to." } } } is_archived: { type: "boolean" description: "Whether this attribute has been archived. Archived attributes are hidden from most UI, but can be restored either over the API or in workspace settings. See the [guide on archiving and deleting](/docs/archiving-vs-deleting)for more information." } is_default_value_enabled: { type: "boolean" description: "Whether this attribute has a default value enabled. Must be `true` when `is_required` is `true`." } is_multiselect: { type: "boolean" description: "Whether or not this attribute can have multiple values. Multiselect is only available on some value types." } is_required: { type: "boolean" description: "When `is_required` is `true`, new records/entries must have a value for this attribute. If `false`, values may be `null`. This value does not affect existing data and you do not need to backfill `null` values if changing `is_required` from `false` to `true`." } is_system_attribute: { type: "boolean" description: "`true` if this is an Attio system-defined attribute, `false` if defined by a user or non-Attio system." } is_unique: { type: "boolean" description: "Whether or not new values for this attribute must be unique. Uniqueness restrictions are only applied to new data and do not apply retroactively to previously created data." } is_writable: { type: "boolean" description: "Whether or not this attribute can be written to. It is `false` for protected system attributes, which are usually enriched by Attio. It is also `false` for formula attributes, whose values are calculated automatically." } relationship: { type: ["object", "null"] description: "If this attribute is related to another attribute, this is an object that includes an `id` property that identifies the other attribute. `null` means no relationship exists. See [the help center](https://attio.com/help/reference/managing-your-data/attributes#relationship-attributes) for more details about relationship attributes." required: ["id", "object_slug", "title", "api_slug", "is_multiselect"] properties: { api_slug: { type: "string" description: "The API slug identifying the related attribute." } id: { type: "object" required: ["workspace_id", "object_id", "attribute_id"] properties: { attribute_id: { type: "string" format: "uuid" description: "A UUID to identify this attribute." } object_id: { type: "string" format: "uuid" description: "A UUID to identify the object or list that this attribute belongs to" } workspace_id: { type: "string" format: "uuid" description: "A UUID representing the workspace this attribute belongs to." } } } is_multiselect: { type: "boolean" description: "Whether the related attribute supports selecting multiple values. Combined with the parent attribute's `is_multiselect`, this determines the relationship type: both `false` = one-to-one, parent `true` + related `false` = many-to-one, parent `false` + related `true` = one-to-many, both `true` = many-to-many." } object_slug: { type: "string" description: "The slug of the object that the related attribute belongs to." } title: { type: "string" description: "The title of the related attribute." } } } title: { type: "string" description: "A title for the attribute, to be displayed across the app." } type: { type: "string" description: "The type of the attribute." enum: ["text", "number", "checkbox", "currency", "date", "timestamp", "rating", "status", "select", "record-reference", "actor-reference", "location", "domain", "email-address", "phone-number", "interaction", "personal-name"] } } } } } } }