Reference

API

Parka serves one authenticated endpoint. You name a capability and pass its payload. There is no resource tree to learn.

The endpoint

POST /v1/invoke takes a JSON object. The key in the Authorization header decides the workspace. A health check answers on GET /healthz on the same listener.

request
POST /v1/invoke
Authorization: Bearer trk_...
Content-Type: application/json

{
  "capability": "ticket6:readLedger",
  "program": "partner-2027",
  "relationship": "relationship:partner-2027:creator-1",
  "payload": {}
}

The envelope

These are the fields the handler reads. Everything a capability needs beyond them goes inside payload.

FieldWhat it does
capabilityThe capability id to run.
payloadA JSON object. The capability reads its own fields.
programProgram scope for the call.
relationshipPartner Relationship scope for the call.
subjectSubject scope for the call.
workspaceRefused when it differs from the key workspace.

Refusals

A refusal returns one machine readable code and no message. The same code comes back on the CLI and over MCP, so one name covers all three surfaces. The runtime maps 246 codes to a status.

response
HTTP/1.1 403 Forbidden
Content-Type: application/json

{ "error": "WORKSPACE_REFUSED" }

400 (95)

AMBIGUOUS_TEMPORAL_EVIDENCE, API_KEY_INVALID, API_KEY_PAYLOAD_INVALID, API_KEY_PEPPER_INVALID, API_KEY_PRINCIPAL_MISMATCH, APPROVAL_CLI_USAGE, APPROVAL_INPUT_INVALID, APPROVAL_SECRET_REFUSED, APPROVAL_TARGET_INVALID, BACKGROUND_JOB_INVALID, BARRIER_INVALID, BODY_INVALID_JSON, BODY_TOO_LARGE, CAMPAIGN_CREDENTIAL_REFUSED, CAMPAIGN_PAYLOAD_INVALID, CLAIM_LINKAGE_INVALID, CLICK_CONTEXT_INVALID, CLICK_PAYLOAD_INVALID, CLICK_SCOPE_INVALID, CLOSE_EVENT_ID_INVALID, CLOSE_INPUT_INVALID, COMMISSION_CAP_NOT_APPLIED, COMMISSION_OUT_OF_RANGE, CONTRACT_REFERENCE_BASIS_NEGATIVE, CONTRACT_REFERENCE_INPUT_INVALID, CONTRACT_REFERENCE_NO_CUSTOMER, CONTRACT_REFERENCE_OUT_OF_RANGE, CRISPY_EMBED_PAYLOAD_INVALID, CUSTOMER_ID_INVALID, ENVELOPE_INVALID, HELD_CLI_USAGE, INGESTED_AT_INVALID, INVALID_PROGRAM_POLICY, LINK_BASE_URL_MALFORMED, LINK_BASE_URL_MISSING, LINK_BASE_URL_NOT_HTTPS, LINK_TARGET_INVALID, LINK_TOKEN_MALFORMED, PARTNER_ACCESS_PAYLOAD_INVALID, PARTNER_GRANT_INVALID, PARTNER_GUARDRAIL_INVALID, PARTNER_OVERRIDE_CREDIT_REFUSED, PARTNER_OVERRIDE_FIELD_REFUSED, PARTNER_SCOPE_INVALID, PAYLOAD_INVALID, PAYMENT_FACT_DISCOUNT_EXCEEDS_SUBTOTAL, PAYMENT_FACT_TAX_EXCEEDS_PAID, PAYOUT_SELECTION_INVALID, QUERY_INVALID, RECONCILIATION_PAYLOAD_INVALID, RECONCILIATION_SCOPE_INVALID, REFERRAL_CODE_INVALID, REFERRAL_CODE_MALFORMED, REFERRAL_CODE_MISSING, REFERRAL_CODE_NOT_CARRIED, REFERRAL_CODE_SCOPE_INVALID, REFERRAL_PAYLOAD_INVALID, REFERRAL_SCOPE_INVALID, REPLAY_EVENT_ID_INVALID, RULEBOOK_APPROVAL_MODE_INVALID, RULEBOOK_CREDIT_PROGRAM_KIND_REQUIRED, RULEBOOK_CURRENCY_REQUIRED, RULEBOOK_MATURITY_DAYS_INVALID, RULEBOOK_PAYOUT_TERM_INVALID, RUNTIME_CONFIG_INVALID, RUNTIME_CONFIG_MISSING, RUNTIME_CURSOR_INVALID, STATEMENT_FORMAT_INVALID, STATEMENT_ID_INVALID, STATEMENT_PAYMENT_DATE_MISSING, STATEMENT_PERIOD_INVALID, STRIPE_CALL_INVALID, STRIPE_EVENT_INVALID, STRIPE_EVENT_NOT_LIVE, STRIPE_EVENT_SHAPE_UNSUPPORTED, STRIPE_EVENT_UNMAPPED, STRIPE_EVENT_VERSION_UNSUPPORTED, STRIPE_HTTP_ERROR, STRIPE_NETWORK_ERROR, STRIPE_RENDER_VERSION_MISMATCH, STRIPE_RESPONSE_INVALID, TAX_INTAKE_IDENTIFIER_REFUSED, TAX_INTAKE_INPUT_INVALID, TICKET4_PAYLOAD_INVALID, UNDETERMINED_DISCOUNT, UNDETERMINED_OUT_OF_BAND, UNDETERMINED_PAID_AT, UNDETERMINED_PROCESSING_FEE, UNDETERMINED_REFUND_LINKAGE, UNDETERMINED_REFUND_PRINCIPAL, UNDETERMINED_TAX_INCLUSION, UNRECOGNIZED_ISSUED_EVIDENCE, UNUSABLE_CUSTOMER_IDENTITY, WORKSPACE_INVALID, WORKSPACE_PAYLOAD_INVALID

401 (1)

AUTH_FAILED

403 (60)

ACCESS_REFUSED, API_KEY_ACCESS_REFUSED, API_KEY_HUMAN_REFUSED, APPROVAL_ACCESS_REFUSED, APPROVAL_CONSENT_PARTNER_REQUIRED, APPROVAL_HUMAN_REQUIRED, APPROVAL_NOT_REQUESTER, APPROVAL_OF_APPROVE_REFUSED, APPROVAL_PATH_MISSING, CAMPAIGN_ACCESS_DENIED, CAMPAIGN_SURFACE_NOT_ALLOWED, CLAIM_ROLE_REFUSED, CLICK_ACCESS_REFUSED, CLICK_STORE_ACCESS_REFUSED, CLOSE_HUMAN_REQUIRED, COMMISSION_NOT_WHOLE_MINOR_UNITS, COMMISSION_POLICY_MISSING, COMMISSION_TERMS_NOT_EFFECTIVE, CONTRACT_REFERENCE_NO_TERMS, CONTRACT_REFERENCE_NOT_WHOLE_MINOR_UNITS, CONTRACT_REFERENCE_RULE_UNSUPPORTED, CRISPY_EMBED_ACCESS_REFUSED, CRISPY_EMBED_SCOPE_REFUSED, CRISPY_FIXTURE_SCOPE_MISMATCH, ENVELOPE_SCOPE, HELD_LIST_REFUSED, LINK_SCOPE_MISMATCH, LINK_TOKEN_REVOKED, PARTNER_ACCESS_REFUSED, PARTNER_CAPABILITY_REFUSED, PARTNER_GRANT_REFUSED, PARTNER_OVERRIDE_NOT_CUSTOMER_REFERRAL, PARTNER_RATE_CAPPED, PROGRAM_SCOPE_REQUIRED, RECONCILIATION_ACCESS_REFUSED, RECONCILIATION_FAILED, RECONCILIATION_RED, REFERRAL_ACCESS_REFUSED, REFERRAL_CODE_OTHER_PROGRAM, REFERRAL_CODE_REVOKED, REFERRAL_STORE_ACCESS_REFUSED, REPLAY_HUMAN_REQUIRED, RUNTIME_CURSOR_ROLE_REFUSED, SCOPE_MISMATCH, SCOPE_REQUIRED, SELF_REFERRAL_REFUSED, SHADOW_HOLD, SHADOW_MODE_REQUIRED, STATEMENT_NOT_OWN_RELATIONSHIP, STATEMENT_PARTNER_READ_DISABLED, STRIPE_READ_EXCLUDED, STRIPE_REQUEST_REFUSED, STRIPE_WRITE_REFUSED, TAX_INTAKE_ACCESS_DENIED, TAX_INTAKE_SURFACE_NOT_ALLOWED, TICKET4_ACCESS_REFUSED, TICKET4_ACTIVATION_REFUSED, WORKSPACE_OPERATOR_POOL_REQUIRED, WORKSPACE_REFUSED, ZERO_WRITERS

404 (24)

API_KEY_NOT_FOUND, APPROVAL_NOT_FOUND, APPROVAL_OPERATOR_UNKNOWN, BACKGROUND_JOB_MISSING, CAMPAIGN_ADAPTER_NOT_FOUND, CAMPAIGN_NOT_FOUND, CAPABILITY_UNKNOWN, CLICK_LINK_MISSING, CLOSE_NOT_HELD, COMMISSION_ENTRY_NOT_FOUND, CONTRACT_REFERENCE_NO_PAYMENT_FACT, CRISPY_FIXTURE_NOT_FOUND, LINK_TOKEN_UNKNOWN, NOT_FOUND, PARTNER_GRANT_NOT_FOUND, PARTNER_GROUP_NOT_FOUND, PAYOUT_COMMISSION_NOT_FOUND, RECORD_NOT_FOUND, REFERRAL_CODE_UNKNOWN, REPLAY_EVENT_NOT_FOUND, REPLAY_NOT_HELD, RUNTIME_OPERATOR_UNKNOWN, TICKET4_NOT_FOUND, WORKSPACE_NOT_FOUND

409 (65)

API_KEY_CONFLICT, APPROVAL_IMMUTABLE_FIELD, APPROVAL_NOT_PENDING, APPROVAL_REQUEST_EXPIRED, APPROVAL_REQUESTS_UNAVAILABLE, BACKGROUND_JOB_EXISTS, BARRIER_LOCAL, BARRIER_TIMEOUT, CAMPAIGN_ADAPTER_EXISTS, CAMPAIGN_ADAPTER_MISMATCH, CAMPAIGN_EXISTS, CAMPAIGN_NOT_APPROVED, CAMPAIGN_NOT_PENDING, CARRIED_DEBT_NOT_PAID_EXTERNALLY, CARRIED_DEBT_OVER_RECOVERY, CARRIED_DEBT_RECOVERY_CURRENCY_MISMATCH, CARRIED_DEBT_RECOVERY_IN_FUTURE, CARRIED_DEBT_RECOVERY_REFERENCE_CONFLICT, CLICK_DUPLICATE, CLOCK_ORIGIN_MISSING, CLOSE_EVENT_LEDGERED, COMMISSION_ALREADY_APPROVED, COMMISSION_ALREADY_PAID, COMMISSION_ALREADY_REJECTED, COMMISSION_NOT_REJECTABLE, COMMISSION_REJECTED, COMMISSION_REQUALIFICATION_CONFLICT, CONTRACT_REFERENCE_CURRENCY_MISMATCH, CUSTOMER_IDENTITY_AMBIGUOUS, CUSTOMER_IDENTITY_UNMAPPED, CUTOVER_CONFLICT, CUTOVER_MISMATCH, LINK_REGISTRATION_CONFLICT, PARTNER_GRANT_CONFLICT, PARTNER_GROUP_EXISTS, PARTNER_OVERRIDE_VERSION_EXISTS, PAYOUT_AMOUNT_MISMATCH, PAYOUT_BEFORE_PRIOR_EVENT, PAYOUT_CURRENCY_MISMATCH, PAYOUT_LEDGER_INVARIANT, PAYOUT_LINE_NOT_PAYABLE, PAYOUT_LINE_NOTHING_OWED, PAYOUT_NOTHING_PAYABLE, PAYOUT_REFERENCE_CONFLICT, PRODUCTION_STORE_BINDING_MISMATCH, PRODUCTION_STORE_DUPLICATE, PRODUCTION_STORE_REGISTRY_SEALED, PRODUCTION_STORE_SET_MISMATCH, REFERRAL_CODE_AMBIGUOUS, REFERRAL_CODE_CONFLICT, REFERRER_ALREADY_BOUND, REFUND_FAILED_AFTER_REVERSAL, REFUND_NOT_SUCCEEDED, REJECT_INSTANT_IN_FUTURE, RULEBOOK_ORPHANED_OVERRIDE, RUNTIME_INGEST_REFUSED, RUNTIME_REPLAY_UNSUPPORTED, SOURCE_CLAIM_NOT_EXCLUSIVE, SOURCE_EVENT_ALREADY_OWNED, SOURCE_EVENT_REPLAY_CONFLICT, STATE_CONFLICT, STRIPE_CURSOR_EXPIRED, TICKET4_CONFLICT, UNREGISTERED_PRODUCTION_STORE, WORKSPACE_ALREADY_EXISTS

500 (1)

INTERNAL_ERROR

Capabilities on the api surface

92 capabilities declare the api surface. A row marked as a human gate refuses an agent and creates an approval request instead. A row that is not served is declared in the code and not exposed by the runtime yet.

Generated from shyftai/trumpet at cbc30f1 by scripts/gen-reference.mjs.

approvals

6 capabilities

CapabilityAccessWho runs itSurfacesServed
approvals:approveRequestWritesHuman gateapi cli webNo
approvals:getApprovalRequestReadsAgentapi cli mcpYes
approvals:listApprovalRequestsReadsAgentapi cli mcpYes
approvals:rejectRequestWritesHuman gateapi cli webNo
approvals:requestApprovalWritesAgentapi cli mcpYes
approvals:withdrawRequestWritesAgentapi cli mcpYes

campaigns

7 capabilities

CapabilityAccessWho runs itSurfacesServed
campaigns:approveCampaignWritesHuman gateapi cli mcp webYes
campaigns:draftCampaignWritesAgentapi cli mcpYes
campaigns:getAdapterReadsAgentapi cli mcpYes
campaigns:getCampaignReadsAgentapi cli mcpYes
campaigns:launchCampaignWritesHuman gateapi cli mcp webYes
campaigns:listCampaignsReadsAgentapi cli mcpYes
campaigns:setupAdapterWritesHuman gateapi cli mcp webYes

discovery

3 capabilities

CapabilityAccessWho runs itSurfacesServed
discovery:getResultPageReadsAgentapi cli mcpNo
discovery:listCreatorRecordsReadsAgentapi cli mcpNo
discovery:listRunsReadsAgentapi cli mcpNo

partners

3 capabilities

CapabilityAccessWho runs itSurfacesServed
partners:grantAccessWritesHuman gateapi cli mcpYes
partners:revokeGrantWritesAgentapi cli mcpYes
partners:setGuardrailWritesAgentapi cli mcpYes

runtime

3 capabilities

CapabilityAccessWho runs itSurfacesServed
runtime:closeHeldEventWritesHuman gateapi cli mcpYes
runtime:listHeldEventsReadsAgentapi cli mcpYes
runtime:replayHeldEventWritesHuman gateapi cli mcpYes

ticket1

1 capability

CapabilityAccessWho runs itSurfacesServed
ticket1:getWorkspaceConfigReadsAgentapi cli mcpYes

ticket10

3 capabilities

CapabilityAccessWho runs itSurfacesServed
ticket10:ingestStripeEventWritesAgentapi cli mcpYes
ticket10:invokeStripeWritesAgentapi cli mcpYes
ticket10:queryIngestionStateReadsAgentapi cli mcp readYes

ticket11

1 capability

CapabilityAccessWho runs itSurfacesServed
ticket11:queryPartnerBalanceReadsAgentapi cli mcp readYes

ticket12

1 capability

CapabilityAccessWho runs itSurfacesServed
ticket12:queryReconciliationReportReadsAgentapi cli mcp readYes

ticket13

2 capabilities

CapabilityAccessWho runs itSurfacesServed
ticket13:commitCutoverWritesHuman gateapi cli mcpYes
ticket13:queryCutoverStateReadsAgentapi cli mcp readYes

ticket15

5 capabilities

CapabilityAccessWho runs itSurfacesServed
ticket15:assignReferralCodeWritesHuman gateapi cli mcpYes
ticket15:publishReferralLinkWritesAgentapi cli mcpYes
ticket15:queryReferralClicksReadsAgentapi cli mcp readYes
ticket15:resolveAndRecordClickWritesAgentapi cli mcpYes
ticket15:revokeReferralLinkWritesAgentapi cli mcpYes

ticket16

3 capabilities

CapabilityAccessWho runs itSurfacesServed
ticket16:createApiKeyWritesHuman gateapi cli webYes
ticket16:listApiKeysReadsAgentapi cli mcp readYes
ticket16:revokeApiKeyWritesAgentapi cli mcpYes

ticket17

2 capabilities

CapabilityAccessWho runs itSurfacesServed
ticket17:invitePartnerFromCrispyWritesAgentapi cli mcpYes
ticket17:readPartnerEarningsReadsAgentapi cli mcpYes

ticket18

3 capabilities

CapabilityAccessWho runs itSurfacesServed
ticket18:getWorkspaceReadsAgentapi cli mcp readYes
ticket18:issueWorkspaceKeyWritesHuman gateapi cli webYes
ticket18:listWorkspacesReadsAgentapi cli mcp readYes

ticket19

8 capabilities

CapabilityAccessWho runs itSurfacesServed
ticket19:bindReferrerWritesAgentapi cli mcpYes
ticket19:compareShadowCreditsReadsAgentapi cli mcp readYes
ticket19:issueCustomerCodeWritesAgentapi cli mcpYes
ticket19:queryReferralStateReadsAgentapi cli mcp readYes
ticket19:recordCustomerIdentityWritesAgentapi cli mcpYes
ticket19:recordCustomerPaymentWritesAgentapi cli mcpYes
ticket19:recordCustomerRefundWritesAgentapi cli mcpYes
ticket19:recordInvoicePaymentLinkWritesAgentapi cli mcpYes

ticket4

7 capabilities

CapabilityAccessWho runs itSurfacesServed
ticket4:acceptStandardTermsWritesHuman gateapi cli mcp webYes
ticket4:completeOnboardingWritesAgentapi cli mcpYes
ticket4:configureProgramWritesAgentapi cli mcpYes
ticket4:createProgramWritesAgentapi cli mcpYes
ticket4:getProgramReadsAgentapi cli mcpYes
ticket4:getRelationshipReadsAgentapi cli mcpYes
ticket4:invitePartnerWritesAgentapi cli mcpYes

ticket5

6 capabilities

CapabilityAccessWho runs itSurfacesServed
ticket5:evaluateAttributionReadsAgentapi cli mcpYes
ticket5:issueCouponWritesAgentapi cli mcpYes
ticket5:issueReferralLinkWritesAgentapi cli mcpYes
ticket5:queryCouponReadsAgentapi cli mcpYes
ticket5:queryReferralLinkReadsAgentapi cli mcpYes
ticket5:readReferralProjectionReadsAgentapi cli mcp readYes

ticket6

20 capabilities

CapabilityAccessWho runs itSurfacesServed
ticket6:activatePartnerOverrideWritesHuman gateapi cli mcp webNo
ticket6:activateRulebookVersionWritesHuman gateapi cli mcp webYes
ticket6:applyPartnerGroupTermsWritesAgentapi cli mcpNo
ticket6:approveCommissionWritesHuman gateapi cli mcp webYes
ticket6:approveCommissionsWritesHuman gateapi cli mcp webYes
ticket6:changePartnerGroupMembersWritesAgentapi cli mcpNo
ticket6:configureCommissionPolicyWritesHuman gateapi cli mcp webYes
ticket6:createPartnerGroupWritesAgentapi cli mcpNo
ticket6:draftPartnerOverrideWritesAgentapi cli mcpNo
ticket6:draftRulebookVersionWritesAgentapi cli mcpYes
ticket6:ingestSourceEventWritesAgentapi cli mcpYes
ticket6:queryCommissionPoliciesReadsAgentapi cli mcp readYes
ticket6:queryPartnerGroupsReadsAgentapi cli mcp readNo
ticket6:queryPartnerOverrideReadsAgentapi cli mcp readNo
ticket6:queryPendingAccrualsReadsAgentapi cli mcp readYes
ticket6:queryRulebookReadsAgentapi cli mcp readYes
ticket6:readLedgerReadsAgentapi cli mcp readYes
ticket6:readPartnerProgressReadsAgentapi cli mcp readNo
ticket6:rejectCommissionWritesHuman gateapi cli mcp webYes
ticket6:rejectCommissionsWritesHuman gateapi cli mcp webYes

ticket7

8 capabilities

CapabilityAccessWho runs itSurfacesServed
ticket7:createManualCorrectionWritesHuman gateapi cli mcp webYes
ticket7:explainEntriesReadsAgentapi cli mcp readYes
ticket7:queryBalancesReadsAgentapi cli mcp readYes
ticket7:queryPayoutStatementReadsAgentapi cli mcp readYes
ticket7:recordCarriedDebtRecoveryWritesHuman gateapi cli mcp webYes
ticket7:recordDisputeTransitionWritesHuman gateapi cli mcp webYes
ticket7:recordPayoutReceiptWritesHuman gateapi cli mcp webYes
ticket7:recordStatementPayoutWritesHuman gateapi cli mcp webYes

Notes

  • A request body larger than 1 MiB is refused.
  • Every response carries cache-control: no-store.
  • A wrong method on the endpoint returns 405 with an Allow header.

Partner programs on Stripe, run by agents. People approve the money.

Get started