dev.malpercio.cards.set

cards.malpercio.dev

Documentation

A card set manifest, published by a provider. Declares every card in the set with its rarity, supply cap, and canonical art. Print runs are auditable against this record.

main record

A card set manifest, published by a provider. Declares every card in the set with its rarity, supply cap, and canonical art. Print runs are auditable against this record.

Record Key tid Timestamp-based ID

Properties

cards array of ref #cardDef Required

No description available.

minLength: 1 items
code string Optional

Short set code printed on every card, e.g. 'EXM'. Uppercase letters and digits. A reissue is a new set record with a new code, tied to the original by series.

maxLength: 8 bytes
createdAt string datetime Required

An RFC 3339 formatted timestamp.

description string Optional

No description available.

maxLength: 2048 bytes
name string Required

No description available.

maxLength: 128 bytes
packDefs array of ref #packDef Optional

No description available.

series string Optional

Optional grouping across sets (e.g. a season or year).

maxLength: 128 bytes
View raw schema
{
  "description": "A card set manifest, published by a provider. Declares every card in the set with its rarity, supply cap, and canonical art. Print runs are auditable against this record.",
  "key": "tid",
  "record": {
    "properties": {
      "cards": {
        "items": {
          "ref": "#cardDef",
          "type": "ref"
        },
        "minLength": 1,
        "type": "array"
      },
      "code": {
        "description": "Short set code printed on every card, e.g. 'EXM'. Uppercase letters and digits. A reissue is a new set record with a new code, tied to the original by series.",
        "maxLength": 8,
        "type": "string"
      },
      "createdAt": {
        "format": "datetime",
        "type": "string"
      },
      "description": {
        "maxLength": 2048,
        "type": "string"
      },
      "name": {
        "maxLength": 128,
        "type": "string"
      },
      "packDefs": {
        "items": {
          "ref": "#packDef",
          "type": "ref"
        },
        "type": "array"
      },
      "series": {
        "description": "Optional grouping across sets (e.g. a season or year).",
        "maxLength": 128,
        "type": "string"
      }
    },
    "required": [
      "name",
      "cards",
      "createdAt"
    ],
    "type": "object"
  },
  "type": "record"
}
attribute object

No description available.

Properties

name string Required

No description available.

maxLength: 64 bytes
value string Required

No description available.

maxLength: 256 bytes
View raw schema
{
  "properties": {
    "name": {
      "maxLength": 64,
      "type": "string"
    },
    "value": {
      "maxLength": 256,
      "type": "string"
    }
  },
  "required": [
    "name",
    "value"
  ],
  "type": "object"
}
cardDef object

No description available.

Properties

artists array of ref#credit Optional

Who made the art. A provider's claim; see #credit.

maxLength: 8 items
asset blob Required

Canonical full-size art, stored in the provider repo so the PDS retains the blob. assetCid is its fingerprint.

maxSize: 5.0 MB
assetCid string cid Required

CID of the canonical full-size art. Owner copies must match.

attributes array of ref#attribute Optional

Free-form stats or flavor fields (team, position, year...).

cardId string Required

Stable identifier within this set, e.g. 'the_one_ring'.

maxLength: 64 bytes
description string Optional

No description available.

maxLength: 2048 bytes
flavor string Optional

Flavor text shown with the card. Separate from description, which is reserved for rules text.

maxLength: 2000 bytesmaxGraphemes: 200 graphemes
icon blob Optional

No description available.

maxSize: 1.0 MB
iconCid string cid Optional

A content identifier (CID) referencing immutable data.

maxSupply integer Optional

Hard cap on gives for this cardId across all variants. Omit for unlimited.

minimum: 1
number integer Optional

Collector number within the set, printed with the set code (e.g. EXM 001). Explicit so editing the cards array never renumbers cards.

minimum: 1
rarity ref #rarity Required

No description available.

title string Required

No description available.

maxLength: 128 bytes
variants array of ref#variantDef Optional

Optional finishes (foil, etc). Each may carry its own cap and art.

