{"openapi":"3.1.0","info":{"title":"Una Launch Sandbox Integration API","version":"2026-10-17","description":"Implemented external sandbox API only. Live access and outbound webhook delivery are unavailable. Monetary values are integer minor-unit strings. Use merchant dashboard for product creation and key management."},"servers":[{"url":"https://api.unalaunch.com","description":"Sandbox integration only"}],"components":{"securitySchemes":{"SandboxKey":{"type":"http","scheme":"bearer","bearerFormat":"una_test_…","description":"Keep the scoped key server-side. Create, rotate and revoke from the merchant dashboard."}},"schemas":{"ProductId":{"type":"string","format":"uuid"}}},"paths":{"/api/v1/integration/ping":{"get":{"operationId":"ChecksandboxAPIaccess","summary":"Check sandbox API access","description":"Returns merchant identifier, environment and key scopes. The endpoint does not require a specific scope beyond a valid active sandbox key. Required scope: any active key scope.","tags":["Sandbox"],"security":[{"SandboxKey":[]}],"responses":{"200":{"description":"Sandbox response","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"merchantId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"scopes":{"type":"array","items":{"type":"string"}},"environment":{"type":"string","const":"SANDBOX"},"liveEnabled":{"type":"boolean","const":false}},"required":["merchantId","scopes","environment","liveEnabled"],"additionalProperties":false},"example":{"merchantId":"11111111-1111-4111-8111-111111111111","scopes":["checkout:links"],"environment":"SANDBOX","liveEnabled":false}}}},"400":{"description":"Invalid request"},"401":{"description":"Invalid, expired or revoked API key"},"403":{"description":"Scope or sandbox access unavailable"},"404":{"description":"Owned published product not found"},"429":{"description":"Rate limit exceeded"}}}},"/api/v1/integration/products":{"get":{"operationId":"Listyourproducts","summary":"List your products","description":"Returns up to 50 tenant-owned catalog identities: id, publicCode, status, currency and version. Product content and prices are managed in the dashboard; this endpoint does not return them. Required scope: catalog:read.","tags":["Sandbox"],"security":[{"SandboxKey":[]}],"responses":{"200":{"description":"Sandbox response","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"publicCode":{"type":"string"},"status":{"type":"string"},"currency":{"type":"string"},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","publicCode","status","currency","version"],"additionalProperties":false}},"example":[{"id":"11111111-1111-4111-8111-111111111111","publicCode":"AbCdEfGh1234","status":"PUBLISHED","currency":"USD","version":1}]}}},"400":{"description":"Invalid request"},"401":{"description":"Invalid, expired or revoked API key"},"403":{"description":"Scope or sandbox access unavailable"},"404":{"description":"Owned published product not found"},"429":{"description":"Rate limit exceeded"}}}},"/api/v1/integration/orders":{"get":{"operationId":"Listyourorders","summary":"List your orders","description":"Returns up to 50 tenant-owned sandbox orders with integer minor-unit amount strings. Required scope: orders:read.","tags":["Sandbox"],"security":[{"SandboxKey":[]}],"responses":{"200":{"description":"Sandbox response","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"productId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"state":{"type":"string"},"currency":{"type":"string"},"amountMinor":{"type":"string","pattern":"^\\d+$"},"refundedMinor":{"type":"string","pattern":"^\\d+$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","productId","state","currency","amountMinor","refundedMinor","createdAt"],"additionalProperties":false}},"example":[{"id":"22222222-2222-4222-8222-222222222222","productId":"11111111-1111-4111-8111-111111111111","state":"PAID","currency":"USD","amountMinor":"1000","refundedMinor":"0","createdAt":"2026-10-17T12:00:00.000Z"}]}}},"400":{"description":"Invalid request"},"401":{"description":"Invalid, expired or revoked API key"},"403":{"description":"Scope or sandbox access unavailable"},"404":{"description":"Owned published product not found"},"429":{"description":"Rate limit exceeded"}}}},"/api/v1/integration/checkout-links":{"post":{"operationId":"Getreusablehostedproductlinks","summary":"Get reusable hosted product links","description":"Product must be published and belong to the API key's merchant. Returns productUrl and checkoutUrl. This returns a reusable link, not a short-lived session and does not charge or lock a price. Required scope: checkout:links.","tags":["Sandbox"],"security":[{"SandboxKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"productId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["productId"],"additionalProperties":false}}}},"responses":{"201":{"description":"Published product URLs returned; no payment initiated","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"productId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"productUrl":{"type":"string","format":"uri"},"checkoutUrl":{"type":"string","format":"uri"},"environment":{"type":"string","const":"SANDBOX"},"note":{"type":"string"}},"required":["productId","productUrl","checkoutUrl","environment","note"],"additionalProperties":false},"example":{"productId":"11111111-1111-4111-8111-111111111111","productUrl":"https://merchant.unalaunch.com/p/AbCdEfGh1234","checkoutUrl":"https://merchant.unalaunch.com/checkout/11111111-1111-4111-8111-111111111111","environment":"SANDBOX","note":"The hosted checkout calculates the price and creates the order. No charge was initiated."}}}},"400":{"description":"Invalid request"},"401":{"description":"Invalid, expired or revoked API key"},"403":{"description":"Scope or sandbox access unavailable"},"404":{"description":"Owned published product not found"},"429":{"description":"Rate limit exceeded"}}}}}}