[{"data":1,"prerenderedAt":129},["ShallowReactive",2],{"$f4r05ebyegxkw":3},{"plans":4,"sizes":38,"errors":72},[5,9,12,16,19,22,26,28,32,35],{"what":6,"free":7,"pro":8},"Saved charts","5","No limit",{"what":10,"free":11,"pro":11},"Requests a minute","60",{"what":13,"free":14,"pro":15},"Saved charts rendered as they are, a day","100","2,000",{"what":17,"free":14,"pro":18},"Image renders a month: each different picture from the image calls and image links","1,000",{"what":20,"free":18,"pro":21},"Times a day an account's image links are drawn, counted or not","10,000",{"what":23,"free":24,"pro":25},"chartjuice.com mark on images","Yes","No",{"what":27,"free":25,"pro":24},"Save a brand palette",{"what":29,"free":30,"pro":31},"Website color lookups a day","None","20",{"what":33,"free":34,"pro":34},"API keys","10",{"what":36,"free":37,"pro":37},"Image signing keys","3",[39,42,45,48,51,54,57,60,63,66,69],{"what":40,"limit":41},"Request body","5.5 MB",{"what":43,"limit":44},"A saved chart, data included","4 MB",{"what":46,"limit":47},"Data read from CSV, TSV or JSON","5,000 rows and 50 columns; the rest is left out, and the answer says so. JSON rows with more than 50 different keys between them are refused",{"what":49,"limit":50},"Data after a step","250,000 rows, 500 columns and 1,000,000 values; a step that would make more is refused",{"what":52,"limit":53},"A rendered image","4,000 px on each side, after the scale is applied",{"what":55,"limit":56},"What an image is drawn from","100 series, and about 20,000 bars, points, slices or cells",{"what":58,"limit":59},"Time to draw an image","8 seconds; a chart that takes longer is refused as too complex",{"what":61,"limit":62},"Data carried in an image link","4,000 characters once encoded, about 3,000 characters of CSV",{"what":64,"limit":65},"How long a linked image is kept before it is drawn again","5 minutes, or until the link expires if that is sooner",{"what":67,"limit":68},"Requests to one account's image links","600 a minute; after that its links show \"Chart unavailable\" until the minute ends",{"what":70,"limit":71},"Requests with a key that is not valid, or image links that do not verify","30 a minute from one network; after that, requests from it without a valid key or link wait out the minute",[73,78,82,87,92,97,102,106,111,116,120,124],{"code":74,"status":75,"meaning":76,"fix":77},"invalid_request",400,"Something in the request is wrong: a field is missing or misspelled, a value is out of range, the body isn't JSON, or the chart can't be drawn as an image because it is too large or has too much in it. The message says which.","Fix what the message names and send the request again. Unknown fields are refused, so check spelling.",{"code":79,"status":75,"meaning":80,"fix":81},"invalid_ops","One of the ops you sent isn't valid, so none of them were applied and the chart is unchanged. The message says which op and why, and lists the columns you can use when a column id is wrong.","Correct that op and send the whole list again. [Chart edits](\u002Fdocs\u002Fops\u002F) has every op and its fields.",{"code":83,"status":84,"meaning":85,"fix":86},"unauthorized",401,"The request has no API key or access token, or it isn't one we know. A revoked key gets this answer too, and so does the token of an app you disconnected.","Send your key in the Authorization header, as \"Bearer\" followed by the key. If the key was revoked or lost, create a new one on your [account page](\u002Faccount). If an assistant you connected by signing in gets this, [connect it again](\u002Fdocs\u002Fmcp\u002F).",{"code":88,"status":89,"meaning":90,"fix":91},"forbidden_plan",403,"This needs the Pro plan. Saving a brand palette and reading colors from a website are Pro features.","Upgrade the account to Pro, or leave this step out. [Pricing](\u002Fpricing\u002F) has the plans.",{"code":93,"status":94,"meaning":95,"fix":96},"not_found",404,"There's no chart with that id in this account, or no endpoint at that address. A chart in someone else's account gets this answer too.","[List your charts](\u002Fdocs\u002Fapi\u002F#list_charts) to get the ids you can use, and check the address against the [endpoint reference](\u002Fdocs\u002Fapi\u002F).",{"code":98,"status":99,"meaning":100,"fix":101},"conflict",409,"The chart changed after you last read it, so your edit was not applied. This happens when you send expected_updated_at and someone has saved the chart since, in the editor or through the API.","[Get the chart](\u002Fdocs\u002Fapi\u002F#get_chart) again, look at what changed, and send your edit with the new updated_at.",{"code":103,"status":99,"meaning":104,"fix":105},"chart_limit_reached","The account is on the Free plan and already has as many saved charts as Free allows, so a new chart or a copy cannot be saved. Charts it already has can still be edited.","Delete a chart you no longer need, or upgrade to Pro for unlimited saved charts.",{"code":107,"status":108,"meaning":109,"fix":110},"too_large",413,"The request body is too big to read, or the chart would be too big to save once the change is made.","Send fewer rows or columns. To chart a large file, total it or filter it first.",{"code":112,"status":113,"meaning":114,"fix":115},"rate_limited",429,"Too many requests in a short time. The usual cause is passing the requests-a-minute limit. Too many requests with a bad key from one network, too many website color lookups in a day, or too many images being drawn at the same moment give the same answer. So does an image link when the links of its account are asked for far more often than readers would ask.","Wait the number of seconds in the Retry-After header, then try again. Space requests out if this happens often.",{"code":117,"status":113,"meaning":118,"fix":119},"render_limit_reached","The account has rendered as many images today as its plan allows. The count starts again at midnight UTC.","Wait the number of seconds in the Retry-After header, or upgrade to Pro for a higher daily allowance.",{"code":121,"status":113,"meaning":122,"fix":123},"image_limit_reached","The account has used its image renders for this calendar month, and the image asked for is one it has not drawn this month. The image API counts each different picture once a month, whether it is a chart drawn from a definition, a saved chart drawn with new data or an image link. It is one count for the account that owns the plan: teammates on a Pro seat share it. The count starts again on the 1st of the month, UTC, and the message names the day.","Wait for the 1st, or upgrade to Pro for a larger monthly allowance. Pictures already counted this month can still be drawn. Rendering a saved chart as it is has its own daily count and still works. [Chart images](\u002Fdocs\u002Fimages\u002F) explains how renders are counted.",{"code":125,"status":126,"meaning":127,"fix":128},"internal",500,"Something went wrong on our side. The request was not carried out, or we could not confirm that it was.","Try again in a moment. If it keeps happening, write to support@chartjuice.com and say what you were doing.",1791741570991]