graph

package

Versions in this module

v0
Apr 20, 2026
Apr 20, 2026
Apr 20, 2026
Changes in this version
+ var CondensedSchema = "scalar Address # A 20-byte Ethereum address, encoded as a checksummed hex string with 0x prefix.\nscalar BigDecimal # BigDecimal decimal floating-point number, per the General Decimal Arithmetic specification.\nscalar BigInt # An integer of arbitrary precision, decimal-encoded.\nscalar Bytes # An array of byte, encoded as a lowercase hex string with 0x prefix.\nscalar Time # A point in time, encoded per RFC-3999.\n\n# All tokenDID fields use the format did:erc721:<chainID>:<contractAddress>:<tokenId>\n# All *Edge types: { node: T!, cursor: String! }\n# All *Connection types: { totalCount: Int!, edges: [TEdge!]!, nodes: [T!]!, pageInfo: PageInfo! }\n\ntype Query {\n node(id: ID!): Node\n aftermarketDevice(by: AftermarketDeviceBy!): AftermarketDevice\n # Example - Get aftermarket device by serial:\n # { aftermarketDevice(by: { serial: \"abc-123\" }) { tokenId owner serial manufacturer { name } vehicle { tokenId definition { make model year } } earnings { totalTokens } } }\n\n aftermarketDevices(first: Int, after: String, last: Int, before: String, filterBy: AftermarketDevicesFilter): AftermarketDeviceConnection!\n connections(first: Int, after: String, last: Int, before: String): ConnectionConnection!\n connection(by: ConnectionBy!): Connection\n dcn(by: DCNBy!): DCN\n dcns(first: Int, after: String, last: Int, before: String, filterBy: DCNFilter): DCNConnection!\n developerLicenses(first: Int, after: String, last: Int, before: String, filterBy: DeveloperLicenseFilterBy): DeveloperLicenseConnection!\n developerLicense(by: DeveloperLicenseBy!): DeveloperLicense\n deviceDefinition(by: DeviceDefinitionBy!): DeviceDefinition\n manufacturer(by: ManufacturerBy!): Manufacturer\n manufacturers: ManufacturerConnection!\n rewards(user: Address!): UserRewards\n stakes(first: Int, after: String, last: Int, before: String, filterBy: StakeFilterBy): StakeConnection\n syntheticDevice(by: SyntheticDeviceBy!): SyntheticDevice\n syntheticDevices(first: Int, last: Int, after: String, before: String, filterBy: SyntheticDevicesFilter): SyntheticDeviceConnection!\n template(by: TemplateBy!): Template\n templates(first: Int, after: String, last: Int, before: String): TemplateConnection!\n account(by: AccountBy!): Account\n vehicle(tokenId: Int, tokenDID: String): Vehicle\n # Example - Get vehicle by tokenId:\n # { vehicle(tokenId: 123) { tokenId name owner definition { make model year } aftermarketDevice { serial } syntheticDevice { tokenId } dcn { name } stake { level amount } } }\n # Example - Get vehicle SACDs (permission grants):\n # { vehicle(tokenId: 123) { sacds { nodes { grantee permissions expiresAt template { cid } } } } }\n # Example - Get vehicle privileges:\n # { vehicle(tokenId: 123) { privileges(filterBy: { user: \"0x...\" }) { nodes { id user setAt expiresAt } } } }\n\n vehicles(first: Int, after: String, last: Int, before: String, filterBy: VehiclesFilter): VehicleConnection!\n # Example - List vehicles user has access to (via privileges or SACDs):\n # { vehicles(first: 100, filterBy: { privileged: \"0x...\" }) { nodes { tokenId name owner } } }\n}\n\ntype Account { address: Address!, sacds(first: Int, after: String, last: Int, before: String): SacdConnection! }\n\ninput AccountBy @oneOf { address: Address }\n\ntype AftermarketDevice implements Node { id: ID!, tokenId: Int!, tokenDID: String!, manufacturer: Manufacturer!, address: Address!, owner: Address!, serial: String, imei: String, devEUI: String, hardwareRevision: String, mintedAt: Time!, claimedAt: Time, vehicle: Vehicle, beneficiary: Address!, name: String!, image: String!, earnings: AftermarketDeviceEarnings, pairedAt: Time }\n\ninput AftermarketDeviceBy @oneOf {\n \"token id of the aftermarket device NFT\"\n tokenId: Int\n tokenDID: String\n address: Address\n \"serial number of the aftermarket device\"\n serial: String\n \"The International Mobile Equipment Identity (IMEI) for the device if available\"\n imei: String\n \"Extended Unique Identifier (EUI) for LoRa devices if available\"\n devEUI: String\n}\n\ntype AftermarketDeviceEarnings { totalTokens: BigDecimal!, history(first: Int, after: String, last: Int, before: String): EarningsConnection! }\n\ninput AftermarketDevicesFilter { owner: Address, beneficiary: Address, manufacturerId: Int }\n\ntype Connection { name: String!, address: Address!, owner: Address!, tokenId: BigInt!, tokenDID: String!, mintedAt: Time! }\n\ninput ConnectionBy { name: String, address: Address, tokenId: BigInt, tokenDID: String }\n\ntype DCN implements Node { id: ID!, node: Bytes!, tokenId: BigInt!, tokenDID: String!, owner: Address!, expiresAt: Time, mintedAt: Time!, name: String, vehicle: Vehicle }\n\ninput DCNBy @oneOf { node: Bytes, tokenDID: String, name: String }\n\ninput DCNFilter { owner: Address }\n\ntype Definition { id: String, make: String, model: String, year: Int }\n\ntype DeveloperLicense { tokenId: Int!, tokenDID: String!, owner: Address!, clientId: Address!, alias: String, mintedAt: Time!, signers(first: Int, after: String, last: Int, before: String): SignerConnection!, redirectURIs(first: Int, after: String, last: Int, before: String): RedirectURIConnection! }\n\ninput DeveloperLicenseBy { clientId: Address, alias: String, tokenId: Int, tokenDID: String }\n\ninput DeveloperLicenseFilterBy { signer: Address, owner: Address }\n\ntype DeviceDefinition { deviceDefinitionId: String!, legacyId: String, manufacturer: Manufacturer, model: String!, year: Int!, deviceType: String, imageURI: String, attributes: [DeviceDefinitionAttribute!]! }\n\ntype DeviceDefinitionAttribute { name: String!, value: String! }\n\ninput DeviceDefinitionBy @oneOf { id: String! }\n\ninput DeviceDefinitionFilter {\n \"Model filters for device definition that are of the given model. This filter performs a case insensitive match.\"\n model: String\n \"Year filters for device definition that are of the given year.\"\n year: Int\n}\n\ntype Earning { week: Int!, beneficiary: Address!, connectionStreak: Int, streakTokens: BigDecimal!, aftermarketDevice: AftermarketDevice, aftermarketDeviceTokens: BigDecimal!, syntheticDevice: SyntheticDevice, syntheticDeviceTokens: BigDecimal!, vehicle: Vehicle, sentAt: Time! }\n\ntype Manufacturer implements Node { id: ID!, tokenId: Int!, tokenDID: String!, name: String!, owner: Address!, tableId: Int, mintedAt: Time!, aftermarketDevices(first: Int, after: String, last: Int, before: String, filterBy: AftermarketDevicesFilter): AftermarketDeviceConnection!, deviceDefinitions(first: Int, after: String, last: Int, before: String, filterBy: DeviceDefinitionFilter): DeviceDefinitionConnection! }\n\ninput ManufacturerBy @oneOf { name: String, tokenId: Int, slug: String, tokenDID: String }\n\ninterface Node { id: ID! }\n\ntype PageInfo { startCursor: String, endCursor: String, hasPreviousPage: Boolean!, hasNextPage: Boolean! }\n\ntype Privilege { id: Int!, user: Address!, setAt: Time!, expiresAt: Time! }\n\ninput PrivilegeFilterBy { user: Address, privilegeId: Int }\n\ntype RedirectURI { uri: String!, enabledAt: Time! }\n\ntype Sacd { grantee: Address!, permissions: String!, source: String!, createdAt: Time!, expiresAt: Time!, template: Template }\n\ntype Signer { address: Address!, enabledAt: Time! }\n\ntype Stake { tokenId: Int!, tokenDID: String!, owner: Address!, level: Int!, points: Int!, amount: BigDecimal!, stakedAt: Time!, endsAt: Time!, withdrawnAt: Time, vehicle: Vehicle }\n\ninput StakeFilterBy {\n owner: Address\n \"Filter stakes based on attachability. A stake is considered attachable if it is not presently attached to a vehicle and has not yet ended.\"\n attachable: Boolean\n}\n\ntype StorageNode { label: String!, address: Address!, owner: Address!, tokenId: BigInt!, uri: String!, tokenDID: String!, mintedAt: Time! }\n\ntype SyntheticDevice implements Node { id: ID!, name: String!, tokenId: Int!, tokenDID: String!, address: Address!, mintedAt: Time!, vehicle: Vehicle!, connection: Connection! }\n\ninput SyntheticDeviceBy @oneOf {\n tokenId: Int\n tokenDID: String\n \"The Ethereum address for the synthetic device.\"\n address: Address\n}\n\ninput SyntheticDevicesFilter { owner: Address, integrationId: Int }\n\ntype Template { tokenId: BigInt!, creator: Address!, asset: Address!, permissions: String!, cid: String!, createdAt: Time! }\n\ninput TemplateBy { tokenId: BigInt, cid: String }\n\ntype UserRewards { totalTokens: BigDecimal!, history(first: Int, after: String, last: Int, before: String): EarningsConnection! }\n\ntype Vehicle implements Node { id: ID!, tokenId: Int!, tokenDID: String!, manufacturer: Manufacturer!, owner: Address!, mintedAt: Time!, aftermarketDevice: AftermarketDevice, privileges(first: Int, after: String, last: Int, before: String, filterBy: PrivilegeFilterBy): PrivilegesConnection!, sacds(first: Int, after: String, last: Int, before: String): SacdConnection!, sacd(grantee: Address!): Sacd, syntheticDevice: SyntheticDevice, definition: Definition, dcn: DCN, name: String!, imageURI: String!, earnings: VehicleEarnings, dataURI: String!, stake: Stake, storageNode: StorageNode }\n\ntype VehicleEarnings { totalTokens: BigDecimal!, history(first: Int, after: String, last: Int, before: String): EarningsConnection! }\n\ninput VehiclesFilter {\n \"Privileged filters for vehicles to which the given address has access. This includes vehicles that this address owns.\"\n privileged: Address\n owner: Address\n \"Make filters for vehicles that are of the given make.\"\n make: String\n \"Model filters for vehicles that are of the given model.\"\n model: String\n \"Year filters for vehicles that are of the given year.\"\n year: Int\n \"Filter for vehicles produced by a particular manufacturer, specified by manufacturer token id.\"\n manufacturerTokenId: Int\n deviceDefinitionId: String\n}\n"
Apr 9, 2026
Mar 30, 2026
Mar 5, 2026
Feb 28, 2026
Jan 20, 2026
Oct 7, 2025
Sep 26, 2025
Jul 24, 2025
Jun 11, 2025
Changes in this version
Jun 9, 2025
Jun 5, 2025
Jun 5, 2025
May 24, 2025
May 5, 2025
Mar 19, 2025
Mar 18, 2025
Feb 24, 2025
Feb 24, 2025
Feb 7, 2025
Dec 16, 2024
Nov 29, 2024
Nov 2, 2024
Nov 2, 2024
Nov 1, 2024
Oct 24, 2024
Oct 23, 2024
Oct 11, 2024
Oct 1, 2024
Sep 12, 2024
Aug 25, 2024
Aug 25, 2024
Aug 25, 2024
Jul 25, 2024
Jun 17, 2024
Jun 12, 2024
May 24, 2024
May 24, 2024
May 23, 2024
May 12, 2024
May 12, 2024
May 4, 2024
May 3, 2024
Apr 30, 2024
Mar 20, 2024
Changes in this version
Feb 22, 2024
Feb 22, 2024
Feb 8, 2024
Feb 7, 2024
Jan 22, 2024
Jan 22, 2024
Jan 19, 2024
Jan 8, 2024
Dec 22, 2023
Dec 4, 2023
Nov 14, 2023
Nov 9, 2023
Nov 9, 2023
Nov 7, 2023
Oct 27, 2023
Changes in this version
type Config
Oct 23, 2023
Oct 19, 2023
Oct 19, 2023
Oct 18, 2023
Oct 17, 2023
Changes in this version

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL