openapi: 3.2.0 info: title: Hilt Testing API description: Hilt Pay Workspace and Hilt Pay API routes for zero-custody Solana checkout, MPP metered payment channels, receipts, memberships, entitlements, native subscriptions, webhooks, and support context. version: 1.0.0 contact: name: Hilt url: https://www.hilt.so email: hello@hilt.so x-guidance: Start with POST /v1/access/agent-bootstrap. An agent can purchase 30 days of Starter, Growth, or Scale through the matching x402 V2 activation endpoint paid in Solana USDC. For metered integrations, settle PAYMENT-SIGNATURE through POST /v1/access/x402/settle and atomically consume through POST /v1/access/entitlements/consume before serving. Never send private keys, seed phrases, or wallet secrets. servers: - url: https://api.hilt.so tags: - name: Testing paths: /v1/testing/scenarios: get: tags: - Testing summary: List supported sandbox scenarios operationId: sandbox_scenarios_v1_testing_scenarios_get responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/SandboxScenariosResponse' /v1/testing/sessions: post: tags: - Testing summary: Create a simulated Hilt sandbox session operationId: create_sandbox_session_v1_testing_sessions_post requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SandboxSessionCreateRequest' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/TestingSandboxCreateResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' get: tags: - Testing summary: List recent simulated sandbox sessions operationId: list_sandbox_sessions_v1_testing_sessions_get parameters: - name: limit in: query required: false schema: type: integer maximum: 100 minimum: 1 default: 20 title: Limit responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/TestingSandboxListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/testing/sessions/{session_id}: get: tags: - Testing summary: Get a simulated sandbox session operationId: get_sandbox_session_v1_testing_sessions__session_id__get parameters: - name: session_id in: path required: true schema: type: string title: Session Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/TestingSandboxDetailResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' components: schemas: WebhookEvent: properties: id: type: string title: Id event_type: type: string title: Event Type event_version: type: string title: Event Version source_type: type: string title: Source Type source_id: type: string title: Source Id product_id: anyOf: - type: string - type: 'null' title: Product Id payment_id: anyOf: - type: string - type: 'null' title: Payment Id membership_id: anyOf: - type: string - type: 'null' title: Membership Id receipt_id: anyOf: - type: string - type: 'null' title: Receipt Id support_ticket_id: anyOf: - type: string - type: 'null' title: Support Ticket Id created_at: anyOf: - type: string - type: 'null' title: Created At payload: type: object title: Payload deliveries: anyOf: - items: $ref: '#/components/schemas/WebhookDelivery' type: array - type: 'null' title: Deliveries additionalProperties: true type: object required: - id - event_type - event_version - source_type - source_id - product_id - payment_id - membership_id - receipt_id - support_ticket_id - created_at - payload title: WebhookEvent SandboxScenario: properties: id: type: string title: Id title: type: string title: Title summary: type: string title: Summary events: items: type: string type: array title: Events additionalProperties: true type: object required: - id - title - summary - events title: SandboxScenario SandboxSessionCreateRequest: properties: scenario: type: string maxLength: 80 minLength: 2 title: Scenario product_id: anyOf: - type: string - type: 'null' title: Product Id amount_minor_units: anyOf: - type: integer minimum: 1 - type: 'null' title: Amount Minor Units payer_wallet: anyOf: - type: string maxLength: 160 - type: 'null' title: Payer Wallet identity_display: anyOf: - type: string maxLength: 160 - type: 'null' title: Identity Display type: object required: - scenario title: SandboxSessionCreateRequest SandboxScenariosResponse: properties: scenarios: items: $ref: '#/components/schemas/SandboxScenario' type: array title: Scenarios count: type: integer title: Count additionalProperties: true type: object required: - scenarios - count title: SandboxScenariosResponse TestingSandboxSession: properties: id: type: string title: Id owner_id: type: string title: Owner Id product_id: anyOf: - type: string - type: 'null' title: Product Id scenario: type: string title: Scenario status: type: string title: Status fake_payment_id: anyOf: - type: string - type: 'null' title: Fake Payment Id fake_membership_id: anyOf: - type: string - type: 'null' title: Fake Membership Id fake_receipt_id: anyOf: - type: string - type: 'null' title: Fake Receipt Id fake_support_ticket_id: anyOf: - type: string - type: 'null' title: Fake Support Ticket Id event_count: type: integer title: Event Count delivery_count: type: integer title: Delivery Count request: type: object title: Request timeline: anyOf: - items: type: object type: array - type: 'null' title: Timeline created_at: anyOf: - type: string - type: 'null' title: Created At updated_at: anyOf: - type: string - type: 'null' title: Updated At additionalProperties: true type: object required: - id - owner_id - product_id - scenario - status - fake_payment_id - fake_membership_id - fake_receipt_id - fake_support_ticket_id - event_count - delivery_count - request - created_at - updated_at title: TestingSandboxSession TestingSandboxListResponse: properties: sessions: items: $ref: '#/components/schemas/TestingSandboxSession' type: array title: Sessions count: type: integer title: Count generated_at: type: string title: Generated At additionalProperties: true type: object required: - sessions - count - generated_at title: TestingSandboxListResponse ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type input: title: Input ctx: type: object title: Context type: object required: - loc - msg - type title: ValidationError HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError TestingSandboxDetailResponse: properties: session: $ref: '#/components/schemas/TestingSandboxSession' supported_scenarios: items: $ref: '#/components/schemas/SandboxScenario' type: array title: Supported Scenarios additionalProperties: true type: object required: - session - supported_scenarios title: TestingSandboxDetailResponse WebhookDelivery: properties: id: type: integer title: Id event_id: type: string title: Event Id endpoint_id: type: string title: Endpoint Id owner_id: type: string title: Owner Id status: type: string title: Status attempt_count: type: integer title: Attempt Count last_attempt_at: anyOf: - type: string - type: 'null' title: Last Attempt At next_attempt_at: anyOf: - type: string - type: 'null' title: Next Attempt At delivered_at: anyOf: - type: string - type: 'null' title: Delivered At response_status: anyOf: - type: integer - type: 'null' title: Response Status response_body: anyOf: - type: string - type: 'null' title: Response Body last_error: anyOf: - type: string - type: 'null' title: Last Error created_at: anyOf: - type: string - type: 'null' title: Created At updated_at: anyOf: - type: string - type: 'null' title: Updated At event_type: anyOf: - type: string - type: 'null' title: Event Type endpoint_label: anyOf: - type: string - type: 'null' title: Endpoint Label url: anyOf: - type: string - type: 'null' title: Url product_id: anyOf: - type: string - type: 'null' title: Product Id payment_id: anyOf: - type: string - type: 'null' title: Payment Id membership_id: anyOf: - type: string - type: 'null' title: Membership Id receipt_id: anyOf: - type: string - type: 'null' title: Receipt Id support_ticket_id: anyOf: - type: string - type: 'null' title: Support Ticket Id additionalProperties: true type: object required: - id - event_id - endpoint_id - owner_id - status - attempt_count - last_attempt_at - next_attempt_at - delivered_at - response_status - response_body - last_error - created_at - updated_at title: WebhookDelivery TestingSandboxCreateResponse: properties: session: $ref: '#/components/schemas/TestingSandboxSession' scenario: $ref: '#/components/schemas/SandboxScenario' emitted_events: items: $ref: '#/components/schemas/WebhookEvent' type: array title: Emitted Events delivery_results: items: type: object type: array title: Delivery Results supported_events: items: type: string type: array title: Supported Events additionalProperties: true type: object required: - session - scenario - emitted_events - delivery_results - supported_events title: TestingSandboxCreateResponse x-hilt-agent-commerce: offer: https://api.hilt.so/v1/agent-commerce/offer catalog: https://api.hilt.so/agent-catalog.json pricing: https://api.hilt.so/pricing x402: https://api.hilt.so/x402