Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Content Watcher Service

API Reference

Open Full API Reference Page

Path Table

MethodPathDescription
PUT/v1/asset/uploadUpload asset files [deprecated; use POST /v2/asset/upload instead]
POST/v2/asset/uploadUpload asset files
POST/v1/content/{msaId}/broadcastCreate DSNP Broadcast for user
POST/v1/content/{msaId}/replyCreate DSNP Reply for user
POST/v1/content/{msaId}/reactionCreate DSNP Reaction for user
PUT/v1/content/{msaId}Update DSNP Content for user
DELETE/v1/content/{msaId}Delete DSNP Content for user [deprecated; use POST /v2/content/{msaId}/tombstones instead]
POST/v2/content/{msaId}/on-chainCreate on-chain content for a given schema
POST/v2/content/batchAnnouncementCreate off-chain batch content announcements
POST/v2/content/{msaId}/tombstonesPost an announcement that previously-announced content is invalid/revoked
POST/v3/content/batchAnnouncementUpload files and create batch announcements
POST/v3/content/on-chainCreate on-chain content for a given schema
PUT/v1/profile/{msaId}Update a user's Profile
GET/healthzCheck the health status of the service
GET/livezCheck the live status of the service
GET/readyzCheck the ready status of the service
GET/dev/request/{jobId}Get a Job given a jobId
POST/dev/dummy/announcement/{queueType}/{count}Create dummy announcement data
GET/metrics

Reference Table

NamePathDescription
FilesUploadDto#/components/schemas/FilesUploadDto
UploadResponseDto#/components/schemas/UploadResponseDto
FileResponseDto#/components/schemas/FileResponseDto
UploadResponseDtoV2#/components/schemas/UploadResponseDtoV2
AssetReferenceDto#/components/schemas/AssetReferenceDto
AssetDto#/components/schemas/AssetDto
TagTypeEnum#/components/schemas/TagTypeEnumIdentifies the tag type
TagDto#/components/schemas/TagDto
UnitTypeEnum#/components/schemas/UnitTypeEnumThe units for radius and altitude (defaults to meters)
LocationDto#/components/schemas/LocationDto
NoteActivityDto#/components/schemas/NoteActivityDto
BroadcastDto#/components/schemas/BroadcastDto
AnnouncementResponseDto#/components/schemas/AnnouncementResponseDto
ReplyDto#/components/schemas/ReplyDto
ReactionDto#/components/schemas/ReactionDto
ModifiableAnnouncementType#/components/schemas/ModifiableAnnouncementTypeTarget announcement type
UpdateDto#/components/schemas/UpdateDto
TombstoneDto#/components/schemas/TombstoneDto
OnChainContentDto#/components/schemas/OnChainContentDto
BatchFileDto#/components/schemas/BatchFileDto
BatchFilesDto#/components/schemas/BatchFilesDto
BatchAnnouncementDto#/components/schemas/BatchAnnouncementDto
BatchAnnouncementResponseDto#/components/schemas/BatchAnnouncementResponseDto
OnChainContentDtoV2#/components/schemas/OnChainContentDtoV2
BadRequestException#/components/schemas/BadRequestException
UnauthorizedException#/components/schemas/UnauthorizedException
PayloadTooLargeException#/components/schemas/PayloadTooLargeException
UnprocessableEntityException#/components/schemas/UnprocessableEntityException
ProfileActivityDto#/components/schemas/ProfileActivityDto
ProfileDto#/components/schemas/ProfileDto

Path Details


[PUT]/v1/asset/upload

  • Summary
    Upload asset files [deprecated; use POST /v2/asset/upload instead]

  • Operation id
    AssetControllerV1_assetUpload_v1

RequestBody

  • multipart/form-data
{
  files?: string[]
}

Responses

  • 400 Bad request, eg too many files or file too large

  • 2XX

application/json

{
  assetIds?: string[]
}

[POST]/v2/asset/upload

  • Summary
    Upload asset files

  • Operation id
    AssetControllerV2_uploadFile_v2

RequestBody

  • multipart/form-data
{
  files?: string[]
}

Responses

  • 2XX

application/json

{
  files: {
    cid?: string
    error?: string
  }[]
}

