[{"data":1,"prerenderedAt":1100},["ShallowReactive",2],{"api-errors":3},{"article":4,"sections":1064,"prevSection":1090,"nextSection":1094},{"id":5,"title":6,"avatar":7,"body":8,"description":1056,"docx":7,"extension":1057,"meta":1058,"navigation":741,"order":772,"path":1059,"pdf":7,"pdfLabel":7,"procurementPack":7,"seo":1060,"slug":1061,"stem":1062,"__hash__":1063},"content\u002Fapi\u002Ferrors.md","Errors",null,{"type":9,"value":10,"toc":1031},"minimark",[11,16,20,25,28,95,99,199,203,208,248,252,290,294,332,336,374,378,422,426,430,473,484,488,531,540,544,587,596,600,643,651,655,698,708,712,720,781,785,862,866,970,974,1027],[12,13,15],"h1",{"id":14},"error-handling","Error Handling",[17,18,19],"p",{},"The HeadshotPro API uses conventional HTTP status codes and returns consistent error objects.",[21,22,24],"h2",{"id":23},"error-response-format","Error Response Format",[17,26,27],{},"All errors return a JSON object with the following structure:",[29,30,35],"pre",{"className":31,"code":32,"language":33,"meta":34,"style":34},"language-json shiki shiki-themes dark-plus","{\n  \"success\": false,\n  \"error\": \"Human-readable error message\",\n  \"code\": \"MACHINE_READABLE_CODE\"\n}\n","json","",[36,37,38,47,64,78,89],"code",{"__ignoreMap":34},[39,40,43],"span",{"class":41,"line":42},"line",1,[39,44,46],{"class":45},"sTNBD","{\n",[39,48,50,54,57,61],{"class":41,"line":49},2,[39,51,53],{"class":52},"s3F5K","  \"success\"",[39,55,56],{"class":45},": ",[39,58,60],{"class":59},"scz_3","false",[39,62,63],{"class":45},",\n",[39,65,67,70,72,76],{"class":41,"line":66},3,[39,68,69],{"class":52},"  \"error\"",[39,71,56],{"class":45},[39,73,75],{"class":74},"sKc5r","\"Human-readable error message\"",[39,77,63],{"class":45},[39,79,81,84,86],{"class":41,"line":80},4,[39,82,83],{"class":52},"  \"code\"",[39,85,56],{"class":45},[39,87,88],{"class":74},"\"MACHINE_READABLE_CODE\"\n",[39,90,92],{"class":41,"line":91},5,[39,93,94],{"class":45},"}\n",[21,96,98],{"id":97},"http-status-codes","HTTP Status Codes",[100,101,102,115],"table",{},[103,104,105],"thead",{},[106,107,108,112],"tr",{},[109,110,111],"th",{},"Status",[109,113,114],{},"Description",[116,117,118,129,139,149,159,169,179,189],"tbody",{},[106,119,120,126],{},[121,122,123],"td",{},[36,124,125],{},"200",[121,127,128],{},"Success",[106,130,131,136],{},[121,132,133],{},[36,134,135],{},"400",[121,137,138],{},"Bad Request - Invalid parameters or request body",[106,140,141,146],{},[121,142,143],{},[36,144,145],{},"401",[121,147,148],{},"Unauthorized - Invalid or missing API key",[106,150,151,156],{},[121,152,153],{},[36,154,155],{},"402",[121,157,158],{},"Payment Required - Insufficient credits",[106,160,161,166],{},[121,162,163],{},[36,164,165],{},"403",[121,167,168],{},"Forbidden - Feature not enabled or permission denied",[106,170,171,176],{},[121,172,173],{},[36,174,175],{},"404",[121,177,178],{},"Not Found - Resource doesn't exist",[106,180,181,186],{},[121,182,183],{},[36,184,185],{},"429",[121,187,188],{},"Too Many Requests - Rate limit exceeded",[106,190,191,196],{},[121,192,193],{},[36,194,195],{},"500",[121,197,198],{},"Internal Server Error - Something went wrong on our end",[21,200,202],{"id":201},"error-codes","Error Codes",[204,205,207],"h3",{"id":206},"authentication-errors","Authentication Errors",[100,209,210,222],{},[103,211,212],{},[106,213,214,217,220],{},[109,215,216],{},"Code",[109,218,219],{},"HTTP Status",[109,221,114],{},[116,223,224,236],{},[106,225,226,231,233],{},[121,227,228],{},[36,229,230],{},"UNAUTHORIZED",[121,232,145],{},[121,234,235],{},"Missing or invalid API key",[106,237,238,243,245],{},[121,239,240],{},[36,241,242],{},"FORBIDDEN",[121,244,165],{},[121,246,247],{},"API key valid but lacks permission",[204,249,251],{"id":250},"validation-errors","Validation Errors",[100,253,254,264],{},[103,255,256],{},[106,257,258,260,262],{},[109,259,216],{},[109,261,219],{},[109,263,114],{},[116,265,266,278],{},[106,267,268,273,275],{},[121,269,270],{},[36,271,272],{},"INVALID_REQUEST",[121,274,135],{},[121,276,277],{},"Missing required field or invalid format",[106,279,280,285,287],{},[121,281,282],{},[36,283,284],{},"INVALID_EMAIL",[121,286,135],{},[121,288,289],{},"Email address format is invalid",[204,291,293],{"id":292},"resource-errors","Resource Errors",[100,295,296,306],{},[103,297,298],{},[106,299,300,302,304],{},[109,301,216],{},[109,303,219],{},[109,305,114],{},[116,307,308,320],{},[106,309,310,315,317],{},[121,311,312],{},[36,313,314],{},"NOT_FOUND",[121,316,175],{},[121,318,319],{},"Requested resource doesn't exist",[106,321,322,327,329],{},[121,323,324],{},[36,325,326],{},"ALREADY_EXISTS",[121,328,135],{},[121,330,331],{},"Resource already exists (duplicate)",[204,333,335],{"id":334},"business-logic-errors","Business Logic Errors",[100,337,338,348],{},[103,339,340],{},[106,341,342,344,346],{},[109,343,216],{},[109,345,219],{},[109,347,114],{},[116,349,350,362],{},[106,351,352,357,359],{},[121,353,354],{},[36,355,356],{},"INSUFFICIENT_CREDITS",[121,358,155],{},[121,360,361],{},"Organization has insufficient credits",[106,363,364,369,371],{},[121,365,366],{},[36,367,368],{},"ALREADY_DELETED",[121,370,135],{},[121,372,373],{},"Resource was already deleted",[204,375,377],{"id":376},"rate-limiting","Rate Limiting",[100,379,380,390],{},[103,381,382],{},[106,383,384,386,388],{},[109,385,216],{},[109,387,219],{},[109,389,114],{},[116,391,392,404],{},[106,393,394,399,401],{},[121,395,396],{},[36,397,398],{},"RATE_LIMIT_EXCEEDED",[121,400,185],{},[121,402,403],{},"Too many requests in time window",[106,405,406,411,413],{},[121,407,408],{},[36,409,410],{},"INVITE_LIMIT_EXCEEDED",[121,412,185],{},[121,414,415,416,421],{},"Too many pending invites (see ",[417,418,420],"a",{"href":419},"\u002Fapi\u002Frate-limits#invite-limits","Invite Limits",")",[21,423,425],{"id":424},"common-error-scenarios","Common Error Scenarios",[204,427,429],{"id":428},"invalid-api-key","Invalid API Key",[29,431,433],{"className":31,"code":432,"language":33,"meta":34,"style":34},"{\n  \"success\": false,\n  \"error\": \"Invalid API key\",\n  \"code\": \"UNAUTHORIZED\"\n}\n",[36,434,435,439,449,460,469],{"__ignoreMap":34},[39,436,437],{"class":41,"line":42},[39,438,46],{"class":45},[39,440,441,443,445,447],{"class":41,"line":49},[39,442,53],{"class":52},[39,444,56],{"class":45},[39,446,60],{"class":59},[39,448,63],{"class":45},[39,450,451,453,455,458],{"class":41,"line":66},[39,452,69],{"class":52},[39,454,56],{"class":45},[39,456,457],{"class":74},"\"Invalid API key\"",[39,459,63],{"class":45},[39,461,462,464,466],{"class":41,"line":80},[39,463,83],{"class":52},[39,465,56],{"class":45},[39,467,468],{"class":74},"\"UNAUTHORIZED\"\n",[39,470,471],{"class":41,"line":91},[39,472,94],{"class":45},[17,474,475,479,480,483],{},[476,477,478],"strong",{},"Solution:"," Check that your API key is correct and included in the ",[36,481,482],{},"Authorization"," header.",[204,485,487],{"id":486},"insufficient-credits","Insufficient Credits",[29,489,491],{"className":31,"code":490,"language":33,"meta":34,"style":34},"{\n  \"success\": false,\n  \"error\": \"Insufficient credits\",\n  \"code\": \"INSUFFICIENT_CREDITS\"\n}\n",[36,492,493,497,507,518,527],{"__ignoreMap":34},[39,494,495],{"class":41,"line":42},[39,496,46],{"class":45},[39,498,499,501,503,505],{"class":41,"line":49},[39,500,53],{"class":52},[39,502,56],{"class":45},[39,504,60],{"class":59},[39,506,63],{"class":45},[39,508,509,511,513,516],{"class":41,"line":66},[39,510,69],{"class":52},[39,512,56],{"class":45},[39,514,515],{"class":74},"\"Insufficient credits\"",[39,517,63],{"class":45},[39,519,520,522,524],{"class":41,"line":80},[39,521,83],{"class":52},[39,523,56],{"class":45},[39,525,526],{"class":74},"\"INSUFFICIENT_CREDITS\"\n",[39,528,529],{"class":41,"line":91},[39,530,94],{"class":45},[17,532,533,535,536,539],{},[476,534,478],{}," Purchase more credits or check your current balance with ",[36,537,538],{},"GET \u002Forganization\u002Fcredits",".",[204,541,543],{"id":542},"user-already-exists","User Already Exists",[29,545,547],{"className":31,"code":546,"language":33,"meta":34,"style":34},"{\n  \"success\": false,\n  \"error\": \"A user with this email already exists. You can solve this by appending a + to the email address, i.e. user+1@example.com\",\n  \"code\": \"INVALID_REQUEST\"\n}\n",[36,548,549,553,563,574,583],{"__ignoreMap":34},[39,550,551],{"class":41,"line":42},[39,552,46],{"class":45},[39,554,555,557,559,561],{"class":41,"line":49},[39,556,53],{"class":52},[39,558,56],{"class":45},[39,560,60],{"class":59},[39,562,63],{"class":45},[39,564,565,567,569,572],{"class":41,"line":66},[39,566,69],{"class":52},[39,568,56],{"class":45},[39,570,571],{"class":74},"\"A user with this email already exists. You can solve this by appending a + to the email address, i.e. user+1@example.com\"",[39,573,63],{"class":45},[39,575,576,578,580],{"class":41,"line":80},[39,577,83],{"class":52},[39,579,56],{"class":45},[39,581,582],{"class":74},"\"INVALID_REQUEST\"\n",[39,584,585],{"class":41,"line":91},[39,586,94],{"class":45},[17,588,589,591,592,595],{},[476,590,478],{}," Use email aliasing (e.g., ",[36,593,594],{},"user+timestamp@example.com",") or check if the user already has a model.",[204,597,599],{"id":598},"team-not-found","Team Not Found",[29,601,603],{"className":31,"code":602,"language":33,"meta":34,"style":34},"{\n  \"success\": false,\n  \"error\": \"Team not found\",\n  \"code\": \"NOT_FOUND\"\n}\n",[36,604,605,609,619,630,639],{"__ignoreMap":34},[39,606,607],{"class":41,"line":42},[39,608,46],{"class":45},[39,610,611,613,615,617],{"class":41,"line":49},[39,612,53],{"class":52},[39,614,56],{"class":45},[39,616,60],{"class":59},[39,618,63],{"class":45},[39,620,621,623,625,628],{"class":41,"line":66},[39,622,69],{"class":52},[39,624,56],{"class":45},[39,626,627],{"class":74},"\"Team not found\"",[39,629,63],{"class":45},[39,631,632,634,636],{"class":41,"line":80},[39,633,83],{"class":52},[39,635,56],{"class":45},[39,637,638],{"class":74},"\"NOT_FOUND\"\n",[39,640,641],{"class":41,"line":91},[39,642,94],{"class":45},[17,644,645,647,648,539],{},[476,646,478],{}," Verify the team ID by calling ",[36,649,650],{},"GET \u002Forganization\u002Fteams",[204,652,654],{"id":653},"whitelabel-not-enabled","Whitelabel Not Enabled",[29,656,658],{"className":31,"code":657,"language":33,"meta":34,"style":34},"{\n  \"success\": false,\n  \"error\": \"Whitelabel feature not enabled\",\n  \"code\": \"FORBIDDEN\"\n}\n",[36,659,660,664,674,685,694],{"__ignoreMap":34},[39,661,662],{"class":41,"line":42},[39,663,46],{"class":45},[39,665,666,668,670,672],{"class":41,"line":49},[39,667,53],{"class":52},[39,669,56],{"class":45},[39,671,60],{"class":59},[39,673,63],{"class":45},[39,675,676,678,680,683],{"class":41,"line":66},[39,677,69],{"class":52},[39,679,56],{"class":45},[39,681,682],{"class":74},"\"Whitelabel feature not enabled\"",[39,684,63],{"class":45},[39,686,687,689,691],{"class":41,"line":80},[39,688,83],{"class":52},[39,690,56],{"class":45},[39,692,693],{"class":74},"\"FORBIDDEN\"\n",[39,695,696],{"class":41,"line":91},[39,697,94],{"class":45},[17,699,700,702,703,707],{},[476,701,478],{}," Contact ",[417,704,706],{"href":705},"mailto:sales@headshotpro.com","sales@headshotpro.com"," to enable whitelabel for your organization.",[21,709,711],{"id":710},"error-handling-best-practices","Error Handling Best Practices",[204,713,715,716,719],{"id":714},"_1-always-check-success-field","1. Always Check ",[36,717,718],{},"success"," Field",[29,721,725],{"className":722,"code":723,"language":724,"meta":34,"style":34},"language-javascript shiki shiki-themes dark-plus","const response = await fetch(url, options);\nconst data = await response.json();\n\nif (!data.success) {\n  console.error(`API Error: ${data.code} - ${data.error}`);\n  \u002F\u002F Handle error appropriately\n  return;\n}\n\n\u002F\u002F Process successful response\n","javascript",[36,726,727,732,737,743,748,753,759,765,770,775],{"__ignoreMap":34},[39,728,729],{"class":41,"line":42},[39,730,731],{},"const response = await fetch(url, options);\n",[39,733,734],{"class":41,"line":49},[39,735,736],{},"const data = await response.json();\n",[39,738,739],{"class":41,"line":66},[39,740,742],{"emptyLinePlaceholder":741},true,"\n",[39,744,745],{"class":41,"line":80},[39,746,747],{},"if (!data.success) {\n",[39,749,750],{"class":41,"line":91},[39,751,752],{},"  console.error(`API Error: ${data.code} - ${data.error}`);\n",[39,754,756],{"class":41,"line":755},6,[39,757,758],{},"  \u002F\u002F Handle error appropriately\n",[39,760,762],{"class":41,"line":761},7,[39,763,764],{},"  return;\n",[39,766,768],{"class":41,"line":767},8,[39,769,94],{},[39,771,773],{"class":41,"line":772},9,[39,774,742],{"emptyLinePlaceholder":741},[39,776,778],{"class":41,"line":777},10,[39,779,780],{},"\u002F\u002F Process successful response\n",[204,782,784],{"id":783},"_2-handle-specific-error-codes","2. Handle Specific Error Codes",[29,786,788],{"className":722,"code":787,"language":724,"meta":34,"style":34},"if (!data.success) {\n  switch (data.code) {\n    case 'INSUFFICIENT_CREDITS':\n      notifyAdmin('Credits running low');\n      break;\n    case 'RATE_LIMIT_EXCEEDED':\n      await delay(60000); \u002F\u002F Wait 1 minute\n      return retry(request);\n    case 'NOT_FOUND':\n      return null; \u002F\u002F Resource doesn't exist\n    default:\n      throw new Error(data.error);\n  }\n}\n",[36,789,790,794,799,804,809,814,819,824,829,834,839,845,851,857],{"__ignoreMap":34},[39,791,792],{"class":41,"line":42},[39,793,747],{},[39,795,796],{"class":41,"line":49},[39,797,798],{},"  switch (data.code) {\n",[39,800,801],{"class":41,"line":66},[39,802,803],{},"    case 'INSUFFICIENT_CREDITS':\n",[39,805,806],{"class":41,"line":80},[39,807,808],{},"      notifyAdmin('Credits running low');\n",[39,810,811],{"class":41,"line":91},[39,812,813],{},"      break;\n",[39,815,816],{"class":41,"line":755},[39,817,818],{},"    case 'RATE_LIMIT_EXCEEDED':\n",[39,820,821],{"class":41,"line":761},[39,822,823],{},"      await delay(60000); \u002F\u002F Wait 1 minute\n",[39,825,826],{"class":41,"line":767},[39,827,828],{},"      return retry(request);\n",[39,830,831],{"class":41,"line":772},[39,832,833],{},"    case 'NOT_FOUND':\n",[39,835,836],{"class":41,"line":777},[39,837,838],{},"      return null; \u002F\u002F Resource doesn't exist\n",[39,840,842],{"class":41,"line":841},11,[39,843,844],{},"    default:\n",[39,846,848],{"class":41,"line":847},12,[39,849,850],{},"      throw new Error(data.error);\n",[39,852,854],{"class":41,"line":853},13,[39,855,856],{},"  }\n",[39,858,860],{"class":41,"line":859},14,[39,861,94],{},[204,863,865],{"id":864},"_3-implement-retry-logic","3. Implement Retry Logic",[29,867,869],{"className":722,"code":868,"language":724,"meta":34,"style":34},"async function apiRequest(url, options, maxRetries = 3) {\n  for (let attempt = 1; attempt \u003C= maxRetries; attempt++) {\n    const response = await fetch(url, options);\n\n    if (response.status === 429) {\n      const retryAfter = response.headers.get('X-RateLimit-Reset');\n      const waitTime = new Date(retryAfter) - new Date();\n      await delay(waitTime);\n      continue;\n    }\n\n    if (response.status >= 500) {\n      await delay(1000 * attempt); \u002F\u002F Exponential backoff\n      continue;\n    }\n\n    return response.json();\n  }\n  throw new Error('Max retries exceeded');\n}\n",[36,870,871,876,881,886,890,895,900,905,910,915,920,924,929,934,938,943,948,954,959,965],{"__ignoreMap":34},[39,872,873],{"class":41,"line":42},[39,874,875],{},"async function apiRequest(url, options, maxRetries = 3) {\n",[39,877,878],{"class":41,"line":49},[39,879,880],{},"  for (let attempt = 1; attempt \u003C= maxRetries; attempt++) {\n",[39,882,883],{"class":41,"line":66},[39,884,885],{},"    const response = await fetch(url, options);\n",[39,887,888],{"class":41,"line":80},[39,889,742],{"emptyLinePlaceholder":741},[39,891,892],{"class":41,"line":91},[39,893,894],{},"    if (response.status === 429) {\n",[39,896,897],{"class":41,"line":755},[39,898,899],{},"      const retryAfter = response.headers.get('X-RateLimit-Reset');\n",[39,901,902],{"class":41,"line":761},[39,903,904],{},"      const waitTime = new Date(retryAfter) - new Date();\n",[39,906,907],{"class":41,"line":767},[39,908,909],{},"      await delay(waitTime);\n",[39,911,912],{"class":41,"line":772},[39,913,914],{},"      continue;\n",[39,916,917],{"class":41,"line":777},[39,918,919],{},"    }\n",[39,921,922],{"class":41,"line":841},[39,923,742],{"emptyLinePlaceholder":741},[39,925,926],{"class":41,"line":847},[39,927,928],{},"    if (response.status >= 500) {\n",[39,930,931],{"class":41,"line":853},[39,932,933],{},"      await delay(1000 * attempt); \u002F\u002F Exponential backoff\n",[39,935,936],{"class":41,"line":859},[39,937,914],{},[39,939,941],{"class":41,"line":940},15,[39,942,919],{},[39,944,946],{"class":41,"line":945},16,[39,947,742],{"emptyLinePlaceholder":741},[39,949,951],{"class":41,"line":950},17,[39,952,953],{},"    return response.json();\n",[39,955,957],{"class":41,"line":956},18,[39,958,856],{},[39,960,962],{"class":41,"line":961},19,[39,963,964],{},"  throw new Error('Max retries exceeded');\n",[39,966,968],{"class":41,"line":967},20,[39,969,94],{},[204,971,973],{"id":972},"_4-log-errors-for-debugging","4. Log Errors for Debugging",[29,975,977],{"className":722,"code":976,"language":724,"meta":34,"style":34},"if (!data.success) {\n  console.error({\n    timestamp: new Date().toISOString(),\n    endpoint: url,\n    method: options.method,\n    status: response.status,\n    code: data.code,\n    error: data.error\n  });\n}\n",[36,978,979,983,988,993,998,1003,1008,1013,1018,1023],{"__ignoreMap":34},[39,980,981],{"class":41,"line":42},[39,982,747],{},[39,984,985],{"class":41,"line":49},[39,986,987],{},"  console.error({\n",[39,989,990],{"class":41,"line":66},[39,991,992],{},"    timestamp: new Date().toISOString(),\n",[39,994,995],{"class":41,"line":80},[39,996,997],{},"    endpoint: url,\n",[39,999,1000],{"class":41,"line":91},[39,1001,1002],{},"    method: options.method,\n",[39,1004,1005],{"class":41,"line":755},[39,1006,1007],{},"    status: response.status,\n",[39,1009,1010],{"class":41,"line":761},[39,1011,1012],{},"    code: data.code,\n",[39,1014,1015],{"class":41,"line":767},[39,1016,1017],{},"    error: data.error\n",[39,1019,1020],{"class":41,"line":772},[39,1021,1022],{},"  });\n",[39,1024,1025],{"class":41,"line":777},[39,1026,94],{},[1028,1029,1030],"style",{},"html pre.shiki code .sTNBD, html code.shiki .sTNBD{--shiki-default:#D4D4D4}html pre.shiki code .s3F5K, html code.shiki .s3F5K{--shiki-default:#9CDCFE}html pre.shiki code .scz_3, html code.shiki .scz_3{--shiki-default:#569CD6}html pre.shiki code .sKc5r, html code.shiki .sKc5r{--shiki-default:#CE9178}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":34,"searchDepth":49,"depth":49,"links":1032},[1033,1034,1035,1042,1049],{"id":23,"depth":49,"text":24},{"id":97,"depth":49,"text":98},{"id":201,"depth":49,"text":202,"children":1036},[1037,1038,1039,1040,1041],{"id":206,"depth":66,"text":207},{"id":250,"depth":66,"text":251},{"id":292,"depth":66,"text":293},{"id":334,"depth":66,"text":335},{"id":376,"depth":66,"text":377},{"id":424,"depth":49,"text":425,"children":1043},[1044,1045,1046,1047,1048],{"id":428,"depth":66,"text":429},{"id":486,"depth":66,"text":487},{"id":542,"depth":66,"text":543},{"id":598,"depth":66,"text":599},{"id":653,"depth":66,"text":654},{"id":710,"depth":49,"text":711,"children":1050},[1051,1053,1054,1055],{"id":714,"depth":66,"text":1052},"1. Always Check success Field",{"id":783,"depth":66,"text":784},{"id":864,"depth":66,"text":865},{"id":972,"depth":66,"text":973},"API error codes and troubleshooting guide","md",{},"\u002Fapi\u002Ferrors",{"title":6,"description":1056},"errors","api\u002Ferrors","SEJfEV11dH9jjIVnvJ02fx4qBt2CRd-p39nXyD4Ei0E",[1065,1069,1072,1075,1078,1081,1084,1087,1090,1093,1094,1097],{"title":1066,"slug":1067,"order":1068},"API Overview","index",0,{"title":1070,"slug":1071,"order":42},"Authentication","authentication",{"title":1073,"slug":1074,"order":49},"Organization","organization",{"title":1076,"slug":1077,"order":66},"Invites","invites",{"title":1079,"slug":1080,"order":80},"Teams","teams",{"title":1082,"slug":1083,"order":91},"Team Members","team-members",{"title":1085,"slug":1086,"order":755},"Models","models",{"title":1088,"slug":1089,"order":761},"Photos","photos",{"title":1091,"slug":1092,"order":767},"Whitelabel","whitelabel",{"title":6,"slug":1061,"order":772},{"title":1095,"slug":1096,"order":777},"Rate Limits","rate-limits",{"title":1098,"slug":1099,"order":841},"Webhooks","webhooks",1792465015141]