On this page

API

Schemas

Every named schema of the ReuseForge API v1 contract with field names, types and which fields are required.

Every named schema of the contract, 132 in all. Field names are the wire names; there is no case conversion in any SDK. Fields marked no may be absent. Clients must ignore fields and enum values they do not know.

Schemas AcceptOrder to EventType

AcceptOrder

Fields of AcceptOrder
FieldTypeRequiredDescription
confirmboolean: trueyesMust be true. A deliberate speed bump.
item_idsarray of stringnoSubset to accept. Default is every delivered item.
notestringno

Account

Fields of Account
FieldTypeRequiredDescription
idstringyes
objectstring: accountyes
typestring: user, orgyes
handlestringyes
display_namestringyes
biostringno
avatar_urlstringno
websitestringno
locationstringno
linksmap of stringno
verifiedbooleanyes
followers_countintegerno
following_countintegerno
statsobjectno
stats.itemsintegerno
stats.stars_receivedintegerno
created_atTimestampyes

AccountRef

Fields of AccountRef
FieldTypeRequiredDescription
idstringyes
typestring: user, orgyes
handlestringyes
display_namestringno
verifiedbooleannoPlatform-verified badge.
avatar_urlstringnoEmpty string means the client draws an identicon.

ApiIndex

Fields of ApiIndex
FieldTypeRequiredDescription
namestringyes
api_versionstringyesFull contract semver.
majorstring: v1yes
documentation_urlstring (uri)yes
openapi_urlstring (uri)yes
linksmap of stringyesRelation name to URL (path or absolute).
authobjectyes
auth.typestring: beareryes
auth.token_prefixstringyes
auth.scope_catalog_urlstring (uri)no
test_modebooleanyesTrue while payments are simulated or run on test networks.
railsarray of objectyes
rails[].idPaymentRailyesOpen set. Known: simulated, base-usdc, base-usdt, btc. Python nodes also use usdc-base and usdt-ethereum.
rails[].networkstring or nullno
rails[].enabledbooleanyes
rails[].test_modebooleanyes
limitsmap of integeryesNumeric limits clients should respect (page_max, max_files, max_file_bytes, max_version_bytes, max_request_bytes, goal_max_chars, plan_ttl_seconds, idempotency_ttl_seconds, webhook_endpoints_max, tokens_max).
deprecationsarray of objectyes
deprecations[].operation_idstringyes
deprecations[].deprecated_atTimestampyes
deprecations[].sunset_atTimestampyes
deprecations[].replacementstring or nullno

AttachProduct

Fields of AttachProduct
FieldTypeRequiredDescription
itemItemRefyesCanonical item address owner/slug.

BackProject

Fields of BackProject
FieldTypeRequiredDescription
amount_centsintegeryes
railPaymentRailnoOpen set. Known: simulated, base-usdc, base-usdt, btc. Python nodes also use usdc-base and usdt-ethereum.
tx_refstringno
walletstringno

Backing

Fields of Backing
FieldTypeRequiredDescription
idstringyes
objectstring: backingyes
project_idstringyes
backerAccountRefyes
amount_centsintegeryes
currencyCurrencyyesISO 4217 code. Only USD in v1.
statestring: pending, confirmed, withdrawn, refundedyes
unitsinteger or nullnoRevenue units allotted for this pledge.
paymentPaymentyesRail-agnostic payment instructions and status.
created_atTimestampyes

BlockKind

Kinds the planner and connectors can return. Adds external-only kinds (paper, build_task, design) to ItemKind.

One of: repo, skill, harness, mcp_server, model, dataset, prompt, template, paper, build_task, design

Brief

Fields of Brief
FieldTypeRequiredDescription
plan_idstringyes
optionintegeryes
briefstringyesMarkdown.
build_stepsarray of objectyes
build_steps[].requirementstringyes
build_steps[].budget_centsintegeryes
build_steps[].blueprintsarray of objectyes
mcp_serversarray of stringyes

Bundle

Fields of Bundle
FieldTypeRequiredDescription
itemItemRefyesCanonical item address owner/slug.
versionstringyes
content_hashContentHashyesSHA-256 over the text made of one line <sha256 of file bytes> <path> per file (two spaces, \n after each line), files sorted by path in UTF-8 byte order. Identical to the output of sha256sum over the files, so it can be recomputed with standard tools.
filesarray of objectyes
files[].pathstringyes
files[].contentstringyes
files[].encodingstring: utf8, base64yes
files[].sha256stringyes
files[].size_bytesintegeryes
files[].content_typestringno

Candidate

A reusable thing the planner can pick: a hosted item or an external result. Same fields as the Python Block, with money in cents.

Fields of Candidate
FieldTypeRequiredDescription
idstringyesitm_... for hosted items, blk_... (stable hash of origin and url) for external results.
namestringyes
kindBlockKindyesKinds the planner and connectors can return. Adds external-only kinds (paper, build_task, design) to ItemKind.
summarystringyes
urlstringyes
capabilitiesarray of stringno
licensestringyes
price_centsintegeryes
currencyCurrencyyesISO 4217 code. Only USD in v1.
versionstringno
content_hashstringnoEmpty for external results; sha256: hash for hosted versions.
ownerstringnoSeller handle, or the external owner/organization.
originstringyesreuseforge (hosted), network (peer ledger), github, arxiv, mcp-registry, huggingface, npm, pypi, ... Open set.
signalsSignalsyesNumeric quality and risk signals shared by hosted items and external candidates. All keys are optional and unknown keys must be tolerated.
ratingnumberno
rating_countintegerno
project_idstring or nullno
itemnull or ItemRefnoSet when the candidate is a hosted item.
qualitynumbernoPlanner estimate from verifiable signals.
risknumberno
payout_railsarray of PaymentRailnoRails on which the seller can be paid.

ClaudeMarketplace