[POST]/v1/content/{msaId}/broadcast

  • Summary
    Create DSNP Broadcast for user

  • Operation id
    ContentControllerV1_broadcast_v1

RequestBody

  • application/json
{
  content: {
    // Text content of the note
    content: string
    // The time of publishing ISO8601
    published: string
    assets: {
      // Determines if this asset is a link
      isLink?: boolean
      references: {
        // The unique Id for the uploaded asset
        referenceId: string
        // A hint as to the rendering height in device-independent pixels for image or video assets
        height?: number
        // A hint as to the rendering width in device-independent pixels for image or video asset
        width?: number
        // Approximate duration of the video or audio asset
        duration?: string
      }[]
      // The display name for the file
      name?: string
      // The URL for the given content
      href?: string
    }[]
    // The display name for the activity type
    name?: string
    tag: {
      // Identifies the tag type
      type: #/components/schemas/TagTypeEnum
      // The text of the tag
      name?: string
      // Link to the user mentioned
      mentionedId?: string
    }[]
    location: {
      // The units for radius and altitude (defaults to meters)
      units?: #/components/schemas/UnitTypeEnum
      // The display name for the location
      name: string
      // The accuracy of the coordinates as a percentage.  (e.g. 94.0 means 94.0% accurate)
      accuracy?: number
      // The altitude of the location
      altitude?: number
      // The latitude of the location
      latitude?: number
      // The longitude of the location
      longitude?: number
      // The area around the given point that comprises the location
      radius?: number
    }
  }
}

Responses

  • 2XX

application/json

{
  referenceId: string
}

[POST]/v1/content/{msaId}/reply

  • Summary
    Create DSNP Reply for user

  • Operation id
    ContentControllerV1_reply_v1

RequestBody

  • application/json
{
  // Target DSNP Content URI
  inReplyTo: string
  content: {
    // Text content of the note
    content: string
    // The time of publishing ISO8601
    published: string
    assets: {
      // Determines if this asset is a link
      isLink?: boolean
      references: {
        // The unique Id for the uploaded asset
        referenceId: string
        // A hint as to the rendering height in device-independent pixels for image or video assets
        height?: number
        // A hint as to the rendering width in device-independent pixels for image or video asset
        width?: number
        // Approximate duration of the video or audio asset
        duration?: string
      }[]
      // The display name for the file
      name?: string
      // The URL for the given content
      href?: string
    }[]
    // The display name for the activity type
    name?: string
    tag: {
      // Identifies the tag type
      type: #/components/schemas/TagTypeEnum
      // The text of the tag
      name?: string
      // Link to the user mentioned
      mentionedId?: string
    }[]
    location: {
      // The units for radius and altitude (defaults to meters)
      units?: #/components/schemas/UnitTypeEnum
      // The display name for the location
      name: string
      // The accuracy of the coordinates as a percentage.  (e.g. 94.0 means 94.0% accurate)
      accuracy?: number
      // The altitude of the location
      altitude?: number
      // The latitude of the location
      latitude?: number
      // The longitude of the location
      longitude?: number
      // The area around the given point that comprises the location
      radius?: number
    }
  }
}

Responses

  • 2XX

application/json

{
  referenceId: string
}

[POST]/v1/content/{msaId}/reaction

  • Summary
    Create DSNP Reaction for user

  • Operation id
    ContentControllerV1_reaction_v1

RequestBody

  • application/json
{
  // the encoded reaction emoji
  emoji: string
  // Indicates whether the emoji should be applied and if so, at what strength
  apply: number
  // Target DSNP Content URI
  inReplyTo: string
}

Responses

  • 2XX

application/json

{
  referenceId: string
}

[PUT]/v1/content/{msaId}

  • Summary
    Update DSNP Content for user

  • Operation id
    ContentControllerV1_update_v1

