{"openapi":"3.1.0","info":{"title":"Tabzoola instant pricing and delivery API","version":"1.0.0","description":"Free, read-only, no key. Prices custom printed index tab dividers from the same engine as the tabzoola.com designer (setup included) and returns an orderUrl that opens the designer with the build pre-selected for a human to review, approve a free PDF proof, and check out. Nothing is purchased through this API. Minimum order 25 sets. Seller: TABZOOLA, LLC. Tabs are made by its sister company, Anselmo Die & Index, in Schaumburg, Illinois.","contact":{"name":"Tabzoola","url":"https://tabzoola.com","email":"sales@tabzoola.com"}},"servers":[{"url":"https://tabzoola.com"}],"externalDocs":{"description":"llms.txt (plain-language index for AI agents)","url":"https://tabzoola.com/llms.txt"},"paths":{"/api/price":{"get":{"operationId":"quotePrice","summary":"Price a custom tab divider order","description":"With no parameters, returns the capabilities document (products, valid tab counts, orderable set quantities, every option key and choice id). With product, tabs and sets, returns an instant price quote with a per-set price, total, breakdown and orderUrl.","parameters":[{"name":"product","in":"query","required":false,"description":"Tab stock. paper = 90#/110# index, clear or colored Mylar on every tab, optional binding-edge reinforcing; poly = .015 plastic.","schema":{"type":"string","enum":["paper","poly"]}},{"name":"tabs","in":"query","required":false,"description":"Tabs per set. paper: 1-500; poly: 1-500.","schema":{"type":"integer","minimum":1}},{"name":"sets","in":"query","required":false,"description":"Number of identical sets. Minimum 25. The capabilities document lists the quantities the designer offers.","schema":{"type":"integer","minimum":25}},{"name":"material","in":"query","required":false,"description":"Tab Material. Omit for the default. Valid ids — paper: 90, 110 (default 90) | poly: 015 (default 015).","schema":{"type":"string","enum":["90","110","015"]}},{"name":"sided","in":"query","required":false,"description":"Printing. Omit for the default. Valid ids — paper: 1s, 2s (default 1s) | poly: 1s, 2s (default 1s).","schema":{"type":"string","enum":["1s","2s"]}},{"name":"punch","in":"query","required":false,"description":"Hole Punching. Omit for the default. Valid ids — paper: unpunched, 3hole, 2hole (default unpunched) | poly: unpunched, 3hole, 2hole (default unpunched).","schema":{"type":"string","enum":["unpunched","3hole","2hole"]}},{"name":"reinforce","in":"query","required":false,"description":"Edge Reinforcing. Omit for the default. Valid ids — paper: none, reinforced (default none).","schema":{"type":"string","enum":["none","reinforced"]}},{"name":"collation","in":"query","required":false,"description":"Collation. Omit for the default. Valid ids — paper: uncollated, collated (default uncollated) | poly: uncollated, collated (default uncollated).","schema":{"type":"string","enum":["uncollated","collated"]}},{"name":"bodyprint","in":"query","required":false,"description":"Body Printing. Omit for the default. Valid ids — paper: none, 1c (default none) | poly: none, 1c (default none).","schema":{"type":"string","enum":["none","1c"]}},{"name":"ink","in":"query","required":false,"description":"Ink Color. Omit for the default. Valid ids — poly: black, white (default black).","schema":{"type":"string","enum":["black","white"]}},{"name":"labels","in":"query","required":false,"description":"The buyer's tab titles, in order, separated by | (for example Will|Trust|Power of Attorney). When present, the number of titles sets the tabs per set (omit `tabs`), and the returned orderUrl opens the designer with every title typed in for the buyer to review and check out.","schema":{"type":"string"}},{"name":"colorChanges","in":"query","required":false,"description":"Poly only: number of distinct tab colors minus one.","schema":{"type":"integer","minimum":0}}],"responses":{"200":{"description":"A price quote, or the capabilities document when product is omitted.","content":{"application/json":{"schema":{"type":"object","properties":{"product":{"type":"string"},"sets":{"type":"integer"},"tabsPerSet":{"type":"integer"},"price":{"type":"object","properties":{"currency":{"type":"string","example":"USD"},"perSet":{"type":"number"},"total":{"type":"number"},"setupIncluded":{"type":"boolean"}}},"orderUrl":{"type":"string","format":"uri"}}}}}},"400":{"description":"Invalid input. The error message names the valid values.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/api/delivery-date":{"get":{"operationId":"deliveryDate","summary":"Estimated delivery date to a US ZIP","description":"Order now, approve the free PDF proof by 3:00 PM Central, standard production, then the current UPS Ground time in transit from Schaumburg, Illinois 60173. An estimate, not a guarantee.","parameters":[{"name":"zip","in":"query","required":true,"description":"5-digit US ZIP code.","schema":{"type":"string","pattern":"^\\d{5}$"}},{"name":"product","in":"query","required":false,"schema":{"type":"string","enum":["paper","poly"],"default":"paper"}}],"responses":{"200":{"description":"Ship date, delivery date and business days in transit.","content":{"application/json":{"schema":{"type":"object","properties":{"ship_date":{"type":"string","format":"date"},"delivery_date":{"type":"string","format":"date"},"transit_business_days":{"type":"integer"},"method":{"type":"string"},"assumes":{"type":"string"}}}}}},"400":{"description":"zip is not a 5-digit US ZIP."}}}}}}