A Claude Code marketplace.json (https://code.claude.com/docs/en/plugins/marketplace-reference). Only fields Claude Code reads are used, so claude plugin validate passes without warnings.

Fields of ClaudeMarketplace
FieldTypeRequiredDescription
namestringyesreuseforge-<owner>. Users type it after @ when they install.
descriptionstringno
ownerobjectyes
owner.namestringyes
owner.urlstring (uri)no
pluginsarray of ClaudePluginEntryyes

ClaudePluginEntry

Fields of ClaudePluginEntry
FieldTypeRequiredDescription
namestringyesThe item slug. Equals name in the plugin's own plugin.json.
sourceobjectyesClaude Code archive plugin source: a ZIP downloaded over HTTPS and verified against sha256.
source.sourcestring: archiveyes
source.urlstring (uri)yes
source.sha256stringyes
descriptionstringno
versionstringno
categorystringnoThe item kind (skill, prompt or mcp_server).
tagsarray of stringno
keywordsarray of stringno
authorobjectno
author.namestringyes
author.urlstring (uri)no
homepagestring (uri)no
licensestringno

Connector

Fields of Connector
FieldTypeRequiredDescription
namestringyes
typestring: builtin, rest, mcp-http, mcp-stdioyes
rolestring: block_source, agent_serveryes
readybooleanyes
originstringyes
descriptionstringyes
kindsarray of BlockKindno
capabilitiesarray of stringno
verifiedbooleanno
token_envstring or nullno
oauthbooleanno

ConnectorPage

Fields of ConnectorPage
FieldTypeRequiredDescription
dataarray of Connectoryes
next_cursorstring or nullyesPass as cursor to get the next page. Null on the last page.
has_morebooleanyes
totalintegernoTotal matches when cheap to compute (search). May be an estimate.

ContentHash

SHA-256 over the text made of one line <sha256 of file bytes> <path> per file (two spaces, \n after each line), files sorted by path in UTF-8 byte order. Identical to the output of sha256sum over the files, so it can be recomputed with standard tools.

Type: string

Currency

ISO 4217 code. Only USD in v1.

One of: USD

DeliverMilestone

Fields of DeliverMilestone
FieldTypeRequiredDescription
evidencestringyes

DeliverOrder

Fields of DeliverOrder
FieldTypeRequiredDescription
itemsarray of objectyes
items[].item_idstringyes
items[].accessDeliveryAccessyes
items[].content_hashContentHashnoSHA-256 over the text made of one line <sha256 of file bytes> <path> per file (two spaces, \n after each line), files sorted by path in UTF-8 byte order. Identical to the output of sha256sum over the files, so it can be recomputed with standard tools.

DeliveryAccess

Fields of DeliveryAccess
FieldTypeRequiredDescription
typestring: item_version, url, messageyes
versionstringnoFor item_version: the hosted version that is delivered.
urlstring (uri)no
notestringno

Dependency

Fields of Dependency
FieldTypeRequiredDescription
itemItemRefyesCanonical item address owner/slug.
rangestringyesSemver range: exact 1.2.3, ^1.2.0, ~1.2.0, >=1.2.0 <2.0.0 or *.

Developer

Fields of Developer
FieldTypeRequiredDescription
accountAccountRefyes
budget_bpsintegeryesShare of each milestone payment. All developers total 10000.
equity_bpsintegeryesShare of revenue units. All developers total at most 5000.

DiscoverResult

Fields of DiscoverResult
FieldTypeRequiredDescription
dataarray of Candidateyes
next_cursorstring or nullyesPass as cursor to get the next page. Null on the last page.
has_morebooleanyes
totalintegernoTotal matches when cheap to compute (search). May be an estimate.
sourcesarray of SourceStatusyes

DisputeOrder

Fields of DisputeOrder
FieldTypeRequiredDescription
reasonstringyes
item_idsarray of stringno
evidence_urlsarray of string (uri)no

Earnings

Fields of Earnings
FieldTypeRequiredDescription
currencyCurrencyyesISO 4217 code. Only USD in v1.
in_escrow_centsintegeryes
releasable_soon_centsintegeryesDelivered items whose acceptance window ends within 48 hours.
available_centsintegeryesReleased but not yet claimed on rails that need a claim.
paid_out_centsintegeryes
fees_paid_centsintegeryes
by_railarray of objectyes
by_rail[].railPaymentRailyesOpen set. Known: simulated, base-usdc, base-usdt, btc. Python nodes also use usdc-base and usdt-ethereum.
by_rail[].paid_out_centsintegeryes

ErrorCode

Stable, machine-readable error identifiers. New codes may be added in minor releases; branch on code, never on title or detail.

One of: invalid_request, invalid_json, invalid_parameter, invalid_cursor, validation_failed, unsupported_media_type, payload_too_large, unauthorized, invalid_token, token_expired, insufficient_scope, forbidden, account_suspended, email_unverified, spend_limit_exceeded, purchase_required, payment_required, payment_invalid, rail_unsupported, not_found, method_not_allowed, gone, plan_expired, conflict, already_exists, invalid_state, idempotency_key_required, idempotency_key_reuse, idempotency_in_progress, precondition_failed, precondition_required, quota_exceeded, version_quarantined, review_removed, rate_limited, webhook_url_forbidden, invalid_signature, integrity_mismatch, upstream_error, upstream_timeout, not_implemented, internal, unavailable

EventBase

Envelope of every webhook delivery. The signed raw body is exactly this JSON.

Fields of EventBase
FieldTypeRequiredDescription
idstringyes
objectstring: eventyes
typestringyes
api_versionstring: 1yes
created_atTimestampyes
accountstringyesHandle of the account the delivery is for.
dataobjectyes
data.objectobjectyes
data.previous_attributesobjectnoOld values of changed top-level fields (item.updated).
data.truncatedbooleannotrue when the body would exceed 256 KiB and was shrunk: heavy fields of object (readme, files, manifest, cap table, milestones, payouts) are dropped, and as a last step object is only {object, id}. Fetch the resource by id.

EventType

One of: item.published, item.version.published, item.updated, item.retracted, review.created, order.created, order.funded, order.delivered, order.released, order.refunded, order.disputed, project.funded, project.milestone.approved, payout.sent, verification.completed

Schemas EventTypeInfo to LedgerPushResult

EventTypeInfo

Fields of EventTypeInfo
FieldTypeRequiredDescription
typeEventTypeyes
descriptionstringyes
objectstringyesValue of data.object.object carried by the event.

EventTypePage

Fields of EventTypePage
FieldTypeRequiredDescription
dataarray of EventTypeInfoyes
next_cursorstring or nullyesPass as cursor to get the next page. Null on the last page.
has_morebooleanyes
totalintegernoTotal matches when cheap to compute (search). May be an estimate.

Explanation

Fields of Explanation
FieldTypeRequiredDescription
scopestring: plan, requirement, optionyes
refstringyesRequirement capability, option index (as string) or plan.
kindstring: rationale, tradeoff, warningyes
textstringyes

FieldError

Fields of FieldError
FieldTypeRequiredDescription
pointerstringyesJSON Pointer fragment of the offending field in the request body (#/slug) or the query parameter name (#/limit).
codestringyesShort reason such as required, invalid_format, out_of_range, too_long, unknown_field, not_allowed.
messagestringyes

FileEntry

Fields of FileEntry
FieldTypeRequiredDescription
pathstringyes
size_bytesintegeryes
sha256stringyes
content_typestringyes
previewbooleanyesVisible and downloadable by everyone even when the item is paid.

FileInput

Fields of FileInput
FieldTypeRequiredDescription
pathstringyesRelative path with / separators. No leading /, no .. segments, no backslashes or NUL.
contentstringyesUTF-8 text or base64, per encoding. At most 512 KiB decoded.
encodingstring: utf8, base64noDefault "utf8".
content_typestringno
previewbooleannoDefault false.

Health

Fields of Health
FieldTypeRequiredDescription
statusstring: ok, degraded, downyes
timeTimestampyes
versionstringyes
componentsmap of string: ok, degraded, downyes

InstallDescriptor

Fields of InstallDescriptor
FieldTypeRequiredDescription
objectstring: install_descriptoryes
itemItemRefyesCanonical item address owner/slug.
item_idstringyes
kindItemKindyesKinds that can be published and sold on ReuseForge.
versionstringyes
targetInstallTargetyesWhere an item is installed. generic extracts into ./reuseforge/<owner>/<slug>/. mcp-json produces a .mcp.json entry for mcp_server items.
content_hashContentHashyesSHA-256 over the text made of one line <sha256 of file bytes> <path> per file (two spaces, \n after each line), files sorted by path in UTF-8 byte order. Identical to the output of sha256sum over the files, so it can be recomputed with standard tools.
licensestringyes
price_centsintegeryes
currencyCurrencyyesISO 4217 code. Only USD in v1.
entitlementobjectyes
entitlement.requiredbooleanyesTrue when the item is paid.
entitlement.grantedbooleanyes
entitlement.reasonstring: free, owner, org_member, purchased, not_purchasedyes
entitlement.order_idstring or nullno
bundle_urlstring (uri)yesWhere to download the file contents (get_version_bundle).
filesarray of objectyesFiles to write. path is relative to the project root (or to the home directory when it starts with ~/), source_path names the file inside the bundle.
files[].pathstringyes
files[].source_pathstringyes
files[].sha256stringyes
files[].size_bytesintegeryes
files[].modestringyes
config_patchesarray of objectyesEdits to existing config files. json and toml deep-merge merge into the file (existing differing values are never overwritten silently). markdown_block upserts content between <!-- reuseforge:<block_id> begin/end --> markers.
config_patches[].pathstringyes
config_patches[].formatstring: json, toml, markdown_blockyes
config_patches[].mergeobjectno
config_patches[].block_idstringno
config_patches[].contentstringno
commandsarray of objectyesSuggested shell commands. Clients show them and never run them unless the user passes an explicit flag.
commands[].descriptionstringyes
commands[].commandstringyes
commands[].runstring: never, promptyes
lock_entryLockEntryyesOne package entry of reuseforge.lock (full schema in api/schemas/reuseforge.lock.schema.json).
notesarray of stringno
warningsarray of stringno

InstallTarget

Where an item is installed. generic extracts into ./reuseforge/<owner>/<slug>/. mcp-json produces a .mcp.json entry for mcp_server items.

One of: generic, claude-code, cursor, codex, mcp-json

Item

Fields of Item
FieldTypeRequiredDescription
idstringyes
objectstring: itemyes
ownerAccountRefyes
slugstringyes
full_nameItemRefyesCanonical item address owner/slug.
kindItemKindyesKinds that can be published and sold on ReuseForge.
titlestringyes
summarystringyes
readmestringnoMarkdown. Only returned by get_item and create_item.
visibilitystring: public, unlisted, privateyes
statusstring: draft, active, archived, retractedyes
licensestringyesSPDX identifier, or Commercial-Single-Project, Proprietary, UNKNOWN.
pricing_modelstring: free, fixed, pwywyesFor pwyw (pay what you want) price_cents is the minimum.
price_centsintegeryes
currencyCurrencyyesISO 4217 code. Only USD in v1.
sourceItemSourceno
homepage_urlstringno
html_urlstring (uri)no
capabilitiesarray of stringyesPlanner taxonomy ids.
tagsarray of stringyesSame list as keywords.
keywordsarray of stringnoThe item's tags (the field Claude Code documents).
latest_versionstring or nullyes
verificationnull or VerificationSummaryno
statsobjectyes
stats.starsintegeryes
stats.downloadsintegeryes
stats.reviewsintegeryes
stats.salesintegeryes
signalsSignalsyesNumeric quality and risk signals shared by hosted items and external candidates. All keys are optional and unknown keys must be tolerated.
ratingnumber or nullyesAverage of verified-buyer ratings, one decimal.
rating_countintegeryes
demobooleannoSeeded demonstration listing.
forked_fromnull or ItemRefno
project_idstring or nullnoCrowdfunded project whose unit holders share this item's revenue.
viewerobjectnoPresent for signed-in callers on get_item.
viewer.starredbooleanno
viewer.can_editbooleanno
viewer.entitledbooleannoTrue for free items, owners, and buyers with a delivered or released order.
created_atTimestampyes
updated_atTimestampyes

ItemCreate

Fields of ItemCreate
FieldTypeRequiredDescription
ownerstringnoHandle of an organization you can write for. Defaults to you.
slugstringyesLowercase letters, digits, dots, underscores and hyphens; starts and ends with a letter or digit.
kindItemKindyesKinds that can be published and sold on ReuseForge.
titlestringyes
summarystringno
readmestringno
visibilitystring: public, unlisted, privatenoDefault "public".
licensestringnoDefault "UNKNOWN".
pricing_modelstring: free, fixed, pwywnoDefault "free".
price_centsintegernoDefault 0.
capabilitiesarray of stringno
tagsarray of stringno
homepage_urlstringno
sourceItemSourceno
forked_fromItemRefnoCanonical item address owner/slug.

ItemKind

Kinds that can be published and sold on ReuseForge.

One of: repo, skill, harness, mcp_server, model, dataset, prompt, template

ItemPage

Fields of ItemPage
FieldTypeRequiredDescription
dataarray of Itemyes
next_cursorstring or nullyesPass as cursor to get the next page. Null on the last page.
has_morebooleanyes
totalintegernoTotal matches when cheap to compute (search). May be an estimate.

ItemPublishedEvent

Fields of ItemPublishedEvent
FieldTypeRequiredDescription
idstringyes
objectstring: eventyes
typeconst "item.published"yes
api_versionstring: 1yes
created_atTimestampyes
accountstringyesHandle of the account the delivery is for.
dataobjectyes
data.objectItemno

ItemRef

Canonical item address owner/slug.

Type: string

ItemRetractedEvent

Fields of ItemRetractedEvent
FieldTypeRequiredDescription
idstringyes
objectstring: eventyes
typeconst "item.retracted"yes
api_versionstring: 1yes
created_atTimestampyes
accountstringyesHandle of the account the delivery is for.
dataobjectyes
data.objectobjectno

ItemSort

One of: relevance, trending, stars, downloads, updated, newest, rating, price_asc, price_desc

ItemSource

Fields of ItemSource
FieldTypeRequiredDescription
providerstringnomanual, github, huggingface, mcp-registry, arxiv, npm, pypi.
urlstringno
refstringno

ItemStats

Fields of ItemStats
FieldTypeRequiredDescription
itemItemRefyesCanonical item address owner/slug.
totalsobjectyes
totals.viewsintegeryes
totals.downloadsintegeryes
totals.starsintegeryes
totals.reviewsintegeryes
totals.salesintegeryes
totals.revenue_centsintegernoOwners and organization admins only; omitted when the payments ledger has no figure for the item.
daysarray of objectnoOwners only. One entry per UTC day, oldest first.
days[].daystring (date)yes
days[].viewsintegeryes
days[].downloadsintegeryes
days[].starsintegeryes

ItemUpdate

JSON Merge Patch style. Omitted fields are unchanged; present fields replace the stored value. null is not accepted; send an empty string (empty array for tags and capabilities) to clear a field.

Fields of ItemUpdate
FieldTypeRequiredDescription
titlestringno
summarystringno
readmestringno
visibilitystring: public, unlisted, privateno
statusstring: draft, active, archivedno
licensestringno
pricing_modelstring: free, fixed, pwywno
price_centsintegerno
capabilitiesarray of stringno
tagsarray of stringno
homepage_urlstringno
sourceItemSourceno

ItemUpdatedEvent

Fields of ItemUpdatedEvent
FieldTypeRequiredDescription
idstringyes
objectstring: eventyes
typeconst "item.updated"yes
api_versionstring: 1yes
created_atTimestampyes
accountstringyesHandle of the account the delivery is for.
dataobjectyes
data.objectItemno

ItemVersion

Fields of ItemVersion
FieldTypeRequiredDescription
idstringyes
objectstring: item_versionyes
itemItemRefyesCanonical item address owner/slug.
item_idstringyes
versionstringyes
changelogstringyes
content_hashContentHashyesSHA-256 over the text made of one line <sha256 of file bytes> <path> per file (two spaces, \n after each line), files sorted by path in UTF-8 byte order. Identical to the output of sha256sum over the files, so it can be recomputed with standard tools.
size_bytesintegeryes
file_countintegeryes
filesarray of FileEntrynoOnly on get_version.
dependenciesarray of Dependencyyes
yankedbooleanyes
yanked_reasonstring or nullno
prereleasebooleanyes
archive_sha256string or nullnoSHA-256 of the plain ZIP from get_version_archive (the value of its X-Content-SHA256 header). null until the archive has been built once, and always null for versions of paid items. The claude-plugin layout has its own digest (listed in the marketplace).
manifestobject or nullnoThe reuseforge.json manifest submitted with the version, if any.
verificationVerificationno
created_byAccountRefno
created_atTimestampyes

ItemVersionPage

Fields of ItemVersionPage
FieldTypeRequiredDescription
dataarray of ItemVersionyes
next_cursorstring or nullyesPass as cursor to get the next page. Null on the last page.
has_morebooleanyes
totalintegernoTotal matches when cheap to compute (search). May be an estimate.

ItemVersionPublishedEvent

Fields of ItemVersionPublishedEvent
FieldTypeRequiredDescription
idstringyes
objectstring: eventyes
typeconst "item.version.published"yes
api_versionstring: 1yes
created_atTimestampyes
accountstringyesHandle of the account the delivery is for.
dataobjectyes
data.objectItemVersionno

LedgerEvent

A signed, content-addressed ledger event (Ed25519). id is the SHA-256 of the canonical JSON of {body, sig}. Field formats follow the Python reference implementation (repoblock/ledger.py), including its price_usd decimals inside body.data: ledger payloads are not part of the money convention.

Fields of LedgerEvent
FieldTypeRequiredDescription
idstringyes
bodyobjectyes
body.kindstringyesFor example block.publish, block.retract, block.attest, review, project.create.
body.authorstringyesPublic id rb1<base64url> of the signing identity.
body.dataobjectyes
body.lamportintegeryes
body.parentsarray of stringyes
body.tsintegeryesUnix seconds.
sigstringyesbase64url Ed25519 signature over the canonical JSON of body.

LedgerEventPage

Fields of LedgerEventPage
FieldTypeRequiredDescription
dataarray of LedgerEventyes
next_cursorstring or nullyesPass as cursor to get the next page. Null on the last page.
has_morebooleanyes
totalintegernoTotal matches when cheap to compute (search). May be an estimate.

LedgerEventsPush

Fields of LedgerEventsPush
FieldTypeRequiredDescription
eventsarray of LedgerEventyes

LedgerPushResult

Fields of LedgerPushResult
FieldTypeRequiredDescription
addedintegeryes
duplicatesintegeryes
rejectedarray of objectyes
rejected[].idstringyes
rejected[].codeErrorCodeyesStable, machine-readable error identifiers. New codes may be added in minor releases; branch on code, never on title or detail.
rejected[].messagestringyes

Schemas LockEntry to PayoutKind

LockEntry

One package entry of reuseforge.lock (full schema in api/schemas/reuseforge.lock.schema.json).

Fields of LockEntry
FieldTypeRequiredDescription
nameItemRefyesCanonical item address owner/slug.
idstringyes
versionstringyes
kindItemKindyesKinds that can be published and sold on ReuseForge.
targetInstallTargetyesWhere an item is installed. generic extracts into ./reuseforge/<owner>/<slug>/. mcp-json produces a .mcp.json entry for mcp_server items.
content_hashContentHashyesSHA-256 over the text made of one line <sha256 of file bytes> <path> per file (two spaces, \n after each line), files sorted by path in UTF-8 byte order. Identical to the output of sha256sum over the files, so it can be recomputed with standard tools.
licensestringyes
sourcestringyesreuseforge or the origin URL of an external block.
order_idstring or nullno
price_paid_centsintegerno
filesarray of LockFileyes

LockFile

Fields of LockFile
FieldTypeRequiredDescription
pathstringyes
sha256stringyes

McpConfig

Fields of McpConfig
FieldTypeRequiredDescription
mcpServersmap of objectyesDrop-in .mcp.json content. Key name is camelCase because the file format requires it.
serversarray of objectyes
servers[].namestringyes
servers[].purposestringyes
servers[].oauthbooleanyes
servers[].verifiedbooleanyesFalse when the URL or tool name was not confirmed against the live server.
servers[].token_envstring or nullno
capabilitiesarray of stringyes

Me

Fields of Me
FieldTypeRequiredDescription
idstringyes
objectstring: accountyes
typestring: useryes
handlestringyes
display_namestringyes
avatar_urlstringno
emailstring (email)no
email_verifiedbooleanyes
rolestring: user, adminyes
created_atTimestampyes
authobjectyes
auth.viastring: token, sessionyes
auth.scopesarray of Scopeyes
auth.token_idstring or nullno
auth.spend_limit_centsinteger or nullno
auth.spent_centsintegerno
orgsarray of objectyes
orgs[].accountAccountRefyes
orgs[].rolestring: owner, admin, write, readyes

Milestone

Fields of Milestone
FieldTypeRequiredDescription
indexintegeryes
namestringyes
bpsintegeryes
amount_centsintegeryes
statestring: pending, submitted, approved, rejectedyes
evidencestring or nullno
submitted_bynull or AccountRefno
submitted_atstring (date-time) or nullno
decided_atstring (date-time) or nullno
submissionsintegernoNumber of times it was submitted (at most 3).
votesobjectyesWeights are pledge amounts in cents, so transferring units cannot double-count a vote.
votes.approve_weightintegeryes
votes.reject_weightintegeryes
votes.total_weightintegeryes

NextAction

What a client or agent should do next to progress the order.

Fields of NextAction
FieldTypeRequiredDescription
typestring: send_payment, sign_transaction, review_delivery, waityes
descriptionstringyes
chain_idintegerno
tostringno
datastring or nullno
uristringno

OpenApiDocument

Fields of OpenApiDocument
FieldTypeRequiredDescription
openapistringyes
infoobjectyes

Order

Fields of Order
FieldTypeRequiredDescription
idstringyes
objectstring: orderyes
stateOrderStateyes
buyerAccountRefyes
itemsarray of OrderItemyes
subtotal_centsintegeryesSum of item prices.
fee_bpsintegeryesPlatform fee rate snapshotted at creation.
fee_centsintegeryesSum of item fees. Deducted from sellers' proceeds, not added to the buyer's price.
total_centsintegeryesWhat the buyer pays (equals subtotal_cents).
currencyCurrencyyesISO 4217 code. Only USD in v1.
paymentPaymentyesRail-agnostic payment instructions and status.
plan_idstring or nullno
accept_window_secondsintegerno
deliver_window_secondsintegerno
funded_atstring (date-time) or nullno
settled_atstring (date-time) or nullno
payoutsarray of Payoutno
next_actionsarray of NextActionno
created_atTimestampyes
updated_atTimestampyes

OrderCreate

Give either plan_id or items.

One of: any or any

OrderCreatedEvent

Fields of OrderCreatedEvent
FieldTypeRequiredDescription
idstringyes
objectstring: eventyes
typeconst "order.created"yes
api_versionstring: 1yes
created_atTimestampyes
accountstringyesHandle of the account the delivery is for.
dataobjectyes
data.objectOrderno

OrderDeliveredEvent

Fields of OrderDeliveredEvent
FieldTypeRequiredDescription
idstringyes
objectstring: eventyes
typeconst "order.delivered"yes
api_versionstring: 1yes
created_atTimestampyes
accountstringyesHandle of the account the delivery is for.
dataobjectyes
data.objectOrderno

OrderDisputedEvent

Fields of OrderDisputedEvent
FieldTypeRequiredDescription
idstringyes
objectstring: eventyes
typeconst "order.disputed"yes
api_versionstring: 1yes
created_atTimestampyes
accountstringyesHandle of the account the delivery is for.
dataobjectyes
data.objectOrderno

OrderFundedEvent

Fields of OrderFundedEvent
FieldTypeRequiredDescription
idstringyes
objectstring: eventyes
typeconst "order.funded"yes
api_versionstring: 1yes
created_atTimestampyes
accountstringyesHandle of the account the delivery is for.
dataobjectyes
data.objectOrderno

OrderHint

Machine-actionable instructions that turn a 402 into a purchase.

Fields of OrderHint
FieldTypeRequiredDescription
reasonstring: item_not_purchased, order_not_funded, order_refundedyes
total_centsintegeryes
currencyCurrencyyesISO 4217 code. Only USD in v1.
itemsarray of objectyes
items[].itemItemRefyesCanonical item address owner/slug.
items[].item_idstringyes
items[].versionstringno
items[].price_centsintegeryes
order_idstring or nullnoExisting unpaid order that would unlock the item, if any.
create_orderobjectyes
create_order.methodstring: POSTyes
create_order.hrefstringyes
create_order.bodyobjectyes

OrderItem

Fields of OrderItem
FieldTypeRequiredDescription
item_idstringyes
itemItemRefyesCanonical item address owner/slug.
titlestringyes
versionstringyes
sellerAccountRefyes
stateOrderItemStateyes
price_centsintegeryes
fee_centsintegeryesPlatform fee on this item. Zero when refunded.
seller_amount_centsintegeryesWhat the seller receives on release (price minus fee).
project_idstring or nullno
deliverynull or objectno
deliver_bystring (date-time) or nullno
accept_bystring (date-time) or nullnoAfter this moment silence releases the funds.
disputenull or objectno
resolutionnull or objectno
release_reasonstring: accepted, window_expired, resolved, nullno

OrderItemInput

Fields of OrderItemInput
FieldTypeRequiredDescription
itemItemRef or stringyesAddress owner/slug or id.
versionstringnoExact version to buy. Defaults to the latest at order time.
amount_centsintegernoPrice for pwyw items (at least the minimum).

OrderItemState

One of: pending, delivered, released, disputed, resolved, refunded

OrderPage

Fields of OrderPage
FieldTypeRequiredDescription
dataarray of Orderyes
next_cursorstring or nullyesPass as cursor to get the next page. Null on the last page.
has_morebooleanyes
totalintegernoTotal matches when cheap to compute (search). May be an estimate.

OrderRefundedEvent

Fields of OrderRefundedEvent
FieldTypeRequiredDescription
idstringyes
objectstring: eventyes
typeconst "order.refunded"yes
api_versionstring: 1yes
created_atTimestampyes
accountstringyesHandle of the account the delivery is for.
dataobjectyes
data.objectOrderno

OrderReleasedEvent

Fields of OrderReleasedEvent
FieldTypeRequiredDescription
idstringyes
objectstring: eventyes
typeconst "order.released"yes
api_versionstring: 1yes
created_atTimestampyes
accountstringyesHandle of the account the delivery is for.
dataobjectyes
data.objectOrderno

OrderState

One of: awaiting_payment, funded, settled, expired, cancelled

Page

Cursor page. Every collection endpoint returns this shape (with data narrowed to the item type).

Fields of Page
FieldTypeRequiredDescription
dataarray of anyyes
next_cursorstring or nullyesPass as cursor to get the next page. Null on the last page.
has_morebooleanyes
totalintegernoTotal matches when cheap to compute (search). May be an estimate.

PaidItem

Fields of PaidItem
FieldTypeRequiredDescription
itemItemRefyesCanonical item address owner/slug.
item_idstringyes
namestringyes
versionstringyes
sellerstringyes
price_centsintegeryes
project_idstring or nullno

PayOrder

Fields of PayOrder
FieldTypeRequiredDescription
tx_refstringnoTransaction hash. Required on real rails, ignored on simulated.

Payment

Rail-agnostic payment instructions and status.

Fields of Payment
FieldTypeRequiredDescription
railPaymentRailyesOpen set. Known: simulated, base-usdc, base-usdt, btc. Python nodes also use usdc-base and usdt-ethereum.
networkstring or nullnoChain or network id, for example base-sepolia, base, testnet4.
assetstringnoUSDC, USDT, BTC or USD (simulated).
statusstring: awaiting_payment, pending_confirmations, confirmed, failed, expired, refundedyes
amount_centsintegeryes
amount_atomicstringnoAmount in the asset's smallest unit (token base units or satoshis) as a decimal string.
addressstringyesEscrow contract or deposit address the buyer pays.
memostring or nullnoReference to include when the rail supports one.
uristring or nullnoWallet link (EIP-681 ethereum: or BIP-21 bitcoin:).
tx_refstring or nullnoTransaction hash or simulated reference that funded the order.
confirmationsintegerno
required_confirmationsintegerno
expires_atstring (date-time) or nullnoEnd of the price quote.
refund_addressstring or nullno
simulatedbooleannoTrue when no real funds move.

PaymentRail

Open set. Known: simulated, base-usdc, base-usdt, btc. Python nodes also use usdc-base and usdt-ethereum.

Type: string

Payout

Fields of Payout
FieldTypeRequiredDescription
idstringyes
objectstring: payoutyes
order_idstringyes
item_idstring or nullno
kindPayoutKindyes
recipientnull or AccountRefno
addressstringyes
railPaymentRailyesOpen set. Known: simulated, base-usdc, base-usdt, btc. Python nodes also use usdc-base and usdt-ethereum.
amount_centsintegeryes
currencyCurrencyyesISO 4217 code. Only USD in v1.
statestring: pending, sent, failedyes
tx_refstring or nullno
sent_atstring (date-time) or nullno
project_idstring or nullno

PayoutKind

One of: seller, platform_fee, refund, revenue_share

Schemas PayoutPage to StarState

PayoutPage

Fields of PayoutPage
FieldTypeRequiredDescription
dataarray of Payoutyes
next_cursorstring or nullyesPass as cursor to get the next page. Null on the last page.
has_morebooleanyes
totalintegernoTotal matches when cheap to compute (search). May be an estimate.

PayoutSentEvent

Fields of PayoutSentEvent
FieldTypeRequiredDescription
idstringyes
objectstring: eventyes
typeconst "payout.sent"yes
api_versionstring: 1yes
created_atTimestampyes
accountstringyesHandle of the account the delivery is for.
dataobjectyes
data.objectPayoutno

PingEvent

Fields of PingEvent
FieldTypeRequiredDescription
idstringyes
objectstring: eventyes
typeconst "ping"yes
api_versionstring: 1yes
created_atTimestampyes
accountstringyesHandle of the account the delivery is for.
dataobjectyes
data.objectobjectno

Plan

Fields of Plan
FieldTypeRequiredDescription
idstringyesThe plan_id used by other operations. Valid 24 hours.
objectstring: planyes
goalstringyes
budget_centsinteger or nullyes
currencyCurrencyyesISO 4217 code. Only USD in v1.
created_atTimestampyes
expires_atTimestampyes
requirementsarray of Requirementyes
pareto_frontarray of PlanOptionyes
recommendednull or PlanOptionyes
recommended_indexinteger or nullyes
explanationsarray of Explanationyes
sourcesarray of SourceStatusyes
notestring or nullnoSet when nothing fits the budget.
partialbooleanyesTrue when at least one connector failed.

PlanOption

Fields of PlanOption
FieldTypeRequiredDescription
indexintegeryesPosition in pareto_front.
objectivesobjectyes
objectives.qualitynumberyesMean over requirements. Higher is better.
objectives.cost_centsintegeryesPaid items (each once) plus estimated build cost. Lower is better.
objectives.risknumberyesMean over requirements. Lower is better.
paid_total_centsintegeryes
build_total_centsintegeryes
stepsarray of PlanStepyes
paid_itemsarray of PaidItemyes

PlanRequest

Fields of PlanRequest
FieldTypeRequiredDescription
goalstringyes
budget_centsinteger or nullnoNull or omitted means no budget.
onlinebooleannoAlso query external connectors. Default false.
connectorsarray of stringnoRestrict external discovery.
llmbooleannoDecompose the goal with an LLM instead of the keyword taxonomy. Default false.
per_requirementintegernoDefault 4.
constraintsobjectno
constraints.exclude_paidbooleannoDefault false.
constraints.allowed_licensesarray of stringno
constraints.max_risknumberno
constraints.kindsarray of BlockKindno
constraints.deny_licensesarray of stringnoLicence ids to refuse. Case-insensitive; a trailing * matches a prefix (CC-BY-NC*).
constraints.prefer_freebooleannoRecommend the best plan without paid items when it scores within 0.10 of the overall best. Default false.
constraints.require_verifiedbooleannoOnly reuse blocks from sellers with a verified purchase or a verified badge, and from external sources. Default false.
constraints.max_options_per_requirementintegernoOverrides per_requirement for this plan.

PlanStep

Fields of PlanStep
FieldTypeRequiredDescription
requirementstringyes
actionstring: use, buildyes
candidatenull or Candidateyes
qualitynumberyes
cost_centsintegeryesPrice of the candidate, or the estimated agent-token cost of building.
risknumberyes
blueprintsarray of objectno
blueprints[].titlestringyes
blueprints[].urlstringyes

Portfolio

Fields of Portfolio
FieldTypeRequiredDescription
holderAccountRefyes
currencyCurrencyyesISO 4217 code. Only USD in v1.
invested_centsintegeryes
dividends_centsintegeryes
net_centsintegeryes
positionsarray of objectyes
positions[].project_idstringyes
positions[].titlestringyes
positions[].stateProjectStateyes
positions[].invested_centsintegeryes
positions[].unitsintegeryes
positions[].ownership_bpsintegeryes
positions[].dividends_centsintegeryes
positions[].net_centsintegeryes

Problem

RFC 9457 problem details, served as application/problem+json. Extension members depend on code.

Fields of Problem
FieldTypeRequiredDescription
typestring (uri-reference)yesDocumentation URL for the error: https://reuseforge.com/docs/api/errors/<code>.
titlestringyesShort summary that is stable per code.
statusintegeryes
detailstringnoHuman-readable explanation of this occurrence. Do not parse it.
instancestringnoPath of the request that failed.
codeErrorCodeyesStable, machine-readable error identifiers. New codes may be added in minor releases; branch on code, never on title or detail.
request_idstringyes
errorsarray of FieldErrornoPer-field problems for validation_failed, invalid_parameter and invalid_request.
retry_afterintegernoSeconds to wait. Mirrors Retry-After. Present for rate_limited, unavailable, upstream_error, idempotency_in_progress.
required_scopesarray of stringnoPresent for insufficient_scope.
order_hintOrderHintnoMachine-actionable instructions that turn a 402 into a purchase.
current_etagstringnoPresent for precondition_failed.
statestringnoPresent for invalid_state: the state that blocked the call.
limit_centsintegernoPresent for spend_limit_exceeded: the token's limit.
spent_centsintegernoPresent for spend_limit_exceeded: already spent.

Project

Fields of Project
FieldTypeRequiredDescription
idstringyes
objectstring: projectyes
titlestringyes
specstringyes
deliverablesarray of stringyes
proposerAccountRefyes
stateProjectStateyes
goal_centsintegeryes
raised_centsintegeryes
pending_centsintegernoPledges awaiting confirmation.
progressnumberyes
currencyCurrencyyesISO 4217 code. Only USD in v1.
created_atTimestampyes
deadline_atTimestampyes
funded_atstring (date-time) or nullno
developersarray of Developeryes
milestonesarray of Milestoneyes
cap_tablearray of objectyes
cap_table[].holderAccountRefyes
cap_table[].unitsintegeryes
cap_table[].ownership_bpsintegeryes
total_unitsintegeryesFixed supply of revenue units.
dividends_centsintegernoRevenue distributed to unit holders so far.
productnull or ItemRefno
share_tokenobject or nullnoOn-chain revenue-share token when the EVM rail is used.

ProjectCreate

Fields of ProjectCreate
FieldTypeRequiredDescription
titlestringyes
specstringno
deliverablesarray of stringyes
goal_centsintegeryes
deadline_daysnumbernoDefault 30.
developersarray of objectyes
developers[].accountstringyesHandle or account id of the developer.
developers[].budget_bpsintegeryes
developers[].equity_bpsintegeryes
milestonesarray of objectyes
milestones[].namestringyes
milestones[].bpsintegeryes

ProjectFundedEvent

Fields of ProjectFundedEvent
FieldTypeRequiredDescription
idstringyes
objectstring: eventyes
typeconst "project.funded"yes
api_versionstring: 1yes
created_atTimestampyes
accountstringyesHandle of the account the delivery is for.
dataobjectyes
data.objectProjectno

ProjectMilestoneApprovedEvent

Fields of ProjectMilestoneApprovedEvent
FieldTypeRequiredDescription
idstringyes
objectstring: eventyes
typeconst "project.milestone.approved"yes
api_versionstring: 1yes
created_atTimestampyes
accountstringyesHandle of the account the delivery is for.
dataobjectyes
data.objectMilestoneyes
data.project_idstringyes

ProjectPage

Fields of ProjectPage
FieldTypeRequiredDescription
dataarray of Projectyes
next_cursorstring or nullyesPass as cursor to get the next page. Null on the last page.
has_morebooleanyes
totalintegernoTotal matches when cheap to compute (search). May be an estimate.

ProjectState

One of: open, funded, completed, failed, aborted

RateLimit

Fields of RateLimit
FieldTypeRequiredDescription
tierstring: read, write, plan, discover, paymentsyes
limitintegeryes
remainingintegeryes
reset_secondsintegeryes
window_secondsintegeryes
policystringyes
daily_limitintegerno
daily_remainingintegerno

RateLimitStatus

Fields of RateLimitStatus
FieldTypeRequiredDescription
principalstring: anonymous, token, sessionyes
tiersarray of RateLimityes

RefundItem

Fields of RefundItem
FieldTypeRequiredDescription
notestringno

Requirement

Fields of Requirement
FieldTypeRequiredDescription
capabilitystringyesPlanner taxonomy id or free kebab-case tag.
descriptionstringyes
keywordsarray of stringyes

ResolveDispute

Fields of ResolveDispute
FieldTypeRequiredDescription
seller_bpsintegeryes
notestringyes

Review

Fields of Review
FieldTypeRequiredDescription
idstringyes
objectstring: reviewyes
itemItemRefyesCanonical item address owner/slug.
authorAccountRefyes
ratingintegeryes
titlestringyes
bodystringyes
verified_purchasebooleanyes
basisstring: purchase, install, noneyesnone only appears on reviews written in the web app before verification existed.
created_atTimestampyes

ReviewCreate

Fields of ReviewCreate
FieldTypeRequiredDescription
ratingintegeryes
titlestringno
bodystringno

ReviewCreatedEvent

Fields of ReviewCreatedEvent
FieldTypeRequiredDescription
idstringyes
objectstring: eventyes
typeconst "review.created"yes
api_versionstring: 1yes
created_atTimestampyes
accountstringyesHandle of the account the delivery is for.
dataobjectyes
data.objectReviewno

ReviewPage

Fields of ReviewPage
FieldTypeRequiredDescription
dataarray of Reviewyes
next_cursorstring or nullyesPass as cursor to get the next page. Null on the last page.
has_morebooleanyes
totalintegernoTotal matches when cheap to compute (search). May be an estimate.

Scope

One of: items:read, items:write, items:publish, orders:read, orders:create, orders:pay, orders:accept, projects:read, projects:write, webhooks:manage, tokens:manage, admin

Signals

Numeric quality and risk signals shared by hosted items and external candidates. All keys are optional and unknown keys must be tolerated.

Fields of Signals
FieldTypeRequiredDescription
starsnumberno
downloadsnumberno
citationsnumberno
tests_pass_ratenumberno
forksnumberno
open_issuesnumberno
dependentsnumberno
vulns_totalnumberno
vulns_critical_highnumberno
scorecardnumbernoOpenSSF Scorecard aggregate.
archivednumber: 0, 1no
days_since_updatenumberno

SourceStatus

Fields of SourceStatus
FieldTypeRequiredDescription
connectorstringyes
statusstring: ok, error, skippedyes
countintegeryes
duration_msintegerno
errorstringno

StarState

Fields of StarState
FieldTypeRequiredDescription
itemItemRefyesCanonical item address owner/slug.
starredbooleanyes
stars_countintegeryes

Schemas Timestamp to WebhookWithSecret

Timestamp

Type: string (date-time)

Token

Fields of Token
FieldTypeRequiredDescription
idstringyes
objectstring: tokenyes
namestringyes
prefixstringyesFirst characters of the secret, safe to show.
scopesarray of Scopeyes
spend_limit_centsinteger or nullyesLifetime cap on money this token may commit through pay_order and back_project. Null means unlimited.
spent_centsintegeryes
created_atTimestampyes
last_used_atstring (date-time) or nullyes
expires_atstring (date-time) or nullyes

TokenCreate

Fields of TokenCreate
FieldTypeRequiredDescription
namestringyes
scopesarray of Scopeyes
expires_in_daysintegernoDefault 90. A token with the admin scope defaults to 7 days and lasts at most 30; a longer request answers 422 validation_failed.
spend_limit_centsinteger or nullnoDefault 5000 when orders:pay is requested (the only scope that can commit money). Null (unlimited) is only honoured for interactive sessions.

TokenPage

Fields of TokenPage
FieldTypeRequiredDescription
dataarray of Tokenyes
next_cursorstring or nullyesPass as cursor to get the next page. Null on the last page.
has_morebooleanyes
totalintegernoTotal matches when cheap to compute (search). May be an estimate.

TokenWithSecret

Fields of TokenWithSecret
FieldTypeRequiredDescription
idstringyes
objectstring: tokenyes
namestringyes
prefixstringyesFirst characters of the secret, safe to show.
scopesarray of Scopeyes
spend_limit_centsinteger or nullyesLifetime cap on money this token may commit through pay_order and back_project. Null means unlimited.
spent_centsintegeryes
created_atTimestampyes
last_used_atstring (date-time) or nullyes
expires_atstring (date-time) or nullyes
tokenstringyesThe secret. Shown once.

TransferUnits

Fields of TransferUnits
FieldTypeRequiredDescription
tostringyesHandle or account id of the recipient.
unitsintegeryes

Verification

Fields of Verification
FieldTypeRequiredDescription
idstringyes
objectstring: verificationyes
itemItemRefyesCanonical item address owner/slug.
versionstringyes
statestring: queued, running, passed, failed, erroryes
runnerstring: static-v1, platform, community, selleryesstatic-v1 is the in-API static checker (no publisher code is executed). platform, community and seller are attested test runs.
tests_totalinteger or nullnoTest cases attested by the runner; for static-v1 the number of static checks that ran.
tests_passedinteger or nullno
tests_pass_ratenumber or nullnoOnly set by runners that executed tests. Always null for static-v1.
summarystring or nullno
checksarray of objectnoPer-check results of a static run (absent for attested runs).
checks[].idstringyeshashes, limits, manifest, license, secrets, binaries, skill, mcp, readme.
checks[].statusstring: pass, warn, fail, skipyes
checks[].messagestringyes
checks[].pathstringnoThe file the finding is about, when there is one.
created_atTimestampyes
completed_atstring (date-time) or nullno

VerificationCompletedEvent

Fields of VerificationCompletedEvent
FieldTypeRequiredDescription
idstringyes
objectstring: eventyes
typeconst "verification.completed"yes
api_versionstring: 1yes
created_atTimestampyes
accountstringyesHandle of the account the delivery is for.
dataobjectyes
data.objectVerificationno

VerificationSummary

Fields of VerificationSummary
FieldTypeRequiredDescription
statestring: queued, running, passed, failed, erroryes
versionstringyes
tests_pass_ratenumber or nullno
verified_atstring (date-time) or nullno

VersionCreate

Fields of VersionCreate
FieldTypeRequiredDescription
versionstringyes
changelogstringno
filesarray of FileInputyes
dependenciesarray of Dependencyno
manifestobjectnoContents of reuseforge.json (schema: api/schemas/reuseforge.schema.json). Validated and stored.
content_hashContentHashnoSHA-256 over the text made of one line <sha256 of file bytes> <path> per file (two spaces, \n after each line), files sorted by path in UTF-8 byte order. Identical to the output of sha256sum over the files, so it can be recomputed with standard tools.

VersionUpdate

Fields of VersionUpdate
FieldTypeRequiredDescription
changelogstringno
yankedbooleanno
yanked_reasonstring or nullno

VoteAbort

Fields of VoteAbort
FieldTypeRequiredDescription
abortbooleanyes

VoteMilestone

Fields of VoteMilestone
FieldTypeRequiredDescription
approvebooleanyes

Webhook

Fields of Webhook
FieldTypeRequiredDescription
idstringyes
objectstring: webhookyes
urlstring (uri)yes
descriptionstringno
eventsarray of EventType or string: *yesSubscribed event types, or ["*"] for every type.
accountstringnoHandle of the account whose events are delivered.
statusstring: enabled, disabledyes
disabled_reasonstring: manual, consecutive_failures, ssrf_blocked, nullno
api_versionstringyesPayload version. Fixed at creation.
consecutive_failuresintegeryes
last_delivery_atstring (date-time) or nullno
last_success_atstring (date-time) or nullno
created_atTimestampyes
updated_atTimestampyes

WebhookCreate

Fields of WebhookCreate
FieldTypeRequiredDescription
urlstring (uri)yes
descriptionstringno
eventsarray of EventType or string: *yes
accountstringnoOrganization handle you administer. Defaults to you.

WebhookDelivery

Fields of WebhookDelivery
FieldTypeRequiredDescription
idstringyes
objectstring: webhook_deliveryyes
webhook_idstringyes
event_idstringyes
event_typestringyes
attemptintegeryes
statestring: pending, retrying, succeeded, failed, exhaustedyes
scheduled_atTimestampyes
delivered_atstring (date-time) or nullno
response_statusinteger or nullno
response_msinteger or nullno
response_excerptstring or nullno
errorstring or nullno
next_attempt_atstring (date-time) or nullno

WebhookDeliveryPage

Fields of WebhookDeliveryPage
FieldTypeRequiredDescription
dataarray of WebhookDeliveryyes
next_cursorstring or nullyesPass as cursor to get the next page. Null on the last page.
has_morebooleanyes
totalintegernoTotal matches when cheap to compute (search). May be an estimate.

WebhookPage

Fields of WebhookPage
FieldTypeRequiredDescription
dataarray of Webhookyes
next_cursorstring or nullyesPass as cursor to get the next page. Null on the last page.
has_morebooleanyes
totalintegernoTotal matches when cheap to compute (search). May be an estimate.

WebhookUpdate

Fields of WebhookUpdate
FieldTypeRequiredDescription
urlstring (uri)no
descriptionstringno
eventsarray of EventType or string: *no
statusstring: enabled, disabledno

WebhookWithSecret

Fields of WebhookWithSecret
FieldTypeRequiredDescription
idstringyes
objectstring: webhookyes
urlstring (uri)yes
descriptionstringno
eventsarray of EventType or string: *yesSubscribed event types, or ["*"] for every type.
accountstringnoHandle of the account whose events are delivered.
statusstring: enabled, disabledyes
disabled_reasonstring: manual, consecutive_failures, ssrf_blocked, nullno
api_versionstringyesPayload version. Fixed at creation.
consecutive_failuresintegeryes
last_delivery_atstring (date-time) or nullno
last_success_atstring (date-time) or nullno
created_atTimestampyes
updated_atTimestampyes
secretstringyesSigning secret. Shown once.
previous_secret_expires_atstring (date-time) or nullnoSet after rotation: until then deliveries carry two signatures.