Customer.io · Schema
device_object
Device properties collected by [Customer.io SDKs](/integrations/sdk/) unless `autoTrackDeviceAttributes` is disabled. You can use these properties in segments and Liquid.
Behavioral DataBroadcastCampaignsCDPCustomer DataCustomer Data PlatformData IngestionEmailEvent TrackingMarketing AutomationMessagingPush NotificationsSegmentsSMSTransactional EmailA2A
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/customer-io/main/json-schema/customer-io-device-object-schema.json",
"title": "device_object",
"description": "Device properties collected by [Customer.io SDKs](/integrations/sdk/) unless `autoTrackDeviceAttributes` is disabled. You can use these properties in segments and Liquid.",
"x-generated": "2026-10-12",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/customer-io-track-customers-api-openapi.yml#/components/schemas/device_object",
"x-scalar-ignore": true,
"allOf": [
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"description": "The device token.",
"type": "string"
}
}
},
{
"$ref": "#/$defs/device_object_common"
}
],
"$defs": {
"device_object_common": {
"x-scalar-ignore": true,
"type": "object",
"description": "Device information common to the v1 and v2 APIs.",
"required": [
"platform"
],
"properties": {
"last_used": {
"type": "integer",
"format": "unix timestamp",
"description": "The `timestamp` when you last identified this device. If you don't pass a timestamp when you add or update a device, we use the time of the request itself. Our SDKs identify a device when a person launches their app."
},
"platform": {
"type": "string",
"enum": [
"ios",
"android"
],
"description": "The device/messaging platform."
},
"attributes": {
"type": "object",
"description": "Attributes that you can reference to segment your audience—like a person's attributes, but specific to a device. These can be either the attributes defined below or custom key-value attributes.",
"properties": {
"device_os": {
"type": "string",
"description": "The operating system, including the version, on the device."
},
"device_model": {
"type": "string",
"description": "The model of the device a person uses."
},
"app_version": {
"type": "string",
"description": "The version of your app that a customer uses. You might target app versions to let people know when they need to update, or expose them to new features when they do."
},
"cio_sdk_version": {
"type": "string",
"description": "The version of the Customer.io SDK in the app."
},
"_last_status": {
"type": "string",
"readOnly": true,
"description": "The delivery status of the last message sent to the device—sent, bounced, or suppressed. An empty string indicates that that the device hasn't received a push yet.",
"enum": [
"",
"bounced",
"sent",
"suppressed"
]
},
"device_locale": {
"type": "string",
"description": "The device's [IETF language code](/journeys/channels/localization/getting-started/#supported-languages), such as `en-MX` or `es-ES`."
},
"push_enabled": {
"type": "string",
"description": "If `\"true\"`, the device is opted-in and can receive push notifications.",
"enum": [
"true",
"false"
]
}
},
"additionalProperties": {
"x-additionalPropertiesName": "Custom Device Attributes",
"description": "Custom properties that you want to associate with the device.",
"type": "string"
}
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/customer-io-device-object"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.