Arcmira · Schema

ChannelVideosResponse

Artificial IntelligenceSearchYouTubeTranscriptsSDK

Properties

Name Type Description
channel object
episodes array Indexed videos of the channel, newest first.
returned integer
has_more boolean True when more indexed videos exist past limit in the window.
next_cursor stringnull Signed continuation for the next page. Null on the last page.
window object
indexed_through stringnull Newest publish date among every indexed video of the channel, whatever window was asked for. Null when nothing is indexed.
index_age_days integernull Whole days between indexed_through and now. Past 30 the note says the index may be behind the channel. Null when nothing is indexed.
as_of stringnull Same as indexed_through.
freshness object
unlock object Present with freshness when your plan's freshness gate cut the window; note says so.
note string One steering sentence for the agent reading this.
View JSON Schema on GitHub

JSON Schema

arcmira-channel-videos-response-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/arcmira/json-schema/arcmira-channel-videos-response-schema.json",
  "title": "ChannelVideosResponse",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/arcmira-channels-api-openapi.yml#/components/schemas/ChannelVideosResponse",
  "type": "object",
  "properties": {
    "channel": {
      "type": "object",
      "properties": {
        "id": {
          "type": [
            "string",
            "null"
          ],
          "description": "Public entity id (\"ent_{n}\") of the channel. Null when no channel entity is known."
        },
        "youtube_channel_id": {
          "type": "string",
          "description": "The channel id as supplied."
        },
        "name": {
          "type": [
            "string",
            "null"
          ]
        },
        "page": {
          "type": [
            "string",
            "null"
          ],
          "description": "The channel's page on arcmira.com, absolute. Null when no channel is known."
        }
      },
      "required": [
        "id",
        "youtube_channel_id",
        "name",
        "page"
      ]
    },
    "episodes": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "video_id": {
            "type": "string",
            "description": "11-character YouTube video id. Pass it to GET /v1/mentions/counts video_ids or GET /v1/transcripts/{video_id}."
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "published_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "ISO publish date on YouTube."
          },
          "duration_seconds": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Video length in seconds. Null when YouTube reported none."
          },
          "view_count": {
            "type": [
              "integer",
              "null"
            ]
          },
          "channel_id": {
            "type": "string",
            "description": "The channel id as supplied."
          },
          "channel_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "channel_page": {
            "type": [
              "string",
              "null"
            ],
            "description": "The channel's page on arcmira.com, absolute. Null when no channel is known."
          },
          "watch_url": {
            "type": "string",
            "description": "The episode on arcmira.com, absolute."
          }
        },
        "required": [
          "video_id",
          "title",
          "published_at",
          "duration_seconds",
          "view_count",
          "channel_id",
          "channel_name",
          "channel_page",
          "watch_url"
        ]
      },
      "description": "Indexed videos of the channel, newest first."
    },
    "returned": {
      "type": "integer"
    },
    "has_more": {
      "type": "boolean",
      "description": "True when more indexed videos exist past limit in the window."
    },
    "next_cursor": {
      "type": [
        "string",
        "null"
      ],
      "description": "Signed continuation for the next page. Null on the last page."
    },
    "window": {
      "$ref": "#/$defs/PublicationWindow"
    },
    "indexed_through": {
      "type": [
        "string",
        "null"
      ],
      "description": "Newest publish date among every indexed video of the channel, whatever window was asked for. Null when nothing is indexed."
    },
    "index_age_days": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Whole days between indexed_through and now. Past 30 the note says the index may be behind the channel. Null when nothing is indexed."
    },
    "as_of": {
      "type": [
        "string",
        "null"
      ],
      "description": "Same as indexed_through."
    },
    "freshness": {
      "allOf": [
        {
          "$ref": "#/$defs/Freshness"
        },
        {
          "description": "Present when your plan's freshness gate cut the window: where results on this plan stop. unlock names the plan that reads past it."
        }
      ]
    },
    "unlock": {
      "type": "object",
      "properties": {
        "tier": {
          "type": "string",
          "description": "The plan that lifts the freshness gate."
        },
        "url": {
          "type": "string",
          "description": "Where to start that plan."
        }
      },
      "required": [
        "tier",
        "url"
      ],
      "description": "Present with freshness when your plan's freshness gate cut the window; note says so."
    },
    "note": {
      "type": "string",
      "description": "One steering sentence for the agent reading this."
    }
  },
  "required": [
    "channel",
    "episodes",
    "returned",
    "has_more",
    "next_cursor",
    "window",
    "indexed_through",
    "index_age_days",
    "as_of",
    "note"
  ],
  "$defs": {
    "Freshness": {
      "type": "object",
      "properties": {
        "delay_days": {
          "type": "integer",
          "description": "Days after publication before this plan reads a video."
        },
        "served_through": {
          "type": "string",
          "description": "YYYY-MM-DD (UTC). Results on this plan stop at this publish date; media published after it is not read."
        }
      },
      "required": [
        "delay_days",
        "served_through"
      ],
      "description": "Where results stop on a plan that reads media after a delay."
    },
    "PublicationWindow": {
      "type": "object",
      "properties": {
        "after": {
          "type": [
            "string",
            "null"
          ],
          "description": "Inclusive start as an ISO instant. Null when the window has no start."
        },
        "before": {
          "type": [
            "string",
            "null"
          ],
          "description": "Exclusive end as an ISO instant. Null when the window has no end. Earlier than the before you sent when your plan's freshness gate cut the window."
        }
      },
      "required": [
        "after",
        "before"
      ],
      "description": "The publication window the answer covers, [after, before) in UTC, normalized from after and before."
    }
  }
}

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.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/arcmira-channel-videos-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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.