RequestBody

  • application/json
{
  // Target announcement type
  targetAnnouncementType: #/components/schemas/ModifiableAnnouncementType
  // Target DSNP Content Hash
  targetContentHash: string
  content: {
    // Text content of the note
    content: string
    // The time of publishing ISO8601
    published: string
    assets: {
      // Determines if this asset is a link
      isLink?: boolean
      references: {
        // The unique Id for the uploaded asset
        referenceId: string
        // A hint as to the rendering height in device-independent pixels for image or video assets
        height?: number
        // A hint as to the rendering width in device-independent pixels for image or video asset
        width?: number
        // Approximate duration of the video or audio asset
        duration?: string
      }[]
      // The display name for the file
      name?: string
      // The URL for the given content
      href?: string
    }[]
    // The display name for the activity type
    name?: string
    tag: {
      // Identifies the tag type
      type: #/components/schemas/TagTypeEnum
      // The text of the tag
      name?: string
      // Link to the user mentioned
      mentionedId?: string
    }[]
    location: {
      // The units for radius and altitude (defaults to meters)
      units?: #/components/schemas/UnitTypeEnum
      // The display name for the location
      name: string
      // The accuracy of the coordinates as a percentage.  (e.g. 94.0 means 94.0% accurate)
      accuracy?: number
      // The altitude of the location
      altitude?: number
      // The latitude of the location
      latitude?: number
      // The longitude of the location
      longitude?: number
      // The area around the given point that comprises the location
      radius?: number
    }
  }
}

Responses

  • 2XX

application/json

{
  referenceId: string
}

[DELETE]/v1/content/{msaId}

  • Summary
    Delete DSNP Content for user [deprecated; use POST /v2/content/{msaId}/tombstones instead]

  • Operation id
    ContentControllerV1_delete_v1

RequestBody

  • application/json
{
  // Target announcement type
  targetAnnouncementType: #/components/schemas/ModifiableAnnouncementType
  // Target DSNP Content Hash
  targetContentHash: string
}

Responses

  • 2XX

application/json

{
  referenceId: string
}

[POST]/v2/content/{msaId}/on-chain

  • Summary
    Create on-chain content for a given schema

  • Operation id
    ContentControllerV2_postContent_v2

RequestBody

  • application/json
{
  // Intent name to resolve the latest on-chain schema for publishing.
  // Format: <namespace>.<name>
  // @example: e-e.on-chain
  intentName?: string
  // Schema ID of the OnChain schema this message is being posted to.
  // @example: 16
  schemaId?: number
  // Payload bytes encoded as a hex string using the schema defined by `schemaId`
  payload: string
  // The time of publishing ISO8601
  published: string
}

Responses

  • 410 Deprecated endpoint

[POST]/v2/content/batchAnnouncement

  • Summary
    Create off-chain batch content announcements

  • Operation id
    ContentControllerV2_postBatches_v2

RequestBody

  • application/json
{
  batchFiles: {
    // Schema ID of batched off-chain content
    schemaId: number
    // CIDv1 of off-chain batch file
    cid: string
  }[]
}

Responses

  • 2XX

application/json

{
  referenceId: string
}

[POST]/v2/content/{msaId}/tombstones

  • Summary
    Post an announcement that previously-announced content is invalid/revoked

  • Operation id
    ContentControllerV2_postTombstone_v2

RequestBody

  • application/json
{
  // Target announcement type
  targetAnnouncementType: #/components/schemas/ModifiableAnnouncementType
  // Target DSNP Content Hash
  targetContentHash: string
}

Responses

  • 2XX

application/json

{
  referenceId: string
}

[POST]/v3/content/batchAnnouncement

  • Summary
    Upload files and create batch announcements

  • Operation id
    ContentControllerV3_postUploadBatchAnnouncement_v3

  • Description
    Upload files with their corresponding schema IDs to create batch announcements. Each file must be accompanied by a schemaId field.

RequestBody

  • multipart/form-data
{
  files?: string[]
}

Responses

  • 200 All files uploaded and batch announcements created successfully

application/json

{
  files: {
    // Unique identifier for tracking the batch announcement
    referenceId?: string
    // IPFS CID of the uploaded file
    cid?: string
    // Error message if the file upload or batch creation failed. Will be undefined in successful responses since this endpoint uses all-or-nothing error handling.
    error?: string
  }[]
}
  • 207 Partial success - some files uploaded successfully, others failed

application/json

{
  files: {
    // Unique identifier for tracking the batch announcement
    referenceId?: string
    // IPFS CID of the uploaded file
    cid?: string
    // Error message if the file upload or batch creation failed. Will be undefined in successful responses since this endpoint uses all-or-nothing error handling.
    error?: string
  }[]
}
  • 400 Bad request - validation errors (no files, mismatched schema IDs, etc.)

  • 500 Internal server error - all uploads failed or batch creation failed

