Attribute Keys (contact)

GET/api/v1/contacts/attribute-keys
Requires anorganization API keywith the scopecontacts:read

Request

GET/api/v1/contacts/attribute-keys
curl -X GET 'https://app.mailyte.com/api/v1/contacts/attribute-keys' \
  -H 'Authorization: Bearer mk_live_YOUR_API_KEY'
The key names its own organization, so no X-Organization-ID header is needed.

Response

Success.

  • dataarray<object>
    • objectstringcontact_field
    • idstring

      The definition's id, for PUT/DELETE /contact-fields/{field}. null when declared is false — there is no definition row, so there is nothing to address.

    • keystring

      The stable name. This is the key inside a contact's fields object and the {{ signup_date }} tag in campaign content. Contact values are keyed by this, never by id.

    • declaredboolean

      Whether this key is defined as a contact field (with a label, type and default), or was only seen on contact data. Both can be used in content and segment rules.

    • labelstring

      Display name. Derived from the key for an undeclared one.

    • typestringtext | number | date | boolean

      How a value should be EDITED and displayed. Not a storage type: every value in a contact's fields object is a string whatever this says, and nothing is coerced.

    • requiredboolean

      Whether every contact must have a value. Checked when a contact is created, and when an update would clear the value; existing contacts are not checked. A default value does not count. Always false for a key that is not defined.

    • default_valuestring

      Substituted at send time for contacts with no value of their own. It is never written into a contact's fields.

    • help_textstring

      The hint shown beside this field on a form. null MEANS NONE WAS WRITTEN — it carries no behaviour, so an absent hint changes nothing about what the field accepts.

    • contacts_with_valueinteger

      How many contacts carry a non-empty value for this key — the "is it safe to delete this" signal. Always an integer.

    • created_atstring

      null when declared is false: an observed key has no definition row and therefore no creation time. Genuinely unknown, not zero.

Returned inside the standard envelope.

Errors

StatusWhen
401The API key is missing, unknown, revoked or expired. All four answer identically, on purpose: distinguishing them would confirm which keys exist.
403The key is valid but may not do this: it lacks the required scope, its IP allowlist does not include you, or this endpoint does not accept API keys.
404No such resource in this organization.
422The request was understood but the values were not acceptable.
429Too many requests, or the organization has spent its sending allowance. `Retry-After` says how long to wait.

Every status, with what causes it and what to do, is on the error reference.