JuzPost · Schema

Me

Everything an agent needs to know before acting, in one call.

Social MediaSchedulingAutomationArtificial IntelligenceMarketing

Properties

Name Type Description
user object The user the credential was minted for.
credential object The credential used for this request. Never includes the secret.
workspace object The workspace this credential is scoped to. Everything you can read or write lives inside it.
plan object The plan in force. An unknown or lapsed subscription resolves to `none`.
billing object Subscription state, or null when the workspace has never subscribed.
entitlements object
quotas object Usage against the caps. `subscription` is one pool shared by every workspace the plan owner has; `workspace` is this workspace alone.
limits object The fixed limits scheduling and uploads are validated against.
blocked array Plain-English reasons a write would fail right now, such as a missing plan, a past-due subscription or a full queue. Empty when nothing blocks you. Show these to the user instead of attempting the doo
View JSON Schema on GitHub

JSON Schema

juzpost-me-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/juzpost/json-schema/juzpost-me-schema.json",
  "title": "Me",
  "description": "Everything an agent needs to know before acting, in one call.",
  "x-generated": "2026-11-08",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/juzpost-openapi.json#/components/schemas/Me",
  "type": "object",
  "required": [
    "user",
    "credential",
    "workspace",
    "plan",
    "billing",
    "entitlements",
    "quotas",
    "limits",
    "blocked"
  ],
  "properties": {
    "user": {
      "type": "object",
      "description": "The user the credential was minted for.",
      "required": [
        "id",
        "email"
      ],
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid",
          "description": "The user's id."
        },
        "email": {
          "type": [
            "string",
            "null"
          ],
          "description": "The user's email address, or null if the account has none on record."
        }
      }
    },
    "credential": {
      "type": "object",
      "description": "The credential used for this request. Never includes the secret.",
      "required": [
        "type",
        "scopes",
        "expiresAt"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "api_key",
            "oauth"
          ],
          "description": "`api_key` for a dashboard-issued key, `oauth` for an AI connector grant."
        },
        "scopes": {
          "type": "array",
          "description": "Scopes granted. API keys hold all four.",
          "items": {
            "type": "string",
            "enum": [
              "read",
              "create",
              "edit",
              "admin"
            ]
          }
        },
        "expiresAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "description": "When an OAuth access token expires. Null for API keys."
        }
      }
    },
    "workspace": {
      "allOf": [
        {
          "$ref": "#/$defs/Workspace"
        },
        {
          "type": "object",
          "required": [
            "slug",
            "role"
          ],
          "properties": {
            "slug": {
              "type": "string",
              "description": "URL slug of the workspace."
            },
            "role": {
              "type": "string",
              "description": "The calling user's role in the workspace, such as `owner`."
            }
          }
        }
      ],
      "description": "The workspace this credential is scoped to. Everything you can read or write lives inside it."
    },
    "plan": {
      "type": "object",
      "description": "The plan in force. An unknown or lapsed subscription resolves to `none`.",
      "required": [
        "id",
        "name",
        "trialActive"
      ],
      "properties": {
        "id": {
          "type": "string",
          "enum": [
            "none",
            "solo",
            "growth",
            "pro"
          ],
          "description": "Plan id. `none` means no active paid plan, in which case most operations return `402`."
        },
        "name": {
          "type": "string",
          "description": "Display name of the plan."
        },
        "trialActive": {
          "type": "boolean",
          "description": "Whether the subscription is in its trial period."
        }
      }
    },
    "billing": {
      "oneOf": [
        {
          "$ref": "#/$defs/Billing"
        },
        {
          "type": "null"
        }
      ],
      "description": "Subscription state, or null when the workspace has never subscribed."
    },
    "entitlements": {
      "$ref": "#/$defs/Entitlements"
    },
    "quotas": {
      "type": "object",
      "description": "Usage against the caps. `subscription` is one pool shared by every workspace the\nplan owner has; `workspace` is this workspace alone.\n",
      "required": [
        "subscription",
        "workspace"
      ],
      "properties": {
        "subscription": {
          "type": "object",
          "required": [
            "ownedBy",
            "accounts",
            "queuedPosts"
          ],
          "properties": {
            "ownedBy": {
              "type": "string",
              "enum": [
                "you",
                "workspace owner"
              ],
              "description": "Whose subscription the plan and these counts belong to."
            },
            "accounts": {
              "type": "object",
              "required": [
                "used",
                "max"
              ],
              "properties": {
                "used": {
                  "type": "integer",
                  "description": "Social accounts connected across every workspace the owner has."
                },
                "max": {
                  "type": "integer",
                  "description": "Account slots granted to the subscription."
                }
              }
            },
            "queuedPosts": {
              "type": "object",
              "required": [
                "used",
                "max"
              ],
              "properties": {
                "used": {
                  "type": "integer",
                  "description": "Posts scheduled and not yet published, across every workspace the owner has."
                },
                "max": {
                  "type": "integer",
                  "description": "Maximum scheduled posts the plan allows at once."
                }
              }
            }
          }
        },
        "workspace": {
          "type": "object",
          "required": [
            "accounts",
            "storage"
          ],
          "properties": {
            "accounts": {
              "type": "integer",
              "description": "Social accounts connected in this workspace."
            },
            "storage": {
              "type": "object",
              "required": [
                "usedBytes",
                "quotaBytes"
              ],
              "properties": {
                "usedBytes": {
                  "type": "integer",
                  "description": "Bytes of media stored in this workspace."
                },
                "quotaBytes": {
                  "type": "integer",
                  "description": "Storage quota in bytes for this workspace."
                }
              }
            }
          }
        }
      }
    },
    "limits": {
      "type": "object",
      "description": "The fixed limits scheduling and uploads are validated against.",
      "required": [
        "scheduleAheadDays",
        "minScheduleMinutes",
        "maxFilesPerPost",
        "blockedPlatforms",
        "presignPerMinute"
      ],
      "properties": {
        "scheduleAheadDays": {
          "type": "integer",
          "description": "How far into the future a post may be scheduled."
        },
        "minScheduleMinutes": {
          "type": "integer",
          "description": "Minimum lead time for a scheduled post."
        },
        "maxFilesPerPost": {
          "type": "integer",
          "description": "Maximum media files on one post."
        },
        "blockedPlatforms": {
          "type": "array",
          "description": "Platforms the plan cannot post to.",
          "items": {
            "type": "string"
          }
        },
        "presignPerMinute": {
          "type": "integer",
          "description": "`POST /storage/presign` calls allowed per minute."
        }
      }
    },
    "blocked": {
      "type": "array",
      "description": "Plain-English reasons a write would fail right now, such as a missing plan, a\npast-due subscription or a full queue. Empty when nothing blocks you. Show these to\nthe user instead of attempting the doomed write.\n",
      "items": {
        "type": "string"
      }
    }
  },
  "$defs": {
    "Billing": {
      "type": "object",
      "description": "Subscription state for the workspace.",
      "required": [
        "status",
        "periodEnd",
        "cancelAtPeriodEnd",
        "graceUntil",
        "dunning"
      ],
      "properties": {
        "status": {
          "type": "string",
          "description": "The billing provider's subscription status, such as `active`, `trialing` or `past_due`."
        },
        "periodEnd": {
          "type": "string",
          "format": "date-time",
          "description": "End of the current billing period."
        },
        "cancelAtPeriodEnd": {
          "type": "boolean",
          "description": "Whether the subscription ends at `periodEnd`."
        },
        "graceUntil": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Unix milliseconds until which already-scheduled posts keep publishing after a failed payment. Null when not in dunning."
        },
        "dunning": {
          "type": "boolean",
          "description": "True while payment has failed and the grace window is open. New schedules are refused; scheduled posts still fire until `graceUntil`."
        }
      }
    },
    "Entitlement": {
      "type": "object",
      "description": "One capability and, when it is locked, the lowest plan that allows it.",
      "required": [
        "allowed",
        "requiredPlan"
      ],
      "properties": {
        "allowed": {
          "type": "boolean",
          "description": "Whether the plan behind this token permits the action right now."
        },
        "requiredPlan": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            "none",
            "solo",
            "growth",
            "pro",
            null
          ],
          "description": "The lowest plan that allows the action, or null when `allowed` is true."
        }
      }
    },
    "Entitlements": {
      "type": "object",
      "description": "The capability flags that gate this API. Check these before attempting a write rather\nthan discovering a `402` mid-workflow.\n",
      "required": [
        "api",
        "schedule",
        "publish",
        "connectAccount",
        "createWorkspace"
      ],
      "properties": {
        "api": {
          "allOf": [
            {
              "$ref": "#/$defs/Entitlement"
            }
          ],
          "description": "Programmatic access at all. When not allowed, every operation except `GET /me`\nreturns `402`. Requires the Pro plan.\n"
        },
        "schedule": {
          "allOf": [
            {
              "$ref": "#/$defs/Entitlement"
            }
          ],
          "description": "Scheduling for a future time, and by extension media uploads. When not allowed,\n`POST /schedule`, future-dated single-post scheduling and `POST /storage/presign`\nreturn `402`.\n"
        },
        "publish": {
          "allOf": [
            {
              "$ref": "#/$defs/Entitlement"
            }
          ],
          "description": "Publishing immediately. When not allowed, scheduling with no `publishAt` returns `402`."
        },
        "connectAccount": {
          "allOf": [
            {
              "$ref": "#/$defs/Entitlement"
            }
          ],
          "description": "Whether another social account can be connected. Reflects the account slots granted to this customer, not only the plan."
        },
        "createWorkspace": {
          "allOf": [
            {
              "$ref": "#/$defs/Entitlement"
            }
          ],
          "description": "Whether another workspace can be created."
        }
      }
    },
    "Workspace": {
      "type": "object",
      "description": "The account this token belongs to: the boundary around your accounts, posts and media,\nplus the scheduling defaults the bulk scheduler reads.\n",
      "required": [
        "id",
        "name",
        "timezone",
        "defaultTimes"
      ],
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid",
          "description": "The account id. You never send it anywhere; quote it if you contact support."
        },
        "name": {
          "type": "string",
          "description": "Display name of the account."
        },
        "timezone": {
          "type": "string",
          "description": "IANA timezone name, such as `America/New_York`. Preset posting times are wall-clock\ntimes in this zone, converted to UTC at scheduling time, so daylight saving is\nhandled for you.\n"
        },
        "defaultTimes": {
          "type": "array",
          "description": "Preset posting times as 24-hour `HH:MM` wall-clock strings in your timezone.\n`POST /schedule` uses these unless you override them, and fails with `422` if this\nlist is empty and you pass none.\n",
          "items": {
            "type": "string",
            "description": "A posting time as `HH:MM` in your timezone.",
            "pattern": "^\\d{2}:\\d{2}$"
          }
        }
      }
    }
  }
}

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/juzpost-me"
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.