application/json

{
  files: {
    // Unique identifier for tracking the batch announcement
    referenceId?: string
    // IPFS CID of the uploaded file
    cid?: string
    // Error message if the file upload or batch creation failed. Will be undefined in successful responses since this endpoint uses all-or-nothing error handling.
    error?: string
  }[]
}

[POST]/v3/content/on-chain

  • Summary
    Create on-chain content for a given schema

  • Operation id
    ContentControllerV3_postOnChainContent_v3

RequestBody

  • application/json
{
  // Payload bytes encoded as a hex string using the schema defined by `schemaId`
  payload: string
  // Intent name to resolve the latest on-chain schema for publishing.
  // Format: <namespace>.<name>
  // @example: e-e.on-chain
  intentName?: string
  // Optional MSA ID to that this request is on behalf of.
  // @example: 1234
  // @example: '4321'
  msaId: {
  }
  // Schema ID of the OnChain schema this message is being posted to.
  // @example: 16
  schemaId?: number
  // The time of publishing ISO8601
  published: string
}

Responses

  • 400

application/json

{
}
  • 401

application/json

{
}
  • 413

application/json

{
}
  • 422

application/json

{
}
  • 2XX

application/json

{
  referenceId: string
}

[PUT]/v1/profile/{msaId}

  • Summary
    Update a user's Profile

  • Operation id
    ProfileControllerV1_profile_v1

RequestBody

  • application/json
{
  profile: {
    icon: {
      // The unique Id for the uploaded asset
      referenceId: string
      // A hint as to the rendering height in device-independent pixels for image or video assets
      height?: number
      // A hint as to the rendering width in device-independent pixels for image or video asset
      width?: number
      // Approximate duration of the video or audio asset
      duration?: string
    }[]
    // Used as a plain text biography of the profile
    summary?: string
    // The time of publishing ISO8601
    published?: string
    // The display name for the activity type
    name?: string
    tag: {
      // Identifies the tag type
      type: #/components/schemas/TagTypeEnum
      // The text of the tag
      name?: string
      // Link to the user mentioned
      mentionedId?: string
    }[]
    location: {
      // The units for radius and altitude (defaults to meters)
      units?: #/components/schemas/UnitTypeEnum
      // The display name for the location
      name: string
      // The accuracy of the coordinates as a percentage.  (e.g. 94.0 means 94.0% accurate)
      accuracy?: number
      // The altitude of the location
      altitude?: number
      // The latitude of the location
      latitude?: number
      // The longitude of the location
      longitude?: number
      // The area around the given point that comprises the location
      radius?: number
    }
  }
}

Responses

  • 202

[GET]/healthz

  • Summary
    Check the health status of the service

  • Operation id
    HealthController_healthz

Responses

  • 200 Service is healthy

[GET]/livez

  • Summary
    Check the live status of the service

  • Operation id
    HealthController_livez

Responses

  • 200 Service is live

[GET]/readyz

  • Summary
    Check the ready status of the service

  • Operation id
    HealthController_readyz

Responses

  • 200 Service is ready

[GET]/dev/request/{jobId}

  • Summary
    Get a Job given a jobId

  • Operation id
    DevelopmentControllerV1_requestJob

  • Description
    ONLY enabled when ENVIRONMENT="dev".

Responses

  • 200

[POST]/dev/dummy/announcement/{queueType}/{count}

  • Summary
    Create dummy announcement data

  • Operation id
    DevelopmentControllerV1_populate

  • Description
    ONLY enabled when ENVIRONMENT="dev".

Responses

  • 201

[GET]/metrics

  • Operation id
    PrometheusController_index

Responses

  • 200

References

#/components/schemas/FilesUploadDto

{
  files?: string[]
}

#/components/schemas/UploadResponseDto

{
  assetIds?: string[]
}

#/components/schemas/FileResponseDto

{
  cid?: string
  error?: string
}

#/components/schemas/UploadResponseDtoV2

{
  files: {
    cid?: string
    error?: string
  }[]
}

#/components/schemas/AssetReferenceDto