View raw schema
{
  "properties": {
    "artists": {
      "description": "Who made the art. A provider's claim; see #credit.",
      "items": {
        "ref": "#credit",
        "type": "ref"
      },
      "maxLength": 8,
      "type": "array"
    },
    "asset": {
      "accept": [
        "image/*"
      ],
      "description": "Canonical full-size art, stored in the provider repo so the PDS retains the blob. assetCid is its fingerprint.",
      "maxSize": 5000000,
      "type": "blob"
    },
    "assetCid": {
      "description": "CID of the canonical full-size art. Owner copies must match.",
      "format": "cid",
      "type": "string"
    },
    "attributes": {
      "description": "Free-form stats or flavor fields (team, position, year...).",
      "items": {
        "ref": "#attribute",
        "type": "ref"
      },
      "type": "array"
    },
    "cardId": {
      "description": "Stable identifier within this set, e.g. 'the_one_ring'.",
      "maxLength": 64,
      "type": "string"
    },
    "description": {
      "maxLength": 2048,
      "type": "string"
    },
    "flavor": {
      "description": "Flavor text shown with the card. Separate from description, which is reserved for rules text.",
      "maxGraphemes": 200,
      "maxLength": 2000,
      "type": "string"
    },
    "icon": {
      "accept": [
        "image/*"
      ],
      "maxSize": 1000000,
      "type": "blob"
    },
    "iconCid": {
      "format": "cid",
      "type": "string"
    },
    "maxSupply": {
      "description": "Hard cap on gives for this cardId across all variants. Omit for unlimited.",
      "minimum": 1,
      "type": "integer"
    },
    "number": {
      "description": "Collector number within the set, printed with the set code (e.g. EXM 001). Explicit so editing the cards array never renumbers cards.",
      "minimum": 1,
      "type": "integer"
    },
    "rarity": {
      "ref": "#rarity",
      "type": "ref"
    },
    "title": {
      "maxLength": 128,
      "type": "string"
    },
    "variants": {
      "description": "Optional finishes (foil, etc). Each may carry its own cap and art.",
      "items": {
        "ref": "#variantDef",
        "type": "ref"
      },
      "type": "array"
    }
  },
  "required": [
    "cardId",
    "title",
    "rarity",
    "asset",
    "assetCid"
  ],
  "type": "object"
}
credit object

Attribution for card art. Give did when the artist has an atproto identity, name otherwise (at least one). Listed by the provider, so it is a claim until the artist confirms it from their own repo.

Properties

did string did Optional

A decentralized identifier (DID).

name string Optional

Display name, for artists without a DID or as a fallback.

maxLength: 256 bytesmaxGraphemes: 64 graphemes
role string Optional

What they did, when a card has more than one artist.

maxLength: 64 bytes
Known values: art, animation, color
View raw schema
{
  "description": "Attribution for card art. Give did when the artist has an atproto identity, name otherwise (at least one). Listed by the provider, so it is a claim until the artist confirms it from their own repo.",
  "properties": {
    "did": {
      "format": "did",
      "type": "string"
    },
    "name": {
      "description": "Display name, for artists without a DID or as a fallback.",
      "maxGraphemes": 64,
      "maxLength": 256,
      "type": "string"
    },
    "role": {
      "description": "What they did, when a card has more than one artist.",
      "knownValues": [
        "art",
        "animation",
        "color"
      ],
      "maxLength": 64,
      "type": "string"
    }
  },
  "type": "object"
}
odds object

No description available.

Properties

rarity ref #rarity Required

No description available.

variantId string Optional

Weights this variant of cards of this rarity. Omit to weight the base cards.

maxLength: 64 bytes
weight integer Required

No description available.

minimum: 1
View raw schema
{
  "properties": {
    "rarity": {
      "ref": "#rarity",
      "type": "ref"
    },
    "variantId": {
      "description": "Weights this variant of cards of this rarity. Omit to weight the base cards.",
      "maxLength": 64,
      "type": "string"
    },
    "weight": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "required": [
    "rarity",
    "weight"
  ],
  "type": "object"
}
packDef object

No description available.

Properties

asset blob Optional

Sealed pack art.

maxSize: 5.0 MB
assetCid string cid Optional

Sealed pack art.

cardCount integer Required

No description available.

minimum: 1
description string Optional

No description available.

maxLength: 2048 bytes
maxSupply integer Optional

No description available.

minimum: 1
odds array of ref#odds Optional

Weights for drawing pack contents, per rarity and optionally per variant. Printings not listed have weight 0. Omit for a uniform draw over base cards.

packId string Required

No description available.

maxLength: 64 bytes
title string Required

No description available.

maxLength: 128 bytes
View raw schema
{
  "properties": {
    "asset": {
      "accept": [
        "image/*"
      ],
      "description": "Sealed pack art.",
      "maxSize": 5000000,
      "type": "blob"
    },
    "assetCid": {
      "description": "Sealed pack art.",
      "format": "cid",
      "type": "string"
    },
    "cardCount": {
      "minimum": 1,
      "type": "integer"
    },
    "description": {
      "maxLength": 2048,
      "type": "string"
    },
    "maxSupply": {
      "minimum": 1,
      "type": "integer"
    },
    "odds": {
      "description": "Weights for drawing pack contents, per rarity and optionally per variant. Printings not listed have weight 0. Omit for a uniform draw over base cards.",
      "items": {
        "ref": "#odds",
        "type": "ref"
      },
      "type": "array"
    },
    "packId": {
      "maxLength": 64,
      "type": "string"
    },
    "title": {
      "maxLength": 128,
      "type": "string"
    }
  },
  "required": [
    "packId",
    "title",
    "cardCount"
  ],
  "type": "object"
}
rarity string

No description available.

Known Values (other values may be valid)
common uncommon rare legendary unique
View raw schema
{
  "knownValues": [
    "common",
    "uncommon",
    "rare",
    "legendary",
    "unique"
  ],
  "type": "string"
}
variantDef object

No description available.

Properties

artists array of ref#credit Optional

Overrides the card's artists for this variant, e.g. when an animated version has its own animator.

maxLength: 8 items
asset blob Optional

Overrides the card art for this variant.

maxSize: 5.0 MB
assetCid string cid Optional

Overrides the card's assetCid for this variant.

flavor string Optional

Overrides the card's flavor for this variant.

maxLength: 2000 bytesmaxGraphemes: 200 graphemes
icon blob Optional

No description available.

maxSize: 1.0 MB
iconCid string cid Optional

A content identifier (CID) referencing immutable data.

maxSupply integer Optional

No description available.

minimum: 1
title string Optional

No description available.

maxLength: 128 bytes
variantId string Required

e.g. 'foil', 'signed'.

maxLength: 64 bytes
View raw schema
{
  "properties": {
    "artists": {
      "description": "Overrides the card's artists for this variant, e.g. when an animated version has its own animator.",
      "items": {
        "ref": "#credit",
        "type": "ref"
      },
      "maxLength": 8,
      "type": "array"
    },
    "asset": {
      "accept": [
        "image/*"
      ],
      "description": "Overrides the card art for this variant.",
      "maxSize": 5000000,
      "type": "blob"
    },
    "assetCid": {
      "description": "Overrides the card's assetCid for this variant.",
      "format": "cid",
      "type": "string"
    },
    "flavor": {
      "description": "Overrides the card's flavor for this variant.",
      "maxGraphemes": 200,
      "maxLength": 2000,
      "type": "string"
    },
    "icon": {
      "accept": [
        "image/*"
      ],
      "maxSize": 1000000,
      "type": "blob"
    },
    "iconCid": {
      "format": "cid",
      "type": "string"
    },
    "maxSupply": {
      "minimum": 1,
      "type": "integer"
    },
    "title": {
      "maxLength": 128,
      "type": "string"
    },
    "variantId": {
      "description": "e.g. 'foil', 'signed'.",
      "maxLength": 64,
      "type": "string"
    }
  },
  "required": [
    "variantId"
  ],
  "type": "object"
}

Lexicon Garden

@