42min · Schema

SeriesActionResult

The outcome of one series action. Each action fills in only its own fields, so read the ones documented for the endpoint you called.

SchedulingFreeWebhookAutomation

Properties

Name Type Description
held integer Pause. Occurrences canceled and recorded as owed.
created integer Resume. Replacement occurrences booked.
skipped array Resume. Dates the pattern generates but cannot use, whether or not anything was booked.
owed integer Resume. Occurrences still waiting for a replacement. Non-zero means the series stays paused.
canceled integer End. Occurrences canceled for good.
moved integer Change host. Occurrences transferred.
unchanged integer Change host. Occurrences already hosted by the target, so nothing to transfer.
stopped_by stringnull Change host. Why the run stopped early, or null when it finished and the series host was changed. A closed set of codes, safe to branch on: - `series_busy`: another action took the series over mid-run
superseded boolean Pause, Resume and End, plus the resume a pattern-changing PATCH embeds under `resumed`. Another action took the series over while this one was running, so it stopped where it was. The counts above are
View JSON Schema on GitHub

JSON Schema

42min-us-series-action-result-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/42min-us/json-schema/42min-us-series-action-result-schema.json",
  "title": "SeriesActionResult",
  "description": "The outcome of one series action. Each action fills in only its own fields, so\nread the ones documented for the endpoint you called.\n",
  "x-generated": "2026-10-31",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_original/42min-us-api-openapi.yml#/components/schemas/SeriesActionResult",
  "type": "object",
  "properties": {
    "held": {
      "type": "integer",
      "description": "Pause. Occurrences canceled and recorded as owed."
    },
    "created": {
      "type": "integer",
      "description": "Resume. Replacement occurrences booked."
    },
    "skipped": {
      "type": "array",
      "description": "Resume. Dates the pattern generates but cannot use, whether or not anything was booked.",
      "items": {
        "$ref": "#/$defs/SeriesSkip"
      }
    },
    "owed": {
      "type": "integer",
      "description": "Resume. Occurrences still waiting for a replacement. Non-zero means the series stays paused."
    },
    "canceled": {
      "type": "integer",
      "description": "End. Occurrences canceled for good."
    },
    "moved": {
      "type": "integer",
      "description": "Change host. Occurrences transferred."
    },
    "unchanged": {
      "type": "integer",
      "description": "Change host. Occurrences already hosted by the target, so nothing to transfer."
    },
    "stopped_by": {
      "type": [
        "string",
        "null"
      ],
      "description": "Change host. Why the run stopped early, or null when it finished and the\nseries host was changed. A closed set of codes, safe to branch on:\n\n- `series_busy`: another action took the series over mid-run. The same\n  condition, and the same code, as the 409 this API throws for it.\n- `host_not_allowed`: the credential may not move meetings to that host.\n- `host_not_eligible`: the new host is not an active user of this\n  organization.\n- `host_calendar_required`: the new host has no writable calendar of the\n  provider this event type's meeting link needs.\n- `host_already_booked`: the new host already has another meeting at that\n  occurrence's time. An ordinary scheduling conflict, not a fault of ours;\n  pick a different host or time for it and repeat the call.\n- `occurrence_shared`: one occurrence shares its conference or calendar\n  entry with another booking, so its host cannot be moved on its own.\n- `occurrence_canceled`: one occurrence was canceled while the run went.\n- `occurrence_not_found`: one occurrence could not be found; it may have\n  been removed while the run was going.\n- `occurrence_changed`: one occurrence moved while the run went.\n- `occurrence_busy`: another operation on one occurrence is still\n  finishing.\n- `host_change_unavailable`: the per-meeting transfer lock could not be\n  taken. Transient; retry.\n- `internal_error`: an unexpected failure. Quote `meta.request_id`.\n\nWhatever the reason, `moved` occurrences ARE on the new host and the series\nhost is unchanged, so the call can simply be repeated once the cause is\nfixed.\n",
      "enum": [
        null,
        "series_busy",
        "host_not_allowed",
        "host_not_eligible",
        "host_calendar_required",
        "host_already_booked",
        "occurrence_shared",
        "occurrence_canceled",
        "occurrence_not_found",
        "occurrence_changed",
        "occurrence_busy",
        "host_change_unavailable",
        "internal_error"
      ]
    },
    "superseded": {
      "type": "boolean",
      "description": "Pause, Resume and End, plus the resume a pattern-changing PATCH embeds\nunder `resumed`. Another action took the series over while this one was\nrunning, so it stopped where it was. The counts above are what it did\nfinish; repeat the call to do the rest. Change Host never sets this; it\nreports the same situation through `stopped_by` instead.\n\nUnder `resumed` it also covers the case where the resume never started:\nthe PATCH wrote the new pattern and paused the series, and another action\nthen took it over before a single replacement was booked. That is\n`created: 0` with `owed` naming what is still waiting. Read the series\nagain and call `/resume` with the current `ETag`.\n\nThe same field also covers a resume that DID start booking replacements\nbefore being taken over: `created` and `skipped` are what that partial\nwalk actually did, real confirmed meetings and all, never zeroed out\nbecause the run did not finish. `owed` still names what is left, and\n`/resume` with the current `ETag` converges on the rest.\n"
    }
  },
  "$defs": {
    "SeriesSkip": {
      "type": "object",
      "description": "A date in the pattern that could not be booked. It does not shift; it is dropped.",
      "required": [
        "start_at",
        "reason"
      ],
      "properties": {
        "start_at": {
          "type": "string",
          "format": "date-time"
        },
        "reason": {
          "type": "string",
          "enum": [
            "conflict"
          ]
        }
      }
    }
  }
}

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/42min-us-series-action-result"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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.