{
  // The unique Id for the uploaded asset
  referenceId: string
  // A hint as to the rendering height in device-independent pixels for image or video assets
  height?: number
  // A hint as to the rendering width in device-independent pixels for image or video asset
  width?: number
  // Approximate duration of the video or audio asset
  duration?: string
}

#/components/schemas/AssetDto

{
  // Determines if this asset is a link
  isLink?: boolean
  references: {
    // The unique Id for the uploaded asset
    referenceId: string
    // A hint as to the rendering height in device-independent pixels for image or video assets
    height?: number
    // A hint as to the rendering width in device-independent pixels for image or video asset
    width?: number
    // Approximate duration of the video or audio asset
    duration?: string
  }[]
  // The display name for the file
  name?: string
  // The URL for the given content
  href?: string
}

#/components/schemas/TagTypeEnum

// Identifies the tag type
enum[mention, hashtag]

#/components/schemas/TagDto

{
  // Identifies the tag type
  type: #/components/schemas/TagTypeEnum
  // The text of the tag
  name?: string
  // Link to the user mentioned
  mentionedId?: string
}

#/components/schemas/UnitTypeEnum

// The units for radius and altitude (defaults to meters)
enum[cm, m, km, inches, feet, miles]

#/components/schemas/LocationDto

{
  // The units for radius and altitude (defaults to meters)
  units?: #/components/schemas/UnitTypeEnum
  // The display name for the location
  name: string
  // The accuracy of the coordinates as a percentage.  (e.g. 94.0 means 94.0% accurate)
  accuracy?: number
  // The altitude of the location
  altitude?: number
  // The latitude of the location
  latitude?: number
  // The longitude of the location
  longitude?: number
  // The area around the given point that comprises the location
  radius?: number
}

#/components/schemas/NoteActivityDto

{
  // Text content of the note
  content: string
  // The time of publishing ISO8601
  published: string
  assets: {
    // Determines if this asset is a link
    isLink?: boolean
    references: {
      // The unique Id for the uploaded asset
      referenceId: string
      // A hint as to the rendering height in device-independent pixels for image or video assets
      height?: number
      // A hint as to the rendering width in device-independent pixels for image or video asset
      width?: number
      // Approximate duration of the video or audio asset
      duration?: string
    }[]
    // The display name for the file
    name?: string
    // The URL for the given content
    href?: string
  }[]
  // The display name for the activity type
  name?: string
  tag: {
    // Identifies the tag type
    type: #/components/schemas/TagTypeEnum
    // The text of the tag
    name?: string
    // Link to the user mentioned
    mentionedId?: string
  }[]
  location: {
    // The units for radius and altitude (defaults to meters)
    units?: #/components/schemas/UnitTypeEnum
    // The display name for the location
    name: string
    // The accuracy of the coordinates as a percentage.  (e.g. 94.0 means 94.0% accurate)
    accuracy?: number
    // The altitude of the location
    altitude?: number
    // The latitude of the location
    latitude?: number
    // The longitude of the location
    longitude?: number
    // The area around the given point that comprises the location
    radius?: number
  }
}

#/components/schemas/BroadcastDto

{
  content: {
    // Text content of the note
    content: string
    // The time of publishing ISO8601
    published: string
    assets: {
      // Determines if this asset is a link
      isLink?: boolean
      references: {
        // The unique Id for the uploaded asset
        referenceId: string
        // A hint as to the rendering height in device-independent pixels for image or video assets
        height?: number
        // A hint as to the rendering width in device-independent pixels for image or video asset
        width?: number
        // Approximate duration of the video or audio asset
        duration?: string
      }[]
      // The display name for the file
      name?: string
      // The URL for the given content
      href?: string
    }[]
    // The display name for the activity type
    name?: string
    tag: {
      // Identifies the tag type
      type: #/components/schemas/TagTypeEnum
      // The text of the tag
      name?: string
      // Link to the user mentioned
      mentionedId?: string
    }[]
    location: {
      // The units for radius and altitude (defaults to meters)
      units?: #/components/schemas/UnitTypeEnum
      // The display name for the location
      name: string
      // The accuracy of the coordinates as a percentage.  (e.g. 94.0 means 94.0% accurate)
      accuracy?: number
      // The altitude of the location
      altitude?: number
      // The latitude of the location
      latitude?: number
      // The longitude of the location
      longitude?: number
      // The area around the given point that comprises the location
      radius?: number
    }
  }
}

