social.dracome.catalog.submission.work

dracome.social

Documentation

A submission record carrying candidate catalog data for a work, published by a trusted submitter to their own PDS. Repeatable; a submitter may create, update, or delete work-submission records over time.

main record

A submission record carrying candidate catalog data for a work, published by a trusted submitter to their own PDS. Repeatable; a submitter may create, update, or delete work-submission records over time.

Record Key tid Timestamp-based ID

Properties

coverUri string uri Optional

Optional URL to a cover image for the work, hosted by the submitter. Runtime validation MUST restrict this to https:// URLs.

createdAt string datetime Required

ISO 8601 UTC timestamp with trailing Z when this record was created.

derivedFrom ref #derivedFromRef Optional

Optional reference to the record this submission's data was derived from (e.g., a pub.byline.book record for Byline submissions). Carries no meaning to Dracome's ingestion; exists for downstream consumers to walk provenance.

description string Optional

Optional free-text description or summary of the work.

maxLength: 8192 bytes
firstPublicationDate string Optional

Optional original publication date of the work, at whatever precision is known (e.g., year only, or full date).

maxLength: 64 bytes
genres array of string Optional

Optional controlled list of genres, including subgenres. Known values form a controlled vocabulary that may grow; consumers MUST tolerate unknown values. Free-text subject tags are in the subjects field instead.

maxLength: 8 items
identifiers array of ref social.dracome.work.defs#catalogIdentifier Optional

Optional external identifiers (ISBN, Open Library key, etc.), plus the submitter's proprietary identifier (e.g. bylinePub, dracomeKey).

maxLength: 16 items
sourceUri string uri Optional

Optional URL to this work's page on the submitter's own site.

subjects array of string Optional

Optional free-text subject and topic tags.

maxLength: 32 items
subtitle string Optional

Optional secondary title.

maxLength: 1024 bytes
title string Required

Primary title of the work.

maxLength: 1024 bytes
updatedAt string datetime Optional

Optional ISO 8601 UTC timestamp with trailing Z when this record was last updated by republishing.

View raw schema
{
  "description": "A submission record carrying candidate catalog data for a work, published by a trusted submitter to their own PDS. Repeatable; a submitter may create, update, or delete work-submission records over time.",
  "key": "tid",
  "record": {
    "properties": {
      "contributors": {
        "description": "Required ordered list of credited contributors with roles, each carrying a resolvable profile reference.",
        "items": {
          "ref": "social.dracome.contributor.defs#creditedContributor",
          "type": "ref"
        },
        "maxLength": 64,
        "minLength": 1,
        "type": "array"
      },
      "coverUri": {
        "description": "Optional URL to a cover image for the work, hosted by the submitter. Runtime validation MUST restrict this to https:// URLs.",
        "format": "uri",
        "type": "string"
      },
      "createdAt": {
        "description": "ISO 8601 UTC timestamp with trailing Z when this record was created.",
        "format": "datetime",
        "type": "string"
      },
      "derivedFrom": {
        "description": "Optional reference to the record this submission's data was derived from (e.g., a pub.byline.book record for Byline submissions). Carries no meaning to Dracome's ingestion; exists for downstream consumers to walk provenance.",
        "ref": "#derivedFromRef",
        "type": "ref"
      },
      "description": {
        "description": "Optional free-text description or summary of the work.",
        "maxLength": 8192,
        "type": "string"
      },
      "firstPublicationDate": {
        "description": "Optional original publication date of the work, at whatever precision is known (e.g., year only, or full date).",
        "maxLength": 64,
        "type": "string"
      },
      "genres": {
        "description": "Optional controlled list of genres, including subgenres. Known values form a controlled vocabulary that may grow; consumers MUST tolerate unknown values. Free-text subject tags are in the subjects field instead.",
        "items": {
          "knownValues": [
            "romance",
            "romantic_comedy",
            "contemporary_romance",
            "workplace_romance",
            "wholesome_clean_romance",
            "college_university_romance",
            "historical_romance",
            "western_rural_romance",
            "love_triangle_romance",
            "unlikely_lovers_romance",
            "romantic_suspense",
            "sports_romance",
            "uniform_romance",
            "medical_romance",
            "rich_famous_romance",
            "polyamory_romance",
            "fantasy_paranormal_romance",
            "time_travel_romance",
            "dark_romance",
            "bad_boy_bad_girl_romance",
            "erotic_romance",
            "fantasy",
            "science_fiction",
            "crime_mystery",
            "thriller_suspense",
            "horror",
            "biography",
            "history",
            "self_help",
            "young_adult",
            "childrens",
            "reference",
            "religion_spirituality"
          ],
          "maxLength": 64,
          "type": "string"
        },
        "maxLength": 8,
        "type": "array"
      },
      "identifiers": {
        "description": "Optional external identifiers (ISBN, Open Library key, etc.), plus the submitter's proprietary identifier (e.g. bylinePub, dracomeKey).",
        "items": {
          "ref": "social.dracome.work.defs#catalogIdentifier",
          "type": "ref"
        },
        "maxLength": 16,
        "type": "array"
      },
      "sourceUri": {
        "description": "Optional URL to this work's page on the submitter's own site.",
        "format": "uri",
        "type": "string"
      },
      "subjects": {
        "description": "Optional free-text subject and topic tags.",
        "items": {
          "maxLength": 512,
          "type": "string"
        },
        "maxLength": 32,
        "type": "array"
      },
      "subtitle": {
        "description": "Optional secondary title.",
        "maxLength": 1024,
        "type": "string"
      },
      "title": {
        "description": "Primary title of the work.",
        "maxLength": 1024,
        "type": "string"
      },
      "updatedAt": {
        "description": "Optional ISO 8601 UTC timestamp with trailing Z when this record was last updated by republishing.",
        "format": "datetime",
        "type": "string"
      }
    },
    "required": [
      "title",
      "contributors",
      "createdAt"
    ],
    "type": "object"
  },
  "type": "record"
}
derivedFromRef object

A reference to the upstream record this submission's data was derived from. For Byline submissions, this points to the author's own pub.byline.book record. For direct Dracome submissions, derivedFrom is absent.

Properties

cid string cid Optional

Optional content hash at time of derivation; informational only, detects drift.

nsid string nsid Optional

Optional NSID of the referenced record's lexicon (e.g. 'pub.byline.book'); informational, since source shapes vary per trusted app.

uri string at-uri Required

AT-URI of the referenced record.

View raw schema
{
  "description": "A reference to the upstream record this submission's data was derived from. For Byline submissions, this points to the author's own pub.byline.book record. For direct Dracome submissions, derivedFrom is absent.",
  "properties": {
    "cid": {
      "description": "Optional content hash at time of derivation; informational only, detects drift.",
      "format": "cid",
      "type": "string"
    },
    "nsid": {
      "description": "Optional NSID of the referenced record's lexicon (e.g. 'pub.byline.book'); informational, since source shapes vary per trusted app.",
      "format": "nsid",
      "type": "string"
    },
    "uri": {
      "description": "AT-URI of the referenced record.",
      "format": "at-uri",
      "type": "string"
    }
  },
  "required": [
    "uri"
  ],
  "type": "object"
}

Lexicon Garden

@