#/components/schemas/AnnouncementResponseDto

{
  referenceId: string
}

#/components/schemas/ReplyDto

{
  // Target DSNP Content URI
  inReplyTo: string
  content: {
    // Text content of the note
    content: string
    // The time of publishing ISO8601
    published: string
    assets: {
      // Determines if this asset is a link
      isLink?: boolean
      references: {
        // The unique Id for the uploaded asset
        referenceId: string
        // A hint as to the rendering height in device-independent pixels for image or video assets
        height?: number
        // A hint as to the rendering width in device-independent pixels for image or video asset
        width?: number
        // Approximate duration of the video or audio asset
        duration?: string
      }[]
      // The display name for the file
      name?: string
      // The URL for the given content
      href?: string
    }[]
    // The display name for the activity type
    name?: string
    tag: {
      // Identifies the tag type
      type: #/components/schemas/TagTypeEnum
      // The text of the tag
      name?: string
      // Link to the user mentioned
      mentionedId?: string
    }[]
    location: {
      // The units for radius and altitude (defaults to meters)
      units?: #/components/schemas/UnitTypeEnum
      // The display name for the location
      name: string
      // The accuracy of the coordinates as a percentage.  (e.g. 94.0 means 94.0% accurate)
      accuracy?: number
      // The altitude of the location
      altitude?: number
      // The latitude of the location
      latitude?: number
      // The longitude of the location
      longitude?: number
      // The area around the given point that comprises the location
      radius?: number
    }
  }
}

#/components/schemas/ReactionDto

{
  // the encoded reaction emoji
  emoji: string
  // Indicates whether the emoji should be applied and if so, at what strength
  apply: number
  // Target DSNP Content URI
  inReplyTo: string
}

#/components/schemas/ModifiableAnnouncementType

// Target announcement type
enum[broadcast, reply]

#/components/schemas/UpdateDto

{
  // Target announcement type
  targetAnnouncementType: #/components/schemas/ModifiableAnnouncementType
  // Target DSNP Content Hash
  targetContentHash: string
  content: {
    // Text content of the note
    content: string
    // The time of publishing ISO8601
    published: string
    assets: {
      // Determines if this asset is a link
      isLink?: boolean
      references: {
        // The unique Id for the uploaded asset
        referenceId: string
        // A hint as to the rendering height in device-independent pixels for image or video assets
        height?: number
        // A hint as to the rendering width in device-independent pixels for image or video asset
        width?: number
        // Approximate duration of the video or audio asset
        duration?: string
      }[]
      // The display name for the file
      name?: string
      // The URL for the given content
      href?: string
    }[]
    // The display name for the activity type
    name?: string
    tag: {
      // Identifies the tag type
      type: #/components/schemas/TagTypeEnum
      // The text of the tag
      name?: string
      // Link to the user mentioned
      mentionedId?: string
    }[]
    location: {
      // The units for radius and altitude (defaults to meters)
      units?: #/components/schemas/UnitTypeEnum
      // The display name for the location
      name: string
      // The accuracy of the coordinates as a percentage.  (e.g. 94.0 means 94.0% accurate)
      accuracy?: number
      // The altitude of the location
      altitude?: number
      // The latitude of the location
      latitude?: number
      // The longitude of the location
      longitude?: number
      // The area around the given point that comprises the location
      radius?: number
    }
  }
}

#/components/schemas/TombstoneDto

{
  // Target announcement type
  targetAnnouncementType: #/components/schemas/ModifiableAnnouncementType
  // Target DSNP Content Hash
  targetContentHash: string
}

#/components/schemas/OnChainContentDto

{
  // Intent name to resolve the latest on-chain schema for publishing.
  // Format: <namespace>.<name>
  // @example: e-e.on-chain
  intentName?: string
  // Schema ID of the OnChain schema this message is being posted to.
  // @example: 16
  schemaId?: number
  // Payload bytes encoded as a hex string using the schema defined by `schemaId`
  payload: string
  // The time of publishing ISO8601
  published: string
}

#/components/schemas/BatchFileDto

{
  // Schema ID of batched off-chain content
  schemaId: number
  // CIDv1 of off-chain batch file
  cid: string
}

#/components/schemas/BatchFilesDto

{
  batchFiles: {
    // Schema ID of batched off-chain content
    schemaId: number
    // CIDv1 of off-chain batch file
    cid: string
  }[]
}

#/components/schemas/BatchAnnouncementDto

{
  // Unique identifier for tracking the batch announcement
  referenceId?: string
  // IPFS CID of the uploaded file
  cid?: string
  // Error message if the file upload or batch creation failed. Will be undefined in successful responses since this endpoint uses all-or-nothing error handling.
  error?: string
}

#/components/schemas/BatchAnnouncementResponseDto

{
  files: {
    // Unique identifier for tracking the batch announcement
    referenceId?: string
    // IPFS CID of the uploaded file
    cid?: string
    // Error message if the file upload or batch creation failed. Will be undefined in successful responses since this endpoint uses all-or-nothing error handling.
    error?: string
  }[]
}

#/components/schemas/OnChainContentDtoV2

{
  // Payload bytes encoded as a hex string using the schema defined by `schemaId`
  payload: string
  // Intent name to resolve the latest on-chain schema for publishing.
  // Format: <namespace>.<name>
  // @example: e-e.on-chain
  intentName?: string
  // Optional MSA ID to that this request is on behalf of.
  // @example: 1234
  // @example: '4321'
  msaId: {
  }
  // Schema ID of the OnChain schema this message is being posted to.
  // @example: 16
  schemaId?: number
  // The time of publishing ISO8601
  published: string
}

#/components/schemas/BadRequestException

{
}

#/components/schemas/UnauthorizedException

{
}

#/components/schemas/PayloadTooLargeException

{
}

#/components/schemas/UnprocessableEntityException

{
}

#/components/schemas/ProfileActivityDto

{
  icon: {
    // The unique Id for the uploaded asset
    referenceId: string
    // A hint as to the rendering height in device-independent pixels for image or video assets
    height?: number
    // A hint as to the rendering width in device-independent pixels for image or video asset
    width?: number
    // Approximate duration of the video or audio asset
    duration?: string
  }[]
  // Used as a plain text biography of the profile
  summary?: string
  // The time of publishing ISO8601
  published?: string
  // The display name for the activity type
  name?: string
  tag: {
    // Identifies the tag type
    type: #/components/schemas/TagTypeEnum
    // The text of the tag
    name?: string
    // Link to the user mentioned
    mentionedId?: string
  }[]
  location: {
    // The units for radius and altitude (defaults to meters)
    units?: #/components/schemas/UnitTypeEnum
    // The display name for the location
    name: string
    // The accuracy of the coordinates as a percentage.  (e.g. 94.0 means 94.0% accurate)
    accuracy?: number
    // The altitude of the location
    altitude?: number
    // The latitude of the location
    latitude?: number
    // The longitude of the location
    longitude?: number
    // The area around the given point that comprises the location
    radius?: number
  }
}

#/components/schemas/ProfileDto

{
  profile: {
    icon: {
      // The unique Id for the uploaded asset
      referenceId: string
      // A hint as to the rendering height in device-independent pixels for image or video assets
      height?: number
      // A hint as to the rendering width in device-independent pixels for image or video asset
      width?: number
      // Approximate duration of the video or audio asset
      duration?: string
    }[]
    // Used as a plain text biography of the profile
    summary?: string
    // The time of publishing ISO8601
    published?: string
    // The display name for the activity type
    name?: string
    tag: {
      // Identifies the tag type
      type: #/components/schemas/TagTypeEnum
      // The text of the tag
      name?: string
      // Link to the user mentioned
      mentionedId?: string
    }[]
    location: {
      // The units for radius and altitude (defaults to meters)
      units?: #/components/schemas/UnitTypeEnum
      // The display name for the location
      name: string
      // The accuracy of the coordinates as a percentage.  (e.g. 94.0 means 94.0% accurate)
      accuracy?: number
      // The altitude of the location
      altitude?: number
      // The latitude of the location
      latitude?: number
      // The longitude of the location
      longitude?: number
      // The area around the given point that comprises the location
      radius?: number
    }